diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-03-18 18:16:43 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2003-03-18 18:16:43 +0000 |
commit | c4561f251d9b43a720afedb13d11b961e502f2ff (patch) | |
tree | 006bc4b3e91b114047b6e43da81327d27115f17a /c/src/lib/libbsp/powerpc/motorola_powerpc/startup | |
parent | 2003-03-18 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-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/linkcmds | 4 |
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 = .); |