aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>1997-01-28 20:28:18 +0000
committerIan Lance Taylor <ian@airs.com>1997-01-28 20:28:18 +0000
commit645cb4dc28faaf0ee88d19ab822647767e2bca56 (patch)
tree2be8edbf0cbdb9b776978e9fc8591b45f69550df /gas
parentf9f8c14b1a642a7f463f0f0ce8175f232702b595 (diff)
downloadgdb-645cb4dc28faaf0ee88d19ab822647767e2bca56.zip
gdb-645cb4dc28faaf0ee88d19ab822647767e2bca56.tar.gz
gdb-645cb4dc28faaf0ee88d19ab822647767e2bca56.tar.bz2
* config/tc-mips.c (mips16_ip): Handle a missing expression like
an explicit 0, so that explicitly extended instructions work correctly.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/config/tc-mips.c7
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;
}