aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2010-10-18 00:17:43 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2010-10-18 00:17:43 +0000
commit0970e49e1a9eada774c7bcd4093fa4df36effbb1 (patch)
treee6693730a0645e5eca465047ccb521d33c81e991 /gas
parent704897fbeff6f2247f87578efb9054e246fd0cd0 (diff)
downloadbinutils-0970e49e1a9eada774c7bcd4093fa4df36effbb1.zip
binutils-0970e49e1a9eada774c7bcd4093fa4df36effbb1.tar.gz
binutils-0970e49e1a9eada774c7bcd4093fa4df36effbb1.tar.bz2
* config/tc-mips.c (macro)[ldd_std]: Fix the relaxation variant
for absolute addressing.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/config/tc-mips.c21
2 files changed, 6 insertions, 20 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 68cea17..ac32847 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2010-10-18 Maciej W. Rozycki <macro@linux-mips.org>
+ * config/tc-mips.c (macro)[ldd_std]: Fix the relaxation variant
+ for absolute addressing.
+
+2010-10-18 Maciej W. Rozycki <macro@linux-mips.org>
+
* config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Handle 64-bit ABIs.
2010-10-18 Maciej W. Rozycki <macro@linux-mips.org>
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index bf26235..51dbd6f 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -7203,26 +7203,7 @@ macro (struct mips_cl_insn *ip)
relax_switch ();
- /* We just generated two relocs. When tc_gen_reloc
- handles this case, it will skip the first reloc and
- handle the second. The second reloc already has an
- extra addend of 4, which we added above. We must
- subtract it out, and then subtract another 4 to make
- the first reloc come out right. The second reloc
- will come out right because we are going to add 4 to
- offset_expr when we build its instruction below.
-
- If we have a symbol, then we don't want to include
- the offset, because it will wind up being included
- when we generate the reloc. */
-
- if (offset_expr.X_op == O_constant)
- offset_expr.X_add_number -= 8;
- else
- {
- offset_expr.X_add_number = -4;
- offset_expr.X_op = O_constant;
- }
+ offset_expr.X_add_number -= 4;
}
used_at = 1;
macro_build_lui (&offset_expr, AT);