From eb0a7d52bdc92918fd9c83f20f31b87c3abad137 Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Wed, 9 Apr 2003 03:07:48 +0000 Subject: [PATCH] * 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. --- gas/ChangeLog | 7 +++++++ gas/config/tc-mips.c | 3 ++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index cf54e8501f3..dd82150bd83 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,10 @@ +2003-04-09 Chris Demetriou + + * 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 * 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 e07dde39f2f..7fa025169c9 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)")); -- 2.30.2