* mips-tdep.c (mips_push_arguments): Tweak alignment of register
value if the remaining length of a non-integral argument is smaller than the register size for big-endian non-EABI mode. * rs6000-tdep.c (branch_dest): Handle return from signal handler function via sigreturn kernel call.
This commit is contained in:
parent
4141b1c63d
commit
0c6c5eebf4
@ -1,3 +1,12 @@
|
||||
Tue Sep 23 00:08:18 1997 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
|
||||
|
||||
* mips-tdep.c (mips_push_arguments): Tweak alignment of register
|
||||
value if the remaining length of a non-integral argument is smaller
|
||||
than the register size for big-endian non-EABI mode.
|
||||
|
||||
* rs6000-tdep.c (branch_dest): Handle return from signal
|
||||
handler function via sigreturn kernel call.
|
||||
|
||||
Mon Sep 22 15:32:06 1997 Dawn Perchik <dawn@cygnus.com>
|
||||
|
||||
* stabsread.h, symtab.h, dbxread.c, symtab.c, stabsread.c:
|
||||
|
@ -97,7 +97,23 @@ branch_dest (opcode, instr, pc, safety)
|
||||
ext_op = (instr>>1) & 0x3ff;
|
||||
|
||||
if (ext_op == 16) /* br conditional register */
|
||||
dest = read_register (LR_REGNUM) & ~3;
|
||||
{
|
||||
dest = read_register (LR_REGNUM) & ~3;
|
||||
|
||||
/* If we are about to return from a signal handler, dest is
|
||||
something like 0x3c90. The current frame is a signal handler
|
||||
caller frame, upon completion of the sigreturn system call
|
||||
execution will return to the saved PC in the frame. */
|
||||
if (dest < TEXT_SEGMENT_BASE)
|
||||
{
|
||||
struct frame_info *fi;
|
||||
|
||||
fi = get_current_frame ();
|
||||
if (fi != NULL)
|
||||
dest = read_memory_integer (fi->frame + SIG_FRAME_PC_OFFSET,
|
||||
4);
|
||||
}
|
||||
}
|
||||
|
||||
else if (ext_op == 528) /* br cond to count reg */
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user