linux-unwind.h: Use the proper dwarf to hard reg mapping for FPRs when...
2013-07-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> * config/s390/linux-unwind.h: Use the proper dwarf to hard reg mapping for FPRs when creating the fallback framestate. From-SVN: r201156
This commit is contained in:
parent
5f9ae7f2d6
commit
902a3fafbe
2 changed files with 8 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-07-23 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
|
||||
|
||||
* config/s390/linux-unwind.h: Use the proper dwarf to hard reg
|
||||
mapping for FPRs when creating the fallback framestate.
|
||||
|
||||
2013-07-19 Georg-Johann Lay <avr@gjlay.de>
|
||||
|
||||
PR target/57516
|
||||
|
|
|
@ -31,6 +31,8 @@ static _Unwind_Reason_Code
|
|||
s390_fallback_frame_state (struct _Unwind_Context *context,
|
||||
_Unwind_FrameState *fs)
|
||||
{
|
||||
static const unsigned char dwarf_to_fpr_map[16] =
|
||||
{ 0, 2, 4, 6, 1, 3, 5, 7, 8, 10, 12, 14, 9, 11, 13, 15 };
|
||||
unsigned char *pc = context->ra;
|
||||
long new_cfa;
|
||||
int i;
|
||||
|
@ -112,7 +114,7 @@ s390_fallback_frame_state (struct _Unwind_Context *context,
|
|||
{
|
||||
fs->regs.reg[16+i].how = REG_SAVED_OFFSET;
|
||||
fs->regs.reg[16+i].loc.offset =
|
||||
(long)®s->fprs[i] - new_cfa;
|
||||
(long)®s->fprs[dwarf_to_fpr_map[i]] - new_cfa;
|
||||
}
|
||||
|
||||
/* Load return addr from PSW into dummy register 32. */
|
||||
|
|
Loading…
Add table
Reference in a new issue