about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2009-05-31 23:45:33 -0700
committerUlrich Drepper <drepper@redhat.com>2009-05-31 23:45:33 -0700
commit74414708355a922a514d5c76183eca6931c4488a (patch)
tree60dd084df2e9f02464f66b0da2068f4561856458 /ChangeLog
parent963cb6fcb47ca212c0c57cc57bd7510f6549579c (diff)
downloadglibc-74414708355a922a514d5c76183eca6931c4488a.tar.gz
glibc-74414708355a922a514d5c76183eca6931c4488a.tar.xz
glibc-74414708355a922a514d5c76183eca6931c4488a.zip
Finish IFUNC support for x86 and x86-64.
Add support for the IRELAIVE relocation and IFUNC in static executables.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog27
1 files changed, 27 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 1de4c0dd4f..65a9fb7b55 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2009-05-29  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* csu/elf-init.c: Include <link.h> and <dl-irel.h> if LIBC_NONSHARED
+	is not defined.
+	(__rela_iplt_start): New declaration.
+	(__rela_iplt_end): Likewise.
+	(__rel_iplt_start): Likewise.
+	(__rel_iplt_end): Likewise.
+	(__libc_csu_init): Process __rela_iplt_start and __rel_iplt_start.
+	* elf/elf.h (R_386_IRELATIVE): New macro.
+	(R_X86_64_IRELATIVE): New macro.
+	(R_386_NUM): Updated.
+	(R_X86_64_NUM): Likewise.
+	* include/libc-symbols.h (libc_ifunc_hidden_def1): New macro.
+	(libc_ifunc_hidden_def): New macro.
+	* sysdeps/generic/dl-irel.h: New file.
+	* sysdeps/i386/dl-irel.h: New file.
+	* sysdeps/x86_64/dl-irel.h: New file.
+	* sysdeps/i386/dl-machine.h (elf_machine_rel): Handle R_386_IRELATIVE.
+	(elf_machine_rela): Check SHN_UNDEF for STT_GNU_IFUNC symbol.
+	Handle R_386_IRELATIVE.
+	(elf_machine_lazy_rel): Handle R_386_IRELATIVE.
+	(elf_machine_lazy_rela): Likewise.
+	* sysdeps/x86_64/dl-machine.h (elf_machine_rela): Handle
+	R_X86_64_IRELATIVE.
+	(elf_machine_lazy_rel): Handle R_X86_64_IRELATIVE.
+
 2009-05-31  Ulrich Drepper  <drepper@redhat.com>
 
 	* sysdeps/x86_64/multiarch/init-arch.h: Define COMMON_CPUID_INDEX_1