]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gas/
authorJan Beulich <jbeulich@novell.com>
Wed, 13 Apr 2005 13:47:08 +0000 (13:47 +0000)
committerJan Beulich <jbeulich@novell.com>
Wed, 13 Apr 2005 13:47:08 +0000 (13:47 +0000)
2005-04-13  Jan Beulich  <jbeulich@novell.com>
            H.J. Lu  <hongjiu.lu@intel.com>

* config/tc-i386.c (md_apply_fix3): Also handle BFD_RELOC_X86_64_32S.
(tc_gen_reloc): Handle BFD_RELOC_X86_64_32S specially.

gas/testsuite/
2005-04-13  Jan Beulich  <jbeulich@novell.com>
            H.J. Lu  <hongjiu.lu@intel.com>

* gas/i386/x86-64-pcrel.[sd]: New.
* gas/i386/i386.exp: Run new test.

gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/ChangeLog
gas/testsuite/gas/i386/i386.exp

index 7776bc9911f8292c17679993c46bb099c86e0ffb..852d4b03314bec2ec0cc1c259a35aac494b7a160 100644 (file)
@@ -1,3 +1,9 @@
+2005-04-13  Jan Beulich  <jbeulich@novell.com>
+            H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/tc-i386.c (md_apply_fix3): Also handle BFD_RELOC_X86_64_32S.
+       (tc_gen_reloc): Handle BFD_RELOC_X86_64_32S specially.
+
 2005-04-12  Alan Modra  <amodra@bigpond.net.au>
 
        PR gas/827
index bdcb55e44892d9ad7863bdb97654bd71825c1792..641b7a0308097dd064bf18b36c90ee0820f26a3a 100644 (file)
@@ -4792,6 +4792,7 @@ md_apply_fix3 (fixP, valP, seg)
          break;
 
        case BFD_RELOC_32:
+       case BFD_RELOC_X86_64_32S:
          fixP->fx_r_type = BFD_RELOC_32_PCREL;
          break;
        case BFD_RELOC_16:
@@ -5355,7 +5356,6 @@ tc_gen_reloc (section, fixp)
     case BFD_RELOC_386_TLS_GOTIE:
     case BFD_RELOC_386_TLS_LE_32:
     case BFD_RELOC_386_TLS_LE:
-    case BFD_RELOC_X86_64_32S:
     case BFD_RELOC_X86_64_TLSGD:
     case BFD_RELOC_X86_64_TLSLD:
     case BFD_RELOC_X86_64_DTPOFF32:
@@ -5369,6 +5369,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 68f166783cb41a97310180386c4949e5662e9f07..f7e1b4fe19709f5a656b6dd09c9d24a60a73e991 100644 (file)
@@ -1,3 +1,9 @@
+2005-04-13  Jan Beulich  <jbeulich@novell.com>
+            H.J. Lu  <hongjiu.lu@intel.com>
+
+       * gas/i386/x86-64-pcrel.[sd]: New.
+       * gas/i386/i386.exp: Run new test.
+
 2005-03-23  Alan Modra  <amodra@bigpond.net.au>
 
        * gas/elf/section5.s: Don't start directives in first column.
index 1cb1af3b6b3fe71eb8758591c998806bc0c6f80a..8f87544e26e5c12d37db6179ded7a3818a3cebeb 100644 (file)
@@ -118,6 +118,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
     run_dump_test "x86_64"
     run_dump_test "x86-64-addr32"
     run_dump_test "x86-64-opcode"
+    run_dump_test "x86-64-pcrel"
     run_dump_test "x86-64-rip"
     run_list_test "x86-64-inval" "-al"