aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog88
1 files changed, 88 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index d1ecdea..4d7bd77 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,93 @@
2016-12-26 Alan Modra <amodra@gmail.com>
+ PR ld/20995
+ * elf-bfd.h (struct elf_link_hash_table): Add sdynrelro and
+ sreldynrelro.
+ (struct elf_backend_data): Add want_dynrelro.
+ * elfxx-target.h (elf_backend_want_dynrelro): Define.
+ (elfNN_bed): Update initializer.
+ * elflink.c (_bfd_elf_create_dynamic_sections): Create
+ sdynrelro and sreldynrelro sections.
+ * elf32-arm.c (elf32_arm_adjust_dynamic_symbol): Place variables
+ copied into the executable from read-only sections into sdynrelro.
+ (elf32_arm_size_dynamic_sections): Handle sdynrelro.
+ (elf32_arm_finish_dynamic_symbol): Select sreldynrelro for
+ dynamic relocs in sdynrelro.
+ (elf_backend_want_dynrelro): Define.
+ * elf32-hppa.c (elf32_hppa_adjust_dynamic_symbol)
+ (elf32_hppa_size_dynamic_sections, elf32_hppa_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-i386.c (elf_i386_adjust_dynamic_symbol)
+ (elf_i386_size_dynamic_sections, elf_i386_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-metag.c (elf_metag_adjust_dynamic_symbol)
+ (elf_metag_size_dynamic_sections, elf_metag_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol)
+ (microblaze_elf_size_dynamic_sections)
+ (microblaze_elf_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-nios2.c (nios2_elf32_finish_dynamic_symbol)
+ (nios2_elf32_adjust_dynamic_symbol)
+ (nios2_elf32_size_dynamic_sections)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-or1k.c (or1k_elf_finish_dynamic_symbol)
+ (or1k_elf_adjust_dynamic_symbol, or1k_elf_size_dynamic_sections)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-ppc.c (ppc_elf_adjust_dynamic_symbol)
+ (ppc_elf_size_dynamic_sections, ppc_elf_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-s390.c (elf_s390_adjust_dynamic_symbol)
+ (elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-tic6x.c (elf32_tic6x_adjust_dynamic_symbol)
+ (elf32_tic6x_size_dynamic_sections)
+ (elf32_tic6x_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf32-tilepro.c (tilepro_elf_adjust_dynamic_symbol)
+ (tilepro_elf_size_dynamic_sections)
+ (tilepro_elf_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf64-ppc.c (ppc64_elf_adjust_dynamic_symbol)
+ (ppc64_elf_size_dynamic_sections, ppc64_elf_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf64-s390.c (elf_s390_adjust_dynamic_symbol)
+ (elf_s390_size_dynamic_sections, elf_s390_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elf64-x86-64.c (elf_x86_64_adjust_dynamic_symbol)
+ (elf_x86_64_size_dynamic_sections)
+ (elf_x86_64_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol)
+ (elfNN_aarch64_size_dynamic_sections)
+ (elfNN_aarch64_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elfnn-riscv.c (riscv_elf_adjust_dynamic_symbol)
+ (riscv_elf_size_dynamic_sections, riscv_elf_finish_dynamic_symbol)
+ (elf_backend_want_dynrelro): As above.
+ * elfxx-mips.c (_bfd_mips_elf_adjust_dynamic_symbol)
+ (_bfd_mips_elf_size_dynamic_sections)
+ (_bfd_mips_vxworks_finish_dynamic_symbol): As above.
+ * elfxx-sparc.c (_bfd_sparc_elf_adjust_dynamic_symbol)
+ (_bfd_sparc_elf_size_dynamic_sections)
+ (_bfd_sparc_elf_finish_dynamic_symbol): As above.
+ * elfxx-tilegx.c (tilegx_elf_adjust_dynamic_symbol)
+ (tilegx_elf_size_dynamic_sections)
+ (tilegx_elf_finish_dynamic_symbol): As above.
+ * elf32-mips.c (elf_backend_want_dynrelro): Define.
+ * elf64-mips.c (elf_backend_want_dynrelro): Define.
+ * elf32-sparc.c (elf_backend_want_dynrelro): Define.
+ * elf64-sparc.c (elf_backend_want_dynrelro): Define.
+ * elf32-tilegx.c (elf_backend_want_dynrelro): Define.
+ * elf64-tilegx.c (elf_backend_want_dynrelro): Define.
+ * elf32-microblaze.c (microblaze_elf_adjust_dynamic_symbol): Tidy.
+ (microblaze_elf_size_dynamic_sections): Handle sdynbss.
+ * elf32-nios2.c (nios2_elf32_size_dynamic_sections): Make use
+ of linker shortcuts to dynamic sections rather than comparing
+ names. Correctly set "got" flag.
+
+2016-12-26 Alan Modra <amodra@gmail.com>
+
* elf-bfd.h (struct elf_link_hash_table): Add sdynbss and srelbss.
* elflink.c (_bfd_elf_create_dynamic_sections): Set them. Create
.rel.bss/.rela.bss for executables, both PIE and non-PIE.