* scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,

.init_array, and .fini_array.
This commit is contained in:
Richard Henderson 2002-03-02 01:25:26 +00:00
parent 30831527a4
commit de77b6ac8b
2 changed files with 23 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2002-03-01 David Mosberger <davidm@hpl.hp.com>
* scripttempl/elf.sc (SECTIONS): Add entries for .preinit_array,
.init_array, and .fini_array.
2002-02-20 Andreas Schwab <schwab@suse.de>
* emulparams/elf64_ia64.sh (OTHER_READONLY_SECTIONS): Don't fold
@ -60,7 +65,7 @@
2002-02-15 Richard Henderson <rth@redhat.com>
* emulparams/elf64alpha.sh (NOP): Adjust for big-endian
* emulparams/elf64alpha.sh (NOP): Adjust for big-endian
definition. Emit a unop+nop pair.
2002-02-15 Hans-Peter Nilsson <hp@bitrange.com>

View File

@ -246,6 +246,23 @@ cat <<EOF
${RELOCATING+${INIT_END}}
} =${NOP-0}
/* Ensure the __preinit_array_start label is properly aligned. We
could instead move the label definition inside the section, but
the linker would then create the section even if it turns out to
be empty, which isn't pretty. */
${RELOCATING+. = ALIGN(${ALIGNMENT})}
${RELOCATING+${CREATE_SHLIB-PROVIDE (__preinit_array_start = .);}}
.preinit_array ${RELOCATING-0} : { *(.preinit_array) }
${RELOCATING+${CREATE_SHLIB-PROVIDE (__preinit_array_end = .);}}
${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_start = .)}};
.init_array ${RELOCATING-0} : { *(.init_array) }
${RELOCATING+${CREATE_SHLIB-PROVIDE (__init_array_end = .);}}
${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_start = .);}}
.fini_array ${RELOCATING-0} : { *(.fini_array) }
${RELOCATING+${CREATE_SHLIB-PROVIDE (__fini_array_end = .);}}
${DATA_PLT-${BSS_PLT-${PLT}}}
.text ${RELOCATING-0} :
{