Fix build problems caused by "_end" -> "__bss_end__" rename
Commit 44c6e65
"rename _end to __bss_end__ broke building of a large
number of systems (at least all PowerPC?):
libstubs.o: In function `app_startup':
examples/standalone/stubs.c:197: undefined reference to `__bss_end__'
The rename should not be done for the files in the
examples/standalone/ directory, as these are not using the code from
start.S, but do their own BSS clearing, and either use their own
linker scripts or the ones provided by the compilers.
Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com>
Signed-off-by: Wolfgang Denk <wd@denx.de>
This commit is contained in:
parent
cb815e5ff9
commit
7ec830d580
@ -55,5 +55,5 @@ SECTIONS
|
|||||||
.sbss (NOLOAD) : { *(.sbss) }
|
.sbss (NOLOAD) : { *(.sbss) }
|
||||||
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
|
.bss (NOLOAD) : { *(.bss) . = ALIGN(4); }
|
||||||
|
|
||||||
__bss_end__ = .;
|
_end = .;
|
||||||
}
|
}
|
||||||
|
@ -57,5 +57,5 @@ SECTIONS
|
|||||||
}
|
}
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__bss_end = .;
|
__bss_end = .;
|
||||||
__bss_end__ = .;
|
_end = .;
|
||||||
}
|
}
|
||||||
|
@ -187,14 +187,14 @@ void __attribute__((unused)) dummy(void)
|
|||||||
#include <_exports.h>
|
#include <_exports.h>
|
||||||
}
|
}
|
||||||
|
|
||||||
extern unsigned long __bss_start, __bss_end__;
|
extern unsigned long __bss_start, _end;
|
||||||
|
|
||||||
void app_startup(char * const *argv)
|
void app_startup(char * const *argv)
|
||||||
{
|
{
|
||||||
unsigned char * cp = (unsigned char *) &__bss_start;
|
unsigned char * cp = (unsigned char *) &__bss_start;
|
||||||
|
|
||||||
/* Zero out BSS */
|
/* Zero out BSS */
|
||||||
while (cp < (unsigned char *)&__bss_end__) {
|
while (cp < (unsigned char *)&_end) {
|
||||||
*cp++ = 0;
|
*cp++ = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user