* config/tc-m32r.c (m32r_fix_adjustable): Look up the
authorCatherine Moore <clm@redhat.com>
Thu, 9 Mar 2000 22:07:28 +0000 (22:07 +0000)
committerCatherine Moore <clm@redhat.com>
Thu, 9 Mar 2000 22:07:28 +0000 (22:07 +0000)
        relocation type based on the entry in the fixup structure.

gas/ChangeLog
gas/config/tc-m32r.c

index e9607ba150e9025ed01874ef9d69ec3f1f08607a..d9840a18e3425ed0d8572343ecb78a76bd1333b2 100644 (file)
@@ -1,3 +1,8 @@
+2000-03-09  Catherine Moore  <clm@cygnus.com>
+        * config/tc-m32r.c (m32r_fix_adjustable):  Look up the
+        relocation type based on the entry in the fixup structure.
+
 2000-03-08  H.J. Lu  (hjl@gnu.org)
 
        * Makefile.am (install-exec-tooldir): Depend on
index f73f0345830da024751ab8689f2886a1b154ecb1..7745338b0876290dfd39bd3ce412da16118f8ffc 100644 (file)
@@ -1887,6 +1887,18 @@ m32r_fix_adjustable (fixP)
    fixS *fixP;
 {
 
+  bfd_reloc_code_real_type reloc_type;
+  if ((int) fixP->fx_r_type >= (int) BFD_RELOC_UNUSED)
+    {
+      const CGEN_INSN *insn = NULL;
+      int opindex = (int) fixP->fx_r_type - (int) BFD_RELOC_UNUSED;
+      const CGEN_OPERAND *operand = cgen_operand_lookup_by_num(gas_cgen_cpu_desc, opindex);
+      reloc_type = md_cgen_lookup_reloc (insn, operand, fixP);
+    }
+  else
+    reloc_type = fixP->fx_r_type;
+
   if (fixP->fx_addsy == NULL)
     return 1;
   
@@ -1897,8 +1909,8 @@ m32r_fix_adjustable (fixP)
     return 0;
   
   /* We need the symbol name for the VTABLE entries */
-  if (fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
-      || fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY)
+  if (reloc_type == BFD_RELOC_VTABLE_INHERIT
+      || reloc_type == BFD_RELOC_VTABLE_ENTRY)
     return 0;
 
   return 1;
This page took 0.031668 seconds and 4 git commands to generate.