aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Brobecker <brobecker@gnat.com>2012-03-13 16:15:35 +0000
committerJoel Brobecker <brobecker@gnat.com>2012-03-13 16:15:35 +0000
commit76219d77db475ff305c095b6aea0fe39af223921 (patch)
tree00014ec3b216bb8f3ba430a1d661105916292bf4
parentfd325007590a9f768fa93840eb1f6af48e9d25f7 (diff)
downloadgdb-76219d77db475ff305c095b6aea0fe39af223921.zip
gdb-76219d77db475ff305c095b6aea0fe39af223921.tar.gz
gdb-76219d77db475ff305c095b6aea0fe39af223921.tar.bz2
[ppc/prologue] Support the "oril r29, r1, 0x0" insn.
gdb/ 2012-03-13 Chris January <chris.january@allinea.com> * rs6000-tdep.c (skip_prologue): Support the oril r29, r1, 0x0 instruction.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/rs6000-tdep.c9
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8e466c8..32b4480 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2012-03-13 Chris January <chris.january@allinea.com>
+
+ * rs6000-tdep.c (skip_prologue): Support the oril r29, r1, 0x0
+ instruction.
+
2012-03-13 Jan Kratochvil <jan.kratochvil@redhat.com>
* common/linux-procfs.c (linux_proc_get_int): New, from
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index a8ff777..2b1a0a5 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -1822,6 +1822,15 @@ skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc, CORE_ADDR lim_pc,
/* Set up frame pointer */
}
+ else if (op == 0x603d0000) /* oril r29, r1, 0x0 */
+ {
+ fdata->frameless = 0;
+ framep = 1;
+ fdata->alloca_reg = (tdep->ppc_gp0_regnum + 29);
+ continue;
+
+ /* Another way to set up the frame pointer. */
+ }
else if (op == 0x603f0000 /* oril r31, r1, 0x0 */
|| op == 0x7c3f0b78)
{ /* mr r31, r1 */