summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/motorola_powerpc/startup
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2003-03-18 18:16:43 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2003-03-18 18:16:43 +0000
commitc4561f251d9b43a720afedb13d11b961e502f2ff (patch)
tree006bc4b3e91b114047b6e43da81327d27115f17a /c/src/lib/libbsp/powerpc/motorola_powerpc/startup
parent2003-03-18 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-c4561f251d9b43a720afedb13d11b961e502f2ff.tar.bz2
2003-03-18 Till Straumann <strauman@slac.stanford.edu>
PR 356/bsps * bsp_specs, start/Makefile.am, startup/linkcmds This patch makes RTEMS/powerpc/shared EABI compliant. Declare all linker-script defined addresses as variables of unknown size and not as short objects like 'int', 'void*' etc. This prevents the compiler from generating a relocation who assumes the existence of an __rtems_end object in one of the short data areas (which would result in a linker error).
Diffstat (limited to 'c/src/lib/libbsp/powerpc/motorola_powerpc/startup')
-rw-r--r--c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds4
1 files changed, 3 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds b/c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds
index a5e515dc08..0e88c3664e 100644
--- a/c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds
+++ b/c/src/lib/libbsp/powerpc/motorola_powerpc/startup/linkcmds
@@ -53,7 +53,7 @@ SECTIONS
.rela.sdata2 : { *(.rela.sdata2) } > CODE
.rela.sbss2 : { *(.rela.sbss2) } > CODE
- .init : { _init = .; KEEP(*(.init)) } > CODE
+ .init : { KEEP(*(.init)) } > CODE
.text :
{
@@ -97,6 +97,7 @@ SECTIONS
.fini_array : { *(.fini_array) } >CODE
PROVIDE (__fini_array_end = .);
+_SDA2_BASE_ = __SDATA2_START__ + 0x8000;
.sdata2 : { *(.sdata2) *(.gnu.linkonce.s2.*) } >CODE
.sbss2 : { *(.sbss2) *(.gnu.linkonce.sb2.*) } >CODE
.eh_frame : { *.(eh_frame) } >CODE
@@ -191,6 +192,7 @@ SECTIONS
/* We want the small data sections together, so single-instruction offsets
can access them all, and initialized data all before uninitialized, so
we can shorten the on-disk segment size. */
+_SDA_BASE_ = __SDATA_START__ + 0x8000;
.sdata : { *(.sdata) *(.gnu.linkonce.s.*) } >CODE
_edata = .;
PROVIDE (edata = .);