diff options
author | Andrew Cagney <cagney@redhat.com> | 2002-10-02 21:18:57 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2002-10-02 21:18:57 +0000 |
commit | 6f99cb26f2eff3e4b8ccd5ea86dd345ba9bb8fe9 (patch) | |
tree | 78f102c29cd15afc5620f369f751d647be0ca5bc /gdb/rs6000-tdep.c | |
parent | c86f794bf7db6474c492e4ad8ca412a464bc9cc1 (diff) | |
download | gdb-6f99cb26f2eff3e4b8ccd5ea86dd345ba9bb8fe9.zip gdb-6f99cb26f2eff3e4b8ccd5ea86dd345ba9bb8fe9.tar.gz gdb-6f99cb26f2eff3e4b8ccd5ea86dd345ba9bb8fe9.tar.bz2 |
2002-10-02 Andrew Cagney <ac131313@redhat.com>
* rs6000-tdep.c (skip_prologue): Bias alloca_reg by ppc_gp0_regnum.
Diffstat (limited to 'gdb/rs6000-tdep.c')
-rw-r--r-- | gdb/rs6000-tdep.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c index 57d3500..152eb0e 100644 --- a/gdb/rs6000-tdep.c +++ b/gdb/rs6000-tdep.c @@ -465,6 +465,7 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, struct rs6000_framedata *fdata) int prev_insn_was_prologue_insn = 1; int num_skip_non_prologue_insns = 0; const struct bfd_arch_info *arch_info = gdbarch_bfd_arch_info (current_gdbarch); + struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch); /* Attempt to find the end of the prologue when no limit is specified. Note that refine_prologue_limit() has been written so that it may @@ -694,7 +695,7 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, struct rs6000_framedata *fdata) { /* mr r31, r1 */ fdata->frameless = 0; framep = 1; - fdata->alloca_reg = 31; + fdata->alloca_reg = (tdep->ppc_gp0_regnum + 31); continue; /* Another way to set up the frame pointer. */ @@ -703,7 +704,8 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, struct rs6000_framedata *fdata) { /* addi rX, r1, 0x0 */ fdata->frameless = 0; framep = 1; - fdata->alloca_reg = (op & ~0x38010000) >> 21; + fdata->alloca_reg = (tdep->ppc_gp0_regnum + + ((op & ~0x38010000) >> 21)); continue; } /* AltiVec related instructions. */ |