This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
PATCH: Count R_X86_64_RELATIVE64 as reloc_class_relative
- From: "H.J. Lu" <hongjiu dot lu at intel dot com>
- To: binutils at sourceware dot org
- Date: Thu, 10 May 2012 10:15:59 -0700
- Subject: PATCH: Count R_X86_64_RELATIVE64 as reloc_class_relative
- Reply-to: "H.J. Lu" <hjl dot tools at gmail dot com>
Hi,
I checked in this patch to count R_X86_64_RELATIVE64 as
reloc_class_relative.
H.J.
---
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index ee2c264..fa2f5fa 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle
+ R_X86_64_RELATIVE64.
+
2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_relocate_section): Check addend
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 8eafbf0..a9429b8 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -4524,6 +4524,7 @@ elf_x86_64_reloc_type_class (const Elf_Internal_Rela *rela)
switch ((int) ELF32_R_TYPE (rela->r_info))
{
case R_X86_64_RELATIVE:
+ case R_X86_64_RELATIVE64:
return reloc_class_relative;
case R_X86_64_JUMP_SLOT:
return reloc_class_plt;
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 34e8d62..1cd1b4e 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-x86-64/pr13082-1a.d: Check RELACOUNT.
+ * ld-x86-64/pr13082-1b.d: Likewise.
+
2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
* ld-x86-64/ilp32-11.d: New file.
diff --git a/ld/testsuite/ld-x86-64/pr13082-1a.d b/ld/testsuite/ld-x86-64/pr13082-1a.d
index f0e98ff..cb404e0 100644
--- a/ld/testsuite/ld-x86-64/pr13082-1a.d
+++ b/ld/testsuite/ld-x86-64/pr13082-1a.d
@@ -2,8 +2,12 @@
#name: PR ld/13082-1 (a)
#as: --x32
#ld: -shared -melf32_x86_64
-#readelf: -r --wide
+#readelf: -d -r --wide
+Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries:
+#...
+ 0x[0-9a-f]+ +\(RELACOUNT\) +1
+#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+
diff --git a/ld/testsuite/ld-x86-64/pr13082-1b.d b/ld/testsuite/ld-x86-64/pr13082-1b.d
index f10481f..dbe8a0a 100644
--- a/ld/testsuite/ld-x86-64/pr13082-1b.d
+++ b/ld/testsuite/ld-x86-64/pr13082-1b.d
@@ -2,8 +2,12 @@
#name: PR ld/13082-1 (b)
#as: --x32
#ld: -pie -melf32_x86_64
-#readelf: -r --wide
+#readelf: -d -r --wide
+Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries:
+#...
+ 0x[0-9a-f]+ +\(RELACOUNT\) +1
+#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+