diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 7 |
2 files changed, 12 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index c29e5e2..8841d1f 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +Tue Jan 28 15:27:28 1997 Ian Lance Taylor <ian@cygnus.com> + + * config/tc-mips.c (mips16_ip): Handle a missing expression like + an explicit 0, so that explicitly extended instructions work + correctly. + Mon Jan 27 17:41:20 1997 Ian Lance Taylor <ian@cygnus.com> * ecoff.c (ecoff_build_symbols): Don't generate a local ECOFF diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 961c434..3eadbbe 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -7144,7 +7144,12 @@ mips16_ip (str, ip) { /* It looks like the expression was omitted before a register indirection, which means that the - expression is implicitly zero. */ + expression is implicitly zero. We still set up + imm_expr, so that we handle explicit extensions + correctly. */ + imm_expr.X_op = O_constant; + imm_expr.X_add_number = 0; + imm_reloc = (int) BFD_RELOC_UNUSED + c; continue; } |