aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c6
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)