2004-12-07 Randolph Chung <tausq@debian.org>
* hppa-tdep.c (hppa_stub_Frame_unwind_cache): Stop unwinding if unwinding from a frame with pc == 0. (hppa_stub_frame_this_id): Likewise. (hppa_stub_frame_prev_register): Only provide real values if the frame cache is not NULL.
This commit is contained in:
parent
419b8bfb23
commit
f1b38a5791
2 changed files with 23 additions and 3 deletions
|
@ -1,3 +1,11 @@
|
|||
2004-12-07 Randolph Chung <tausq@debian.org>
|
||||
|
||||
* hppa-tdep.c (hppa_stub_Frame_unwind_cache): Stop unwinding if
|
||||
unwinding from a frame with pc == 0.
|
||||
(hppa_stub_frame_this_id): Likewise.
|
||||
(hppa_stub_frame_prev_register): Only provide real values if the frame
|
||||
cache is not NULL.
|
||||
|
||||
2004-12-07 Randolph Chung <tausq@debian.org>
|
||||
|
||||
* solib-som.c: New file.
|
||||
|
|
|
@ -2092,6 +2092,9 @@ hppa_stub_frame_unwind_cache (struct frame_info *next_frame,
|
|||
if (*this_cache)
|
||||
return *this_cache;
|
||||
|
||||
if (frame_pc_unwind (next_frame) == 0)
|
||||
return NULL;
|
||||
|
||||
info = FRAME_OBSTACK_ZALLOC (struct hppa_stub_unwind_cache);
|
||||
*this_cache = info;
|
||||
info->saved_regs = trad_frame_alloc_saved_regs (next_frame);
|
||||
|
@ -2126,7 +2129,11 @@ hppa_stub_frame_this_id (struct frame_info *next_frame,
|
|||
{
|
||||
struct hppa_stub_unwind_cache *info
|
||||
= hppa_stub_frame_unwind_cache (next_frame, this_prologue_cache);
|
||||
*this_id = frame_id_build (info->base, frame_pc_unwind (next_frame));
|
||||
|
||||
if (info)
|
||||
*this_id = frame_id_build (info->base, frame_func_unwind (next_frame));
|
||||
else
|
||||
*this_id = null_frame_id;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -2138,8 +2145,13 @@ hppa_stub_frame_prev_register (struct frame_info *next_frame,
|
|||
{
|
||||
struct hppa_stub_unwind_cache *info
|
||||
= hppa_stub_frame_unwind_cache (next_frame, this_prologue_cache);
|
||||
|
||||
if (info)
|
||||
hppa_frame_prev_register_helper (next_frame, info->saved_regs, regnum,
|
||||
optimizedp, lvalp, addrp, realnump, valuep);
|
||||
optimizedp, lvalp, addrp, realnump,
|
||||
valuep);
|
||||
else
|
||||
error ("Requesting registers from null frame.\n");
|
||||
}
|
||||
|
||||
static const struct frame_unwind hppa_stub_frame_unwind = {
|
||||
|
|
Loading…
Add table
Reference in a new issue