PR gas/11032

* config/tc-arm.c (relax_adr): Cope with a frag with no symbol.
This commit is contained in:
Nick Clifton 2009-11-30 14:36:21 +00:00
parent 88f1a8b254
commit 974da60de1
2 changed files with 9 additions and 3 deletions

View file

@ -1,3 +1,8 @@
2009-11-30 Nick Clifton <nickc@redhat.com>
PR gas/11032
* config/tc-arm.c (relax_adr): Cope with a frag with no symbol.
2009-11-19 Jan Beulich <jbeulich@novell.com>
* read.c (pseudo_set): Also call copy_symbol_attributes() for

View file

@ -4972,13 +4972,13 @@ parse_address_main (char **str, int i, int group_relocations,
{
if (skip_past_char (&p, '=') == FAIL)
{
/* bare address - translate to PC-relative offset */
/* Bare address - translate to PC-relative offset. */
inst.reloc.pc_rel = 1;
inst.operands[i].reg = REG_PC;
inst.operands[i].isreg = 1;
inst.operands[i].preind = 1;
}
/* else a load-constant pseudo op, no special treatment needed here */
/* Otherwise a load-constant pseudo op, no special treatment needed here. */
if (my_get_expression (&inst.reloc.exp, &p, GE_NO_PREFIX))
return PARSE_OPERAND_FAIL;
@ -18335,7 +18335,8 @@ relax_adr (fragS *fragp, asection *sec, long stretch)
offsetT val;
/* Assume worst case for symbols not known to be in the same section. */
if (!S_IS_DEFINED (fragp->fr_symbol)
if (fragp->fr_symbol == NULL
|| !S_IS_DEFINED (fragp->fr_symbol)
|| sec != S_GET_SEGMENT (fragp->fr_symbol))
return 4;