* rs6000-tdep.c (branch_dest): Deal with stepping through system call.

This commit is contained in:
Jim Kingdon 1993-04-26 16:44:03 +00:00
parent 63ddbacf19
commit 9aa31e91d6
2 changed files with 14 additions and 1 deletions

View File

@ -1,3 +1,9 @@
Mon Apr 26 07:13:32 1993 Jim Kingdon (kingdon@cygnus.com)
* rs6000-tdep.c (branch_dest): Deal with stepping through system call.
* symtab.h, xcoffread.c: Revise linetable sorting comments.
Sun Apr 25 02:32:16 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de)
* valops.c (value_cast): A cast might also change the object

View File

@ -106,8 +106,15 @@ branch_dest (opcode, instr, pc, safety)
dest = read_register (LR_REGNUM) & ~3;
else if (ext_op == 528) /* br cond to count reg */
dest = read_register (CTR_REGNUM) & ~3;
{
dest = read_register (CTR_REGNUM) & ~3;
/* If we are about to execute a system call, dest is something
like 0x22fc or 0x3b00. Upon completion the system call
will return to the address in the link register. */
if (dest < TEXT_SEGMENT_BASE)
dest = read_register (LR_REGNUM) & ~3;
}
else return -1;
break;