diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2004-10-14 17:00:16 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2004-10-14 17:00:16 +0000 |
commit | 951e9133c443e48655d85973b5d2e8adbbeb1c0d (patch) | |
tree | 38a00e6e1b856c8a55a2bd32f508ea3cc0d2e892 /ld/scripttempl | |
parent | e0255be8fccea5f3911f5f1b1942cb04c723ba12 (diff) | |
download | binutils-951e9133c443e48655d85973b5d2e8adbbeb1c0d.tar.gz binutils-951e9133c443e48655d85973b5d2e8adbbeb1c0d.tar.bz2 binutils-951e9133c443e48655d85973b5d2e8adbbeb1c0d.zip |
2004-10-14 H.J. Lu <hongjiu.lu@intel.com>
PR 445
* emulparams/elf64_ia64.sh (SMALL_DATA_CTOR): Set.
(SMALL_DATA_DTOR): Set.
* emulparams/elf64_ia64_fbsd.sh (SMALL_DATA_CTOR): Unset.
(SMALL_DATA_DTOR): Unset.
* scripttempl/elf.sc: If SMALL_DATA_CTOR is set, move .ctors
after .data. If SMALL_DATA_DTOR is set, move .dtors after
.data.
Diffstat (limited to 'ld/scripttempl')
-rw-r--r-- | ld/scripttempl/elf.sc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index d560f58fe6f..c7311b1f327 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -3,6 +3,8 @@ # NOP - four byte opcode for no-op (defaults to 0) # NO_SMALL_DATA - no .sbss/.sbss2/.sdata/.sdata2 sections if not # empty. +# SMALL_DATA_CTOR - .ctors contains small data. +# SMALL_DATA_DTOR - .dtors contains small data. # DATA_ADDR - if end-of-text-plus-one-page isn't right for data start # INITIAL_READONLY_SECTIONS - at start of text segment # OTHER_READONLY_SECTIONS - other than .text .init .rodata ... @@ -347,8 +349,8 @@ cat <<EOF .fini_array ${RELOCATING-0} : { KEEP (*(.fini_array)) } ${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_end = .);}} - ${RELOCATING+${CTOR}} - ${RELOCATING+${DTOR}} + ${SMALL_DATA_CTOR-${RELOCATING+${CTOR}}} + ${SMALL_DATA_DTOR-${RELOCATING+${DTOR}}} .jcr ${RELOCATING-0} : { KEEP (*(.jcr)) } ${RELOCATING+${DATARELRO}} @@ -372,6 +374,8 @@ cat <<EOF .data1 ${RELOCATING-0} : { *(.data1) } ${WRITABLE_RODATA+${RODATA}} ${OTHER_READWRITE_SECTIONS} + ${SMALL_DATA_CTOR+${RELOCATING+${CTOR}}} + ${SMALL_DATA_DTOR+${RELOCATING+${DTOR}}} ${DATA_PLT+${PLT_BEFORE_GOT+${PLT}}} ${RELOCATING+${OTHER_GOT_SYMBOLS}} ${NO_SMALL_DATA-${GOT}} |