aboutsummaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2009-06-06 22:39:25 +0000
committerH.J. Lu <hjl.tools@gmail.com>2009-06-06 22:39:25 +0000
commit2a81c24ab145893771d1d64f204af5f864b67f2e (patch)
tree6ad54f8da71960f9ffb53e31e300d04bcac06e88 /ld
parent0e7c7f11f471e3350d50c08fda8e3ddf055940f2 (diff)
downloadgdb-2a81c24ab145893771d1d64f204af5f864b67f2e.zip
gdb-2a81c24ab145893771d1d64f204af5f864b67f2e.tar.gz
gdb-2a81c24ab145893771d1d64f204af5f864b67f2e.tar.bz2
bfd/
2009-06-06 H.J. Lu <hongjiu.lu@intel.com> * elf32-i386.c (elf_i386_link_hash_table): Add irelifunc. (elf_i386_link_hash_table_create): Initialize irelifunc. (elf_i386_check_relocs): Updated. Set up irelifunc for shared objects. (elf_i386_allocate_dynrelocs): Use irelifunc for dynamic relocation for non-GOT reference of STT_GNU_IFUNC symbol in shared objects. (elf_i386_relocate_section): Likewise. * elf64-x86-64.c (elf64_x86_64_link_hash_table): Add irelifunc. (elf64_x86_64_link_hash_table_create): Initialize irelifunc. (elf64_x86_64_check_relocs): Updated. Set up irelifunc for shared objects. (elf64_x86_64_allocate_dynrelocs): Use irelifunc for dynamic relocation for non-GOT reference of STT_GNU_IFUNC symbol in shared objects. (elf64_x86_64_relocate_section): Likewise. * elf-bfd.h (_bfd_elf_create_static_ifunc_sections): Renamed to ... (_bfd_elf_create_ifunc_sections): This. * elflink.c (_bfd_elf_create_static_ifunc_sections): Renamd to ... (_bfd_elf_create_ifunc_sections): This. Create .rel[a].ifunc for shared objects. ld/ 2009-06-06 H.J. Lu <hongjiu.lu@intel.com> * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog4
-rw-r--r--ld/scripttempl/elf.sc2
2 files changed, 6 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index cd05d9d..89016cc 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,7 @@
+2009-06-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * scripttempl/elf.sc: Add .rel.ifunc and .rela.ifunc.
+
2009-06-05 H.J. Lu <hongjiu.lu@intel.com>
* scripttempl/elf.sc: Remove .rel.ifunc.dyn and .rela.ifunc.dyn.
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index 6d7652b..0d6cae9 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -326,6 +326,8 @@ eval $COMBRELOCCAT <<EOF
.rel.bss ${RELOCATING-0} : { *(.rel.bss${RELOCATING+ .rel.bss.* .rel.gnu.linkonce.b.*}) }
.rela.bss ${RELOCATING-0} : { *(.rela.bss${RELOCATING+ .rela.bss.* .rela.gnu.linkonce.b.*}) }
${REL_LARGE}
+ .rel.ifunc ${RELOCATING-0} : { *(.rel.ifunc) }
+ .rela.ifunc ${RELOCATING-0} : { *(.rela.ifunc) }
EOF
if [ -n "$COMBRELOC" ]; then