aboutsummaryrefslogtreecommitdiff
path: root/gas/config/tc-mips.c
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/config/tc-mips.c
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/config/tc-mips.c')
-rw-r--r--gas/config/tc-mips.c7
1 files changed, 6 insertions, 1 deletions
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;
}