* config/tc-m32r.c (m32r_fix_adjustable): Look up the

relocation type based on the entry in the fixup structure.
This commit is contained in:
Catherine Moore 2000-03-09 22:07:28 +00:00
parent f1a6b754ab
commit 5c86cbc78f
2 changed files with 19 additions and 2 deletions

View 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

View 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;