diff options
-rw-r--r-- | gas/ChangeLog | 7 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 3 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index cf54e85..dd82150 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2003-04-09 Chris Demetriou <cgd@broadcom.com> + + * config/tc-mips.c (macro): Put back `+ 0x8000' in test for 64-bit + constant address that Alexandre took out by accident. Reject + 64-bit addresses that are not sign extensions of 32 bits only if + we don't support 64-bit address constants. + 2003-04-09 Alan Modra <amodra@bigpond.net.au> * config/tc-ppc.c (md_apply_fix3): Generate ADDR16 relocs. diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index e07dde3..7fa0251 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -5849,7 +5849,7 @@ macro (ip) */ if ((offset_expr.X_op != O_constant && HAVE_64BIT_ADDRESSES) || (offset_expr.X_op == O_constant - && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number) + && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number + 0x8000) && HAVE_64BIT_ADDRESS_CONSTANTS)) { p = NULL; @@ -5898,6 +5898,7 @@ macro (ip) return; } else if (offset_expr.X_op == O_constant + && !HAVE_64BIT_ADDRESS_CONSTANTS && !IS_SEXT_32BIT_NUM (offset_expr.X_add_number)) as_bad (_("load/store address overflow (max 32 bits)")); |