aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@linux-mips.org>2010-10-18 00:15:35 +0000
committerMaciej W. Rozycki <macro@linux-mips.org>2010-10-18 00:15:35 +0000
commit704897fbeff6f2247f87578efb9054e246fd0cd0 (patch)
tree0e0c7f70cebfb078115bea1a9028f3384e3fbb62 /gas/config
parent998b3c3643a874e4f94dbeda5c1ba315f26c1ec5 (diff)
downloadgdb-704897fbeff6f2247f87578efb9054e246fd0cd0.zip
gdb-704897fbeff6f2247f87578efb9054e246fd0cd0.tar.gz
gdb-704897fbeff6f2247f87578efb9054e246fd0cd0.tar.bz2
opcodes/
* mips-opc.c (mips_builtin_opcodes): Move M_LD_OB and M_SD_OB macros before their corresponding MIPS III hardware instructions. gas/ * config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Handle 64-bit ABIs. gas/testsuite/ * gas/mips/lineno.s: Convert to o32. * gas/mips/lineno.d: Adjust patterns accordingly. Force the o32 ABI.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-mips.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 8af33ab..bf26235 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -7367,15 +7367,18 @@ macro (struct mips_cl_insn *ip)
break;
case M_LD_OB:
- s = "lw";
+ s = HAVE_64BIT_GPRS ? "ld" : "lw";
goto sd_ob;
case M_SD_OB:
- s = "sw";
+ s = HAVE_64BIT_GPRS ? "sd" : "sw";
sd_ob:
- gas_assert (HAVE_32BIT_ADDRESSES);
macro_build (&offset_expr, s, "t,o(b)", treg, BFD_RELOC_LO16, breg);
- offset_expr.X_add_number += 4;
- macro_build (&offset_expr, s, "t,o(b)", treg + 1, BFD_RELOC_LO16, breg);
+ if (!HAVE_64BIT_GPRS)
+ {
+ offset_expr.X_add_number += 4;
+ macro_build (&offset_expr, s, "t,o(b)", treg + 1,
+ BFD_RELOC_LO16, breg);
+ }
break;
/* New code added to support COPZ instructions.