diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index 0200a5b..c0edad3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +Wed Jun 15 12:32:55 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) + + * config/tc-mips.c (mips_ip): Permit non constant expressions in + 'u' case: lets lui %hi(foo) work correctly. + Mon Jun 13 12:08:52 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) * config/obj-aout.c (obj_aout_frob_symbol): Warn about an attempt diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index 0ab2cdb..6195e9c 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -4647,9 +4647,9 @@ mips_ip (str, ip) case 'u': /* upper 16 bits */ c = my_getSmallExpression (&imm_expr, s); - if (imm_expr.X_op != O_constant - || imm_expr.X_add_number < 0 - || imm_expr.X_add_number >= 0x10000) + if (imm_expr.X_op == O_constant + && (imm_expr.X_add_number < 0 + || imm_expr.X_add_number >= 0x10000)) as_bad ("lui expression not in range 0..65535"); imm_reloc = BFD_RELOC_LO16; if (c) |