* i386obsd-tdep.c (i386obsd_sigtramp_p): Adjust for changed signal

trampoline in OpenBSD 3.5-current.
This commit is contained in:
Mark Kettenis 2004-08-04 21:07:42 +00:00
parent b87bc0d80e
commit 9c8e3411a9
2 changed files with 15 additions and 2 deletions

View File

@ -1,5 +1,8 @@
2004-08-04 Mark Kettenis <kettenis@gnu.org>
* i386obsd-tdep.c (i386obsd_sigtramp_p): Adjust for changed signal
trampoline in OpenBSD 3.5-current.
* i387-tdep.c (i387_supply_fsave): Provide summy values for the
SSE registers.

View File

@ -78,15 +78,25 @@ i386obsd_sigtramp_p (struct frame_info *next_frame)
if (find_pc_section (pc) != NULL)
return 0;
/* If we can't read the instructions at START_PC, return zero. */
/* Allocate buffer. */
buf = alloca (sizeof sigreturn);
if (target_read_memory (start_pc + 0x14, buf, sizeof sigreturn))
/* If we can't read the instructions at START_PC, return zero. */
if (target_read_memory (start_pc + 0x0a, buf, sizeof sigreturn))
return 0;
/* Check for sigreturn(2). */
if (memcmp (buf, sigreturn, sizeof sigreturn) == 0)
return 1;
/* If we can't read the instructions at START_PC, return zero. */
if (target_read_memory (start_pc + 0x14, buf, sizeof sigreturn))
return 0;
/* Check for sigreturn(2) (again). */
if (memcmp (buf, sigreturn, sizeof sigreturn) == 0)
return 1;
return 0;
}