From 76219d77db475ff305c095b6aea0fe39af223921 Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Tue, 13 Mar 2012 16:15:35 +0000 Subject: [PATCH] [ppc/prologue] Support the "oril r29, r1, 0x0" insn. gdb/ 2012-03-13 Chris January * rs6000-tdep.c (skip_prologue): Support the oril r29, r1, 0x0 instruction. --- gdb/ChangeLog | 5 +++++ gdb/rs6000-tdep.c | 9 +++++++++ 2 files changed, 14 insertions(+) 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 + + * rs6000-tdep.c (skip_prologue): Support the oril r29, r1, 0x0 + instruction. + 2012-03-13 Jan Kratochvil * 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 */ -- 2.7.4