gas/
authorH.J. Lu <hjl.tools@gmail.com>
Thu, 7 Apr 2005 00:53:22 +0000 (00:53 +0000)
committerH.J. Lu <hjl.tools@gmail.com>
Thu, 7 Apr 2005 00:53:22 +0000 (00:53 +0000)
2005-04-06  H.J. Lu  <hongjiu.lu@intel.com>

* config/tc-i386.c (tc_gen_reloc): Don't turn
BFD_RELOC_X86_64_32S into BFD_RELOC_32.

gas/testsuite/

2005-04-06  H.J. Lu  <hongjiu.lu@intel.com>

* gas/i386/x86-64-pcrel.s: Test R_X86_64_32S.
* gas/i386/x86-64-pcrel.d: Updated.

gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/x86-64-pcrel.d
gas/testsuite/gas/i386/x86-64-pcrel.s

index 57a0c5480be813bd7efaf03f7f3e366a85c036ac..1b8dda64749513fbecafa7b4dd5de62ce40cd7c7 100644 (file)
@@ -1,3 +1,8 @@
+2005-04-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/tc-i386.c (tc_gen_reloc): Don't turn
+       BFD_RELOC_X86_64_32S into BFD_RELOC_32.
+
 2005-04-06  Nick Clifton  <nickc@redhat.com>
 
        * po/rw.po: New translation: Kinyarwanda
index 486b0cf65faaa1ac7b5442128a0e7300716b912f..83e25670bba7646529ccac9d88f16f20b7877d00 100644 (file)
@@ -5380,6 +5380,13 @@ tc_gen_reloc (section, fixp)
 #endif
       code = fixp->fx_r_type;
       break;
+    case BFD_RELOC_X86_64_32S:
+      if (!fixp->fx_pcrel)
+       {
+         /* Don't turn BFD_RELOC_X86_64_32S into BFD_RELOC_32.  */
+         code = fixp->fx_r_type;
+         break;
+       }
     default:
       if (fixp->fx_pcrel)
        {
index be44600311815c6dd37a6d0af5307512fda9a741..9628cbc0dfd6e2e571f515c9344c46a4dc5e541d 100644 (file)
@@ -1,3 +1,8 @@
+2005-04-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gas/i386/x86-64-pcrel.s: Test R_X86_64_32S.
+       * gas/i386/x86-64-pcrel.d: Updated.
+
 2005-04-01  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
 
        * gas/vax/flonum.s: New testcase: Encode some flonums.
index f33f6cd685b06ef1967d9d40e21935f02d43becc..3d647bfbaa2acd5c23479a2fc456dbef375a3650 100644 (file)
@@ -10,4 +10,5 @@ Disassembly of section .text:
 [       ]*[0-9a-f]+:[   ]+66 b8 00 00[  ]+movw?[        ]+\$(0x)?0,%ax[         ]*[0-9a-f]+:[   ]+R_X86_64_PC16[        ]+xtrn\+(0x)?2
 [       ]*[0-9a-f]+:[   ]+b8 00 00 00 00[       ]+movl?[        ]+\$(0x)?0,%eax[        ]*[0-9a-f]+:[   ]+R_X86_64_PC32[        ]+xtrn\+(0x)?1
 [       ]*[0-9a-f]+:[   ]+48 c7 c0 00 00 00 00[         ]+movq?[        ]+\$(0x)?0,%rax[        ]*[0-9a-f]+:[   ]+R_X86_64_PC32[        ]+xtrn\+(0x)?3
+[       ]*[0-9a-f]+:[   ]+48 c7 c0 00 00 00 00[         ]+movq?[        ]+\$(0x)?0,%rax[        ]*[0-9a-f]+:[   ]+R_X86_64_32S[         ]+xtrn
 #pass
index bdd40dc4c8a9ab556442ba401cfcff4229ca5609..c58e0935b88b9d298635b50af9f3748c8d55f768 100644 (file)
@@ -4,5 +4,6 @@ _start:
        movw    $(xtrn - .), %ax
        movl    $(xtrn - .), %eax
        movq    $(xtrn - .), %rax
+       movq    $xtrn, %rax
 
        .p2align 4,0