aboutsummaryrefslogtreecommitdiff
path: root/bfd/ChangeLog
diff options
context:
space:
mode:
authorChristophe Lyon <christophe.lyon@st.com>2018-03-20 10:55:09 +0100
committerChristophe Lyon <christophe.lyon@linaro.org>2018-04-25 20:53:01 +0000
commite8b09b87102504a110f839e67a712094d63dcbab (patch)
treefa39cf95bc6c60f1d8410ff5eea24a4ca3e1b7d5 /bfd/ChangeLog
parent188fd7aea619d9f66a822bad881d8f56892b60aa (diff)
downloadgdb-e8b09b87102504a110f839e67a712094d63dcbab.zip
gdb-e8b09b87102504a110f839e67a712094d63dcbab.tar.gz
gdb-e8b09b87102504a110f839e67a712094d63dcbab.tar.bz2
[ARM] Implement FDPIC relocations.
This is the main BFD patch, that enables the linker to actually handle the FDPIC relocations. 2018-04-25 Christophe Lyon <christophe.lyon@st.com> Mickaël Guêné <mickael.guene@st.com> bfd/ * elf32-arm.c (struct fdpic_local): New. (elf_arm_obj_tdata): Add local_fdpic_cnts field. (elf32_arm_local_fdpic_cnts): New. (struct fdpic_global): New. (elf32_arm_link_hash_entry): Add fdpic_cnts field. (elf32_arm_link_hash_table): Add srofixup field. (arm_elf_add_rofixup): New. (arm_elf_fill_funcdesc): New. (elf32_arm_link_hash_newfunc): Handle fdpic_cnts. (elf32_arm_allocate_local_sym_info): Likewise. (create_got_section): Create .rofixup section. (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts. (bfd_elf32_arm_set_target_params): Handle FDPIC. (elf32_arm_final_link_relocate): Likewise. (elf32_arm_check_relocs): Likewise. (allocate_dynrelocs_for_symbol): Likewise. (elf32_arm_size_dynamic_sections): Likewise. (elf32_arm_finish_dynamic_sections): Likewise. (elf32_arm_output_arch_local_syms): Likewise. (elf32_arm_fdpic_omit_section_dynsym): New. ld/ * emulparams/armelf_linux_fdpiceabi.sh: Add .rofixup section.
Diffstat (limited to 'bfd/ChangeLog')
-rw-r--r--bfd/ChangeLog24
1 files changed, 24 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 9b50933..f8525a2 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,6 +1,30 @@
2018-04-25 Christophe Lyon <christophe.lyon@st.com>
Mickaël Guêné <mickael.guene@st.com>
+ * elf32-arm.c (struct fdpic_local): New.
+ (elf_arm_obj_tdata): Add local_fdpic_cnts field.
+ (elf32_arm_local_fdpic_cnts): New.
+ (struct fdpic_global): New.
+ (elf32_arm_link_hash_entry): Add fdpic_cnts field.
+ (elf32_arm_link_hash_table): Add srofixup field.
+ (arm_elf_add_rofixup): New.
+ (arm_elf_fill_funcdesc): New.
+ (elf32_arm_link_hash_newfunc): Handle fdpic_cnts.
+ (elf32_arm_allocate_local_sym_info): Likewise.
+ (create_got_section): Create .rofixup section.
+ (elf32_arm_copy_indirect_symbol): Handle fdpic_cnts.
+ (bfd_elf32_arm_set_target_params): Handle FDPIC.
+ (elf32_arm_final_link_relocate): Likewise.
+ (elf32_arm_check_relocs): Likewise.
+ (allocate_dynrelocs_for_symbol): Likewise.
+ (elf32_arm_size_dynamic_sections): Likewise.
+ (elf32_arm_finish_dynamic_sections): Likewise.
+ (elf32_arm_output_arch_local_syms): Likewise.
+ (elf32_arm_fdpic_omit_section_dynsym): New.
+
+2018-04-25 Christophe Lyon <christophe.lyon@st.com>
+ Mickaël Guêné <mickael.guene@st.com>
+
* bfd-in2.c (BFD_RELOC_ARM_GOTFUNCDESC)
(BFD_RELOC_ARM_GOTOFFFUNCDESC, BFD_RELOC_ARM_FUNCDESC)
(BFD_RELOC_ARM_FUNCDESC_VALUE): New.