From 645cb4dc28faaf0ee88d19ab822647767e2bca56 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor Date: Tue, 28 Jan 1997 20:28:18 +0000 Subject: [PATCH] * config/tc-mips.c (mips16_ip): Handle a missing expression like an explicit 0, so that explicitly extended instructions work correctly. --- gas/ChangeLog | 6 ++++++ gas/config/tc-mips.c | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index c29e5e28b8e..8841d1faa8d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +Tue Jan 28 15:27:28 1997 Ian Lance Taylor + + * 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 * 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 961c4349f56..3eadbbe561a 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; } -- 2.30.2