ld: Add OTHER_PLT_SECTIONS
OTHER_PLT_SECTIONS contains sections which should be placed right after .plt section. * emulparams/elf32_x86_64.sh (TINY_READONLY_SECTION): Renamed to ... (OTHER_PLT_SECTIONS): This. * emulparams/elf_i386.sh: Likewise. * emulparams/elf_iamcu.sh: Likewise. * emulparams/elf_x86_64.sh: Likewise. * scripttempl/elf.sc: Place ${OTHER_PLT_SECTIONS} just after .plt.
This commit is contained in:
parent
e3e53eed9c
commit
ce3ad33357
11
ld/ChangeLog
11
ld/ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2017-11-12 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* emulparams/elf32_x86_64.sh (TINY_READONLY_SECTION): Renamed
|
||||
to ...
|
||||
(OTHER_PLT_SECTIONS): This.
|
||||
* emulparams/elf_i386.sh: Likewise.
|
||||
* emulparams/elf_iamcu.sh: Likewise.
|
||||
* emulparams/elf_x86_64.sh: Likewise.
|
||||
* scripttempl/elf.sc: Place ${OTHER_PLT_SECTIONS} just after
|
||||
.plt.
|
||||
|
||||
2017-11-09 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* emultempl/elf32.em (gld${EMULATION_NAME}_get_script): Reformat
|
||||
|
|
|
@ -21,8 +21,8 @@ LARGE_SECTIONS=yes
|
|||
LARGE_BSS_AFTER_BSS=
|
||||
SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
|
||||
IREL_IN_PLT=
|
||||
# Reuse TINY_READONLY_SECTION which is placed right after .plt section.
|
||||
TINY_READONLY_SECTION="
|
||||
# These sections are placed right after .plt section.
|
||||
OTHER_PLT_SECTIONS="
|
||||
.plt.got ${RELOCATING-0} : { *(.plt.got) }
|
||||
.plt.sec ${RELOCATING-0} : { *(.plt.sec) }
|
||||
"
|
||||
|
|
|
@ -17,8 +17,8 @@ GENERATE_PIE_SCRIPT=yes
|
|||
NO_SMALL_DATA=yes
|
||||
SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0"
|
||||
IREL_IN_PLT=
|
||||
# Reuse TINY_READONLY_SECTION which is placed right after .plt section.
|
||||
TINY_READONLY_SECTION="
|
||||
# These sections are placed right after .plt section.
|
||||
OTHER_PLT_SECTIONS="
|
||||
.plt.got ${RELOCATING-0} : { *(.plt.got) }
|
||||
.plt.sec ${RELOCATING-0} : { *(.plt.sec) }
|
||||
"
|
||||
|
|
|
@ -17,8 +17,8 @@ GENERATE_PIE_SCRIPT=yes
|
|||
NO_SMALL_DATA=yes
|
||||
SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 12 ? 12 : 0"
|
||||
IREL_IN_PLT=
|
||||
# Reuse TINY_READONLY_SECTION which is placed right after .plt section.
|
||||
TINY_READONLY_SECTION="
|
||||
# These sections are placed right after .plt section.
|
||||
OTHER_PLT_SECTIONS="
|
||||
.plt.got ${RELOCATING-0} : { *(.plt.got) }
|
||||
"
|
||||
|
||||
|
|
|
@ -21,8 +21,8 @@ LARGE_SECTIONS=yes
|
|||
LARGE_BSS_AFTER_BSS=
|
||||
SEPARATE_GOTPLT="SIZEOF (.got.plt) >= 24 ? 24 : 0"
|
||||
IREL_IN_PLT=
|
||||
# Reuse TINY_READONLY_SECTION which is placed right after .plt section.
|
||||
TINY_READONLY_SECTION="
|
||||
# These sections are placed right after .plt section.
|
||||
OTHER_PLT_SECTIONS="
|
||||
.plt.got ${RELOCATING-0} : { *(.plt.got) }
|
||||
.plt.sec ${RELOCATING-0} : { *(.plt.sec) }
|
||||
"
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
# writeable data sections.
|
||||
# OTHER_GOT_SYMBOLS - symbols defined just before .got.
|
||||
# OTHER_GOT_SECTIONS - sections just after .got.
|
||||
# OTHER_PLT_SECTIONS - sections just after .plt.
|
||||
# OTHER_SDATA_SECTIONS - sections just after .sdata.
|
||||
# OTHER_BSS_SYMBOLS - symbols that appear at the start of the
|
||||
# .bss section besides __bss_start.
|
||||
|
@ -484,7 +485,7 @@ cat <<EOF
|
|||
${RELOCATING+${INIT_END}}
|
||||
} ${FILL}
|
||||
|
||||
${TEXT_PLT+${PLT_NEXT_DATA-${PLT}}}
|
||||
${TEXT_PLT+${PLT_NEXT_DATA-${PLT} ${OTHER_PLT_SECTIONS}}}
|
||||
${TINY_READONLY_SECTION}
|
||||
.text ${RELOCATING-0} :
|
||||
{
|
||||
|
@ -549,7 +550,7 @@ cat <<EOF
|
|||
/* These sections are generated by the Sun/Oracle C++ compiler. */
|
||||
.exception_ranges ${RELOCATING-0} : ONLY_IF_RO { *(.exception_ranges
|
||||
.exception_ranges*) }
|
||||
${TEXT_PLT+${PLT_NEXT_DATA+${PLT}}}
|
||||
${TEXT_PLT+${PLT_NEXT_DATA+${PLT} ${OTHER_PLT_SECTIONS}}}
|
||||
|
||||
/* Adjust the address for the data segment. We want to adjust up to
|
||||
the same address within the page on the next page up. */
|
||||
|
|
Loading…
Reference in New Issue