X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsparc-sol2-tdep.c;h=bff15de07e4741a891f8e0fe30a0bd245fc5f766;hb=369c397ba4feb2e14ba5ce9ad34b95b886382273;hp=a49eb7f36b1ec1a40e0d677acb3f36cb36acd592;hpb=840c4ae9274b2c291d14b74862612207d3dddae3;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/sparc-sol2-tdep.c b/gdb/sparc-sol2-tdep.c index a49eb7f36b..bff15de07e 100644 --- a/gdb/sparc-sol2-tdep.c +++ b/gdb/sparc-sol2-tdep.c @@ -93,7 +93,8 @@ sparc32_sol2_sigtramp_frame_cache (struct frame_info *this_frame, /* The third argument is a pointer to an instance of `ucontext_t', which has a member `uc_mcontext' that contains the saved registers. */ - regnum = (cache->frameless_p ? SPARC_O2_REGNUM : SPARC_I2_REGNUM); + regnum = + (cache->copied_regs_mask & 0x04) ? SPARC_I2_REGNUM : SPARC_O2_REGNUM; mcontext_addr = get_frame_register_unsigned (this_frame, regnum) + 40; cache->saved_regs[SPARC32_PSR_REGNUM].addr = mcontext_addr + 0 * 4;