diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-mips.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index deab89a..1ea7d3d 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2005-04-14 Maciej W. Rozycki <macro@linux-mips.org> + + * config/tc-mips.c (macro) [ldd_std]: Don't attempt the GP + optimization for constant addresses. + 2005-04-14 Nick Clifton <nickc@redhat.com> * as.c (main): Move parse_args before symbol_begin and frag_init diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c index a13b06e..19e8f90 100644 --- a/gas/config/tc-mips.c +++ b/gas/config/tc-mips.c @@ -6417,7 +6417,8 @@ macro (struct mips_cl_insn *ip) If there is a base register, we add it to $at after the lui instruction. If there is a constant, we always use the last case. */ - if ((valueT) offset_expr.X_add_number <= MAX_GPREL_OFFSET + if (offset_expr.X_op == O_symbol + && (valueT) offset_expr.X_add_number <= MAX_GPREL_OFFSET && !nopic_need_relax (offset_expr.X_add_symbol, 1)) { relax_start (offset_expr.X_add_symbol); |