Undo previous delta

Fix underlying problem by changing the order of tests of rel->howto.
This commit is contained in:
Nick Clifton 2004-02-27 13:16:39 +00:00
parent 2e4b588910
commit 7887817579
2 changed files with 11 additions and 6 deletions

View File

@ -1,3 +1,9 @@
2004-02-27 Nick Clifton <nickc@redhat.com>
* config/tc-sh.c (get_operand): Revert previous delta.
(tc_gen_reloc): Check for an unknown reloc type before processing
the addend.
2004-02-27 Hannes Reinecke <hare@suse.de>
* config/tc-s390.c (s390_insn): Correct range check for opcode in

View File

@ -1426,8 +1426,6 @@ get_operand (char **ptr, sh_operand_info *op)
if (src[0] == '#')
{
if (! ISDIGIT (src[1]))
as_bad (_("syntax error in #Imm"));
src++;
*ptr = parse_exp (src, op);
op->type = A_IMM;
@ -4193,10 +4191,7 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
rel->addend = 0;
rel->howto = bfd_reloc_type_lookup (stdoutput, r_type);
#ifdef OBJ_ELF
if (rel->howto->type == R_SH_IND12W)
rel->addend += fixp->fx_offset - 4;
#endif
if (rel->howto == NULL)
{
as_bad_where (fixp->fx_file, fixp->fx_line,
@ -4206,6 +4201,10 @@ tc_gen_reloc (asection *section ATTRIBUTE_UNUSED, fixS *fixp)
rel->howto = bfd_reloc_type_lookup (stdoutput, BFD_RELOC_32);
assert (rel->howto != NULL);
}
#ifdef OBJ_ELF
else if (rel->howto->type == R_SH_IND12W)
rel->addend += fixp->fx_offset - 4;
#endif
return rel;
}