Browse Source

* scripttempl/armbpabi.sc (VERSION): Make special section symbols

local.
	(Image$$ER_RO$$Base): Define whenever RELOCATING.
	(Image$$ER_RO$$Limit): Likewise.
	(SHT$$INIT_ARRAY$$Base): Likewise.
	(SHT$$INIT_ARRAY$$Limit): Likeise.
binutils-csl-arm-2005q1-branch
Mark Mitchell 22 years ago
parent
commit
4e5db43bfa
  1. 9
      ld/ChangeLog
  2. 34
      ld/scripttempl/armbpabi.sc

9
ld/ChangeLog

@ -1,3 +1,12 @@
2005-02-08 Mark Mitchell <mark@codesourcery.com>
* scripttempl/armbpabi.sc (VERSION): Make special section symbols
local.
(Image$$ER_RO$$Base): Define whenever RELOCATING.
(Image$$ER_RO$$Limit): Likewise.
(SHT$$INIT_ARRAY$$Base): Likewise.
(SHT$$INIT_ARRAY$$Limit): Likeise.
2005-02-10 Ben Elliston <bje@au.ibm.com>
* emultempl/beos.em: Remove #if 0 and #if 1 blocks.

34
ld/scripttempl/armbpabi.sc

@ -134,15 +134,37 @@ ${RELOCATING- /* For some reason, the Solaris linker makes bad executables
at non-zero addresses. Could be a Solaris ld bug, could be a GNU ld
bug. But for now assigning the zero vmas works. */}
/* ARM's proprietary toolchain generate these symbols to match the start
and end of particular sections of the image. SymbianOS uses these
symbols. We provide them for compatibility with ARM's toolchains.
These symbols should be bound locally; each shared object may define
its own version of these symbols. */
VERSION
{
{
local:
Image\$\$ER_RO\$\$Base;
Image\$\$ER_RO\$\$Limit;
SHT\$\$INIT_ARRAY\$\$Base;
SHT\$\$INIT_ARRAY\$\$Limit;
.ARM.exidx\$\$Base;
.ARM.exidx\$\$Limit;
};
}
SECTIONS
{
/* Read-only sections, merged into text segment: */
${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+PROVIDE (__executable_start = ${TEXT_START_ADDR});}}}
/* SymbianOS uses this symbol. */
${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+PROVIDE (Image\$\$ER_RO\$\$Base = ${TEXT_START_ADDR});}}}
${CREATE_SHLIB-${CREATE_PIE-${RELOCATING+ . = ${TEXT_BASE_ADDRESS};}}}
${CREATE_SHLIB+${RELOCATING+. = ${SHLIB_BASE_ADDRESS};}}
${CREATE_PIE+${RELOCATING+. = ${SHLIB_BASE_ADDRESS};}}
/* Define Image\$\$ER_RO\$\$Base. */
${RELOCATING+PROVIDE (Image\$\$ER_RO\$\$Base = .);}
${INITIAL_READONLY_SECTIONS}
EOF
@ -174,8 +196,10 @@ cat <<EOF
${RELOCATING+PROVIDE (__etext = .);}
${RELOCATING+PROVIDE (_etext = .);}
${RELOCATING+PROVIDE (etext = .);}
/* SymbianOS uses this symbol. */
/* Define Image\$\$ER_RO\$\$Limit. */
${RELOCATING+PROVIDE (Image\$\$ER_RO\$\$Limit = .);}
${WRITABLE_RODATA-${RODATA}}
.rodata1 ${RELOCATING-0} : { *(.rodata1) }
${CREATE_SHLIB-${SDATA2}}
@ -196,10 +220,10 @@ cat <<EOF
${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_start = .);}}
/* SymbianOS uses this symbol. */
${RELOCATING+${CREATE_SHLIB-PROVIDE (SHT\$\$INIT_ARRAY\$\$Base = .);}}
${RELOCATING+PROVIDE (SHT\$\$INIT_ARRAY\$\$Base = .);}
.init_array ${RELOCATING-0} : { *(.init_array) }
/* SymbianOS uses this symbol. */
${RELOCATING+${CREATE_SHLIB-PROVIDE (SHT\$\$INIT_ARRAY\$\$Limit = .);}}
${RELOCATING+PROVIDE (SHT\$\$INIT_ARRAY\$\$Limit = .);}
${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_end = .);}}
${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_start = .);}}

Loading…
Cancel
Save