From: Martin Hunt Date: Fri, 10 Oct 1997 18:22:59 +0000 (+0000) Subject: Fri Oct 10 11:22:45 1997 Martin M. Hunt X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=b83565def8ba85bbac0b946b14fe0219602da410;hp=528859ea3ff07258da18c611ba58afb98335e06d;p=deliverable%2Fbinutils-gdb.git Fri Oct 10 11:22:45 1997 Martin M. Hunt * config/tc-d10v.c: Fixes to make sure the AT_WORD expression is not confused with -1. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index bd6d76622a..fce464cf50 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +Fri Oct 10 11:22:45 1997 Martin M. Hunt + + * config/tc-d10v.c: Fixes to make sure the AT_WORD + expression is not confused with -1. + Fri Oct 10 11:54:50 1997 Andrew Cagney * config/tc-d10v.c (parallel_ok): Flag SP as modified for @-sp diff --git a/gas/config/tc-d10v.c b/gas/config/tc-d10v.c index bc20d32a2a..ec471947e9 100644 --- a/gas/config/tc-d10v.c +++ b/gas/config/tc-d10v.c @@ -433,8 +433,8 @@ get_operands (exp) /* then it was really a symbol, so change it to one */ exp[numops].X_op = O_symbol; exp[numops].X_add_symbol = symbol_find_or_make ((char *)exp[numops].X_op_symbol); - exp[numops].X_op_symbol = NULL; } + exp[numops].X_op_symbol = (struct symbol *)-1; exp[numops].X_add_number = AT_WORD; input_line_pointer += 5; } @@ -533,7 +533,8 @@ build_insn (opcode, opers, insn) if (fixups->fc >= MAX_INSN_FIXUPS) as_fatal ("too many fixups"); - if (opers[i].X_op == O_symbol && number == AT_WORD) + if (opers[i].X_op == O_symbol && number == AT_WORD && + opers[i].X_op_symbol == (struct symbol *)-1 ) { number = opers[i].X_add_number = 0; fixups->fix[fixups->fc].reloc = BFD_RELOC_D10V_18; @@ -1120,7 +1121,8 @@ find_opcode (opcode, myops) else value = S_GET_VALUE(myops[opnum].X_add_symbol); - if (myops[opnum].X_add_number == AT_WORD) + if (myops[opnum].X_add_number == AT_WORD && + myops[opnum].X_op_symbol == (struct symbol *)-1) { if (bits > 4) {