Reviewed by Mark Kettenis <mark.kettenis@xs4all.nl>
2007-02-27 Fred Fish <fnf@specifix.com> * rs6000-tdep.c (skip_prologue): Recognize addi instructions that directly decrement the stack pointer, accumulate their operand into the stack offset, and mark the function as not being frameless.
This commit is contained in:
parent
64a6910722
commit
7313566fe3
2 changed files with 13 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
2007-02-27 Fred Fish <fnf@specifix.com>
|
||||||
|
|
||||||
|
* rs6000-tdep.c (skip_prologue): Recognize addi instructions that
|
||||||
|
directly decrement the stack pointer, accumulate their operand into
|
||||||
|
the stack offset, and mark the function as not being frameless.
|
||||||
|
|
||||||
2007-02-26 Daniel Jacobowitz <dan@codesourcery.com>
|
2007-02-26 Daniel Jacobowitz <dan@codesourcery.com>
|
||||||
|
|
||||||
* arch-utils.c (selected_byte_order): New.
|
* arch-utils.c (selected_byte_order): New.
|
||||||
|
|
|
@ -1219,6 +1219,13 @@ skip_prologue (CORE_ADDR pc, CORE_ADDR lim_pc, struct rs6000_framedata *fdata)
|
||||||
offset = fdata->offset;
|
offset = fdata->offset;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
else if ((op & 0xffff0000) == 0x38210000)
|
||||||
|
{ /* addi r1,r1,SIMM */
|
||||||
|
fdata->frameless = 0;
|
||||||
|
fdata->offset += SIGNED_SHORT (op);
|
||||||
|
offset = fdata->offset;
|
||||||
|
continue;
|
||||||
|
}
|
||||||
/* Load up minimal toc pointer */
|
/* Load up minimal toc pointer */
|
||||||
else if (((op >> 22) == 0x20f || /* l r31,... or l r30,... */
|
else if (((op >> 22) == 0x20f || /* l r31,... or l r30,... */
|
||||||
(op >> 22) == 0x3af) /* ld r31,... or ld r30,... */
|
(op >> 22) == 0x3af) /* ld r31,... or ld r30,... */
|
||||||
|
|
Loading…
Reference in a new issue