Count R_X86_64_RELATIVE64 as reloc_class_relative
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 10 May 2012 17:15:19 +0000 (17:15 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 10 May 2012 17:15:19 +0000 (17:15 +0000)
bfd/

* elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle
R_X86_64_RELATIVE64.

ld/testsuite/

* ld-x86-64/pr13082-1a.d: Check RELACOUNT.
* ld-x86-64/pr13082-1b.d: Likewise.

bfd/ChangeLog
bfd/elf64-x86-64.c
ld/testsuite/ChangeLog
ld/testsuite/ld-x86-64/pr13082-1a.d
ld/testsuite/ld-x86-64/pr13082-1b.d

index ee2c264a5bd7044ac38456dc4b11318711226ab1..fa2f5fa8327a0be27a34990697f3777163f5a86c 100644 (file)
@@ -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
index 8eafbf084c2c3bedc72c0155c4ef934187d883a9..a9429b8c6cbb6cf1932510052256ba8d7f859a52 100644 (file)
@@ -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;
index 34e8d62aacd42ddbaf63bea1a48882bfc8c4c9a6..1cd1b4ebbe42f6a9c45e428e94bdf7cf0e76ba6d 100644 (file)
@@ -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.
index f0e98ffc9091dccc48bb7354bbb9ddc2efd6b7e7..cb404e0af8842c77fe4a2f510d286b8468552db7 100644 (file)
@@ -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]+
index f10481f85e5c36b3ddaf1df0ae7de0dfa384d7b7..dbe8a0a88f90fbddee45058ea1583ce826cd0fef 100644 (file)
@@ -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]+