diff options
author | Alan Modra <amodra@gmail.com> | 2015-01-20 17:11:21 +1030 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2015-01-20 19:48:54 +1030 |
commit | 3e2b0f3116a46c8a9a6ffbcb5ae4847b6601467a (patch) | |
tree | 37d5ef4aa1fb3e6f3f47468be1f9ef21905b30f8 /ld | |
parent | 03d5b77300e7f62ba87fb4cd82d4aed83f9a3cd2 (diff) | |
download | gdb-3e2b0f3116a46c8a9a6ffbcb5ae4847b6601467a.zip gdb-3e2b0f3116a46c8a9a6ffbcb5ae4847b6601467a.tar.gz gdb-3e2b0f3116a46c8a9a6ffbcb5ae4847b6601467a.tar.bz2 |
Reorder powerpc64 sections for -z relro
More sections can be read-only after relocation. .opd is an obvious
candidate.
* emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to..
(OTHER_RELRO_SECTIONS_2): ..here, new define.
* scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2.
Diffstat (limited to 'ld')
-rw-r--r-- | ld/ChangeLog | 6 | ||||
-rw-r--r-- | ld/emulparams/elf64ppc.sh | 3 | ||||
-rw-r--r-- | ld/scripttempl/elf.sc | 2 |
3 files changed, 10 insertions, 1 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index ae0b29a..4966045 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,9 @@ +2015-01-20 Alan Modra <amodra@gmail.com> + + * emulparams/elf64ppc.sh (OTHER_READWRITE_SECTIONS): Move .opd to.. + (OTHER_RELRO_SECTIONS_2): ..here, new define. + * scripttempl/elf.sc: Add OTHER_RELRO_SECTIONS_2. + 2015-01-19 Alan Modra <amodra@gmail.com> PR ld/17615 diff --git a/ld/emulparams/elf64ppc.sh b/ld/emulparams/elf64ppc.sh index 355e046..556fbf5 100644 --- a/ld/emulparams/elf64ppc.sh +++ b/ld/emulparams/elf64ppc.sh @@ -37,5 +37,6 @@ OTHER_GOT_RELOC_SECTIONS=" .rela.branch_lt ${RELOCATING-0} : { *(.rela.branch_lt) }" OTHER_READWRITE_SECTIONS=" .toc1 ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.toc1) } - .opd ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) } .branch_lt ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { *(.branch_lt) }" +OTHER_RELRO_SECTIONS_2=" + .opd ${RELOCATING-0} :${RELOCATING+ ALIGN(8)} { KEEP (*(.opd)) }" diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc index b3d95d0..07b0395 100644 --- a/ld/scripttempl/elf.sc +++ b/ld/scripttempl/elf.sc @@ -20,6 +20,7 @@ # (e.g., .PARISC.global) # OTHER_RELRO_SECTIONS - other than .data.rel.ro ... # (e.g. PPC32 .fixup, .got[12]) +# OTHER_RELRO_SECTIONS_2 - as above, but after .dynamic in text segment # OTHER_BSS_SECTIONS - other than .bss .sbss ... # ATTRS_SECTIONS - at the end # OTHER_SECTIONS - at the end @@ -572,6 +573,7 @@ cat <<EOF ${RELOCATING+${DATARELRO}} ${OTHER_RELRO_SECTIONS} ${TEXT_DYNAMIC-${DYNAMIC}} + ${OTHER_RELRO_SECTIONS_2} ${DATA_GOT+${RELRO_NOW+${GOT}}} ${DATA_GOT+${RELRO_NOW+${GOTPLT}}} ${DATA_GOT+${RELRO_NOW-${SEPARATE_GOTPLT+${GOT}}}} |