This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH, MIPS] Move encoded as 'or' in binutils.
- From: Simon Dardis <Simon dot Dardis at imgtec dot com>
- To: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>
- Date: Fri, 31 Jul 2015 15:52:48 +0000
- Subject: [PATCH, MIPS] Move encoded as 'or' in binutils.
- Authentication-results: sourceware.org; auth=none
Hello all,
A recently submitted patch ( http://sourceware.org/ml/binutils/2015-07/msg00376.html ) to binutils will be
encoding move as an 'or' instruction over [d]addu in assembly and various code stubs. This patch for gdb
addresses that change for the mips specific parts of gdb.
Thanks,
Simon
gdb/
* mips-linux-tdep.c (mips_linux_in_dynsym_stub): Recognise 'or'
as move along with [d]addu.
diff --git a/gdb/mips-linux-tdep.c b/gdb/mips-linux-tdep.c
index c2cec3d..62a998d 100644
--- a/gdb/mips-linux-tdep.c
+++ b/gdb/mips-linux-tdep.c
@@ -737,15 +737,17 @@ mips_linux_in_dynsym_stub (CORE_ADDR pc)
insn = extract_unsigned_integer (p + 4, 4, byte_order);
if (n64)
{
- /* daddu t7,ra */
- if (insn != 0x03e0782d)
+ /* 'daddu t7,ra' or 'or t7, ra, zero'*/
+ if (insn != 0x03e0782d || insn != 0x03e07825)
return 0;
+
}
else
{
- /* addu t7,ra */
- if (insn != 0x03e07821)
+ /* 'addu t7,ra' or 'or t7, ra, zero'*/
+ if (insn != 0x03e07821 || insn != 0x03e07825)
return 0;
+
}
insn = extract_unsigned_integer (p + 8, 4, byte_order);
--
2.1.0