diff --git a/gas/ChangeLog b/gas/ChangeLog index 0200a5baba..c0edad37dc 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 0ab2cdb047..6195e9c3a8 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)