]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Remove ABI_64_P check on R_X86_64_PCXX
authorH.J. Lu <hjl.tools@gmail.com>
Tue, 10 Jan 2012 20:35:02 +0000 (20:35 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Tue, 10 Jan 2012 20:35:02 +0000 (20:35 +0000)
bfd/

2012-01-10  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/13581
* elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
check on R_X86_64_PCXX.

ld/testsuite/

2012-01-10  H.J. Lu  <hongjiu.lu@intel.com>

PR ld/13581
* ld-x86-64/ilp32-4.s: New.
* ld-x86-64/ilp32-10.d: Likewise.
* ld-x86-64/ilp32-10.s: Likewise.

* ld-x86-64/ilp32-4.d: Adjusted.
* ld-x86-64/ilp32-5.d: Likewise.
* ld-x86-64/ilp32-5.s: Likewise.

* ld-x86-64/x86-64.exp: Run ilp32-10.

bfd/ChangeLog
bfd/elf64-x86-64.c
ld/testsuite/ChangeLog
ld/testsuite/ld-x86-64/ilp32-4.d
ld/testsuite/ld-x86-64/ilp32-5.d
ld/testsuite/ld-x86-64/ilp32-5.s
ld/testsuite/ld-x86-64/x86-64.exp

index 529474c909049c39e3bb1c6c5c2c5c4646928495..c6c0b1bb7426cc5474da1377548271798ac19e50 100644 (file)
@@ -1,3 +1,10 @@
+2012-01-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline:
+       PR ld/13581
+       * elf64-x86-64.c (elf_x86_64_relocate_section): Remove ABI_64_P
+       check on R_X86_64_PCXX.
+
 2011-12-19  Chung-Lin Tang  <cltang@codesourcery.com>
 
        Backport from mainline:
index 3a2444b90c31a888b32f172ed2d4fe96eb52eb5a..bdb3ae6b757802776b17b1acba17fec359eb14ea 100644 (file)
@@ -3460,7 +3460,6 @@ elf_x86_64_relocate_section (bfd *output_bfd,
        case R_X86_64_PC16:
        case R_X86_64_PC32:
          if (info->shared
-             && ABI_64_P (output_bfd)
              && (input_section->flags & SEC_ALLOC) != 0
              && (input_section->flags & SEC_READONLY) != 0
              && h != NULL)
index 1b84638101d063f0651811c3bc9bf88b5ffabcf5..6318c4fdec28c05f969b2be1b6c528161a7aeacc 100644 (file)
@@ -1,3 +1,17 @@
+2012-01-10  H.J. Lu  <hongjiu.lu@intel.com>
+
+       Backport from mainline:
+       PR ld/13581
+       * ld-x86-64/ilp32-4.s: New.
+       * ld-x86-64/ilp32-10.d: Likewise.
+       * ld-x86-64/ilp32-10.s: Likewise.
+
+       * ld-x86-64/ilp32-4.d: Adjusted.
+       * ld-x86-64/ilp32-5.d: Likewise.
+       * ld-x86-64/ilp32-5.s: Likewise.
+
+       * ld-x86-64/x86-64.exp: Run ilp32-10.
+
 2011-12-01  Hans-Peter Nilsson  <hp@axis.com>
 
        * ld-cris/pic-gc-72.d: Revert last change to adjust for reverted
index 84dc7b250e5a0a686a832d12e64ff791a020cfc8..92d8a67e7bad9bdc21c9517c0b5937dbb70dcc3a 100644 (file)
@@ -1,36 +1,30 @@
-#source: start.s
 #as: --x32
 #ld: -m elf32_x86_64 -shared --no-ld-generated-unwind-info
 #readelf: -d -S --wide
 
-There are 10 section headers, starting at offset 0x22c:
+There are 9 section headers, starting at offset 0x1d8:
 
 Section Headers:
   \[Nr\] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
   \[ 0\]                   NULL            00000000 000000 000000 00      0   0  0
-  \[ 1\] .hash             HASH            00000094 000094 000030 04   A  2   0  4
-  \[ 2\] .dynsym           DYNSYM          000000c4 0000c4 000070 10   A  3   2  4
-  \[ 3\] .dynstr           STRTAB          00000134 000134 00001d 00   A  0   0  1
-  \[ 4\] .rela.dyn         RELA            00000154 000154 00000c 0c   A  2   0  4
-  \[ 5\] .text             PROGBITS        00000160 000160 000005 00  AX  0   0  4
-  \[ 6\] .dynamic          DYNAMIC         00200168 000168 000078 08  WA  3   0  4
-  \[ 7\] .shstrtab         STRTAB          00000000 0001e0 00004a 00      0   0  1
-  \[ 8\] .symtab           SYMTAB          00000000 0003bc 0000e0 10      9   9  4
-  \[ 9\] .strtab           STRTAB          00000000 00049c 000043 00      0   0  1
+  \[ 1\] .hash             HASH            00000094 000094 00002c 04   A  2   0  4
+  \[ 2\] .dynsym           DYNSYM          000000c0 0000c0 000060 10   A  3   2  4
+  \[ 3\] .dynstr           STRTAB          00000120 000120 000019 00   A  0   0  1
+  \[ 4\] .text             PROGBITS        0000013c 00013c 000001 00  AX  0   0  4
+  \[ 5\] .dynamic          DYNAMIC         00200140 000140 000058 08  WA  3   0  4
+  \[ 6\] .shstrtab         STRTAB          00000000 000198 000040 00      0   0  1
+  \[ 7\] .symtab           SYMTAB          00000000 000340 0000c0 10      8   8  4
+  \[ 8\] .strtab           STRTAB          00000000 000400 00003f 00      0   0  1
 Key to Flags:
   W \(write\), A \(alloc\), X \(execute\), M \(merge\), S \(strings\), l \(large\)
   I \(info\), L \(link order\), G \(group\), T \(TLS\), E \(exclude\), x \(unknown\)
   O \(extra OS processing required\) o \(OS specific\), p \(processor specific\)
 
-Dynamic section at offset 0x168 contains 10 entries:
+Dynamic section at offset 0x140 contains 6 entries:
   Tag        Type                         Name/Value
  0x00000004 \(HASH\)                       0x94
- 0x00000005 \(STRTAB\)                     0x134
- 0x00000006 \(SYMTAB\)                     0xc4
- 0x0000000a \(STRSZ\)                      29 \(bytes\)
+ 0x00000005 \(STRTAB\)                     0x120
+ 0x00000006 \(SYMTAB\)                     0xc0
+ 0x0000000a \(STRSZ\)                      25 \(bytes\)
  0x0000000b \(SYMENT\)                     16 \(bytes\)
- 0x00000007 \(RELA\)                       0x154
- 0x00000008 \(RELASZ\)                     12 \(bytes\)
- 0x00000009 \(RELAENT\)                    12 \(bytes\)
- 0x00000016 \(TEXTREL\)                    0x0
  0x00000000 \(NULL\)                       0x0
index e4673e52b26943d87a00a83103a27759b5b8490c..4870c2b51850c3bed64840129ac20fdaa48db36d 100644 (file)
@@ -4,5 +4,5 @@
 
 #...
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE +[0-9a-f]+
-[0-9a-f]+ +[0-9a-f]+ +R_X86_64_PC32 +[0-9a-f]+ +foo - 4
+[0-9a-f]+ +[0-9a-f]+ +R_X86_64_GLOB_DAT +[0-9a-f]+ +foo \+ 0
 [0-9a-f]+ +[0-9a-f]+ +R_X86_64_32 +[0-9a-f]+ +foo \+ 0
index 0d97807395e927d8728b93ed81a1845fcd66b83a..ef0c60e3a0859512a17c63bf489b00bd7edce095 100644 (file)
@@ -1,6 +1,6 @@
        .globl bar
 bar:
-       mov foo(%rip), %rax
+       mov foo@GOTPCREL(%rip), %rax
 
        .data
 xxx:
index 77b081ba46bd64f57f6ec6cbd1b6a1ffa7fcab41..44d3e07532f20149d432e5198b5715c56c61db64 100644 (file)
@@ -207,6 +207,7 @@ run_dump_test "ilp32-6"
 run_dump_test "ilp32-7"
 run_dump_test "ilp32-8"
 run_dump_test "ilp32-9"
+run_dump_test "ilp32-10"
 run_dump_test "ia32-1"
 run_dump_test "ia32-2"
 run_dump_test "ia32-3"