* i386nbsd-tdep.c (i386nbsd_sigtramp_offset): Change argument from
CORE_ADDR to struct frame_info *. Use safe_frame_unwind_memory instead of deprecated_read_memory_nobpt. (i386nbsd_sigtramp_p): Adjust for changed signature of i386nbsd_sigtramp_offset.
This commit is contained in:
parent
c822af0c70
commit
24f9f5e353
2 changed files with 12 additions and 5 deletions
|
@ -1,5 +1,11 @@
|
||||||
2004-08-05 Mark Kettenis <kettenis@chello.nl>
|
2004-08-05 Mark Kettenis <kettenis@chello.nl>
|
||||||
|
|
||||||
|
* i386nbsd-tdep.c (i386nbsd_sigtramp_offset): Change argument from
|
||||||
|
CORE_ADDR to struct frame_info *. Use safe_frame_unwind_memory
|
||||||
|
instead of deprecated_read_memory_nobpt.
|
||||||
|
(i386nbsd_sigtramp_p): Adjust for changed signature of
|
||||||
|
i386nbsd_sigtramp_offset.
|
||||||
|
|
||||||
* i386obsd-tdep.c (i386obsd_sigtramp_p): Use
|
* i386obsd-tdep.c (i386obsd_sigtramp_p): Use
|
||||||
safe_frame_unwind_memory instead of target_read_memory.
|
safe_frame_unwind_memory instead of target_read_memory.
|
||||||
|
|
||||||
|
|
|
@ -132,13 +132,14 @@ static const unsigned char sigtramp_retcode[] =
|
||||||
};
|
};
|
||||||
|
|
||||||
static LONGEST
|
static LONGEST
|
||||||
i386nbsd_sigtramp_offset (CORE_ADDR pc)
|
i386nbsd_sigtramp_offset (struct frame_info *next_frame)
|
||||||
{
|
{
|
||||||
|
CORE_ADDR pc = frame_pc_unwind (next_frame);
|
||||||
unsigned char ret[sizeof(sigtramp_retcode)], insn;
|
unsigned char ret[sizeof(sigtramp_retcode)], insn;
|
||||||
LONGEST off;
|
LONGEST off;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (deprecated_read_memory_nobpt (pc, &insn, 1) != 0)
|
if (!safe_frame_unwind_memory (next_frame, pc, &insn, 1))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
switch (insn)
|
switch (insn)
|
||||||
|
@ -150,7 +151,7 @@ i386nbsd_sigtramp_offset (CORE_ADDR pc)
|
||||||
case RETCODE_INSN2:
|
case RETCODE_INSN2:
|
||||||
/* INSN2 and INSN3 are the same. Read at the location of PC+1
|
/* INSN2 and INSN3 are the same. Read at the location of PC+1
|
||||||
to determine if we're actually looking at INSN2 or INSN3. */
|
to determine if we're actually looking at INSN2 or INSN3. */
|
||||||
if (deprecated_read_memory_nobpt (pc + 1, &insn, 1) != 0)
|
if (!safe_frame_unwind_memory (next_frame, pc + 1, &insn, 1))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (insn == RETCODE_INSN3)
|
if (insn == RETCODE_INSN3)
|
||||||
|
@ -173,7 +174,7 @@ i386nbsd_sigtramp_offset (CORE_ADDR pc)
|
||||||
|
|
||||||
pc -= off;
|
pc -= off;
|
||||||
|
|
||||||
if (deprecated_read_memory_nobpt (pc, (char *) ret, sizeof (ret)) != 0)
|
if (!safe_frame_unwind_memory (next_frame, pc, ret, sizeof (ret)))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (memcmp (ret, sigtramp_retcode, sizeof (ret)) == 0)
|
if (memcmp (ret, sigtramp_retcode, sizeof (ret)) == 0)
|
||||||
|
@ -193,7 +194,7 @@ i386nbsd_sigtramp_p (struct frame_info *next_frame)
|
||||||
|
|
||||||
find_pc_partial_function (pc, &name, NULL, NULL);
|
find_pc_partial_function (pc, &name, NULL, NULL);
|
||||||
return (nbsd_pc_in_sigtramp (pc, name)
|
return (nbsd_pc_in_sigtramp (pc, name)
|
||||||
|| i386nbsd_sigtramp_offset (pc) >= 0);
|
|| i386nbsd_sigtramp_offset (next_frame) >= 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* From <machine/signal.h>. */
|
/* From <machine/signal.h>. */
|
||||||
|
|
Loading…
Reference in a new issue