mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-11-28 06:20:30 +00:00
* ia64-tdep.c (ia64_libunwind_frame_this_id): Adapt uses of
libunwind_frame_prev_register to use a gdb_byte buffer and extract_unsigned_integer. (ia64_libunwind_sigtramp_frame_prev_register): Likewise. * libunwind-frame.c (libunwind_frame_prev_register): Change type of last argument to `gdb_byte *' * libunwind-frame.h: Adjust declaration.
This commit is contained in:
parent
f53f0d0bde
commit
f1b4b38ecb
@ -1,3 +1,14 @@
|
||||
2006-03-08 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
* ia64-tdep.c (ia64_libunwind_frame_this_id): Adapt use of
|
||||
libunwind_frame_prev_register to use a gdb_byte buffer and
|
||||
extract_unsigned_integer.
|
||||
(ia64_libunwind_sigtramp_frame_prev_register): Likewise.
|
||||
|
||||
* libunwind-frame.c (libunwind_frame_prev_register): Change type
|
||||
of last argument to `gdb_byte *'
|
||||
* libunwind-frame.h: Adjust declaration.
|
||||
|
||||
2006-03-08 Paul Brook <paul@codesourcery.com>
|
||||
|
||||
* arm-tdep.c (arm_push_dummy_call): Remove stack alignment.
|
||||
|
@ -2732,7 +2732,8 @@ ia64_libunwind_frame_this_id (struct frame_info *next_frame, void **this_cache,
|
||||
and don't want to unwind past this frame. We return a null frame_id to
|
||||
indicate this. */
|
||||
libunwind_frame_prev_register (next_frame, this_cache, IA64_IP_REGNUM,
|
||||
&optimized, &lval, &addr, &realnum, &prev_ip);
|
||||
&optimized, &lval, &addr, &realnum, buf);
|
||||
prev_ip = extract_unsigned_integer (buf, 8);
|
||||
|
||||
if (prev_ip != 0)
|
||||
(*this_id) = frame_id_build_special (id.stack_addr, id.code_addr, bsp);
|
||||
@ -2892,6 +2893,7 @@ ia64_libunwind_sigtramp_frame_prev_register (struct frame_info *next_frame,
|
||||
int *realnump, gdb_byte *valuep)
|
||||
|
||||
{
|
||||
gdb_byte buf[8];
|
||||
CORE_ADDR prev_ip, addr;
|
||||
int realnum, optimized;
|
||||
enum lval_type lval;
|
||||
@ -2900,7 +2902,8 @@ ia64_libunwind_sigtramp_frame_prev_register (struct frame_info *next_frame,
|
||||
/* If the previous frame pc value is 0, then we want to use the SIGCONTEXT
|
||||
method of getting previous registers. */
|
||||
libunwind_frame_prev_register (next_frame, this_cache, IA64_IP_REGNUM,
|
||||
&optimized, &lval, &addr, &realnum, &prev_ip);
|
||||
&optimized, &lval, &addr, &realnum, buf);
|
||||
prev_ip = extract_unsigned_integer (buf, 8);
|
||||
|
||||
if (prev_ip == 0)
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Frame unwinder for frames using the libunwind library.
|
||||
|
||||
Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc.
|
||||
|
||||
Written by Jeff Johnston, contributed by Red Hat Inc.
|
||||
|
||||
@ -248,7 +248,7 @@ void
|
||||
libunwind_frame_prev_register (struct frame_info *next_frame, void **this_cache,
|
||||
int regnum, int *optimizedp,
|
||||
enum lval_type *lvalp, CORE_ADDR *addrp,
|
||||
int *realnump, void *valuep)
|
||||
int *realnump, gdb_byte *valuep)
|
||||
{
|
||||
struct libunwind_frame_cache *cache =
|
||||
libunwind_frame_cache (next_frame, this_cache);
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* Frame unwinder for frames with libunwind frame information.
|
||||
|
||||
Copyright (C) 2003 Free Software Foundation, Inc.
|
||||
Copyright (C) 2003, 2006 Free Software Foundation, Inc.
|
||||
|
||||
Contributed by Jeff Johnston.
|
||||
|
||||
@ -51,7 +51,7 @@ void libunwind_frame_this_id (struct frame_info *next_frame, void **this_cache,
|
||||
void libunwind_frame_prev_register (struct frame_info *next_frame, void **this_cache,
|
||||
int regnum, int *optimizedp,
|
||||
enum lval_type *lvalp, CORE_ADDR *addrp,
|
||||
int *realnump, void *valuep);
|
||||
int *realnump, gdb_byte *valuep);
|
||||
CORE_ADDR libunwind_frame_base_address (struct frame_info *next_frame, void **this_cache);
|
||||
|
||||
int libunwind_is_initialized (void);
|
||||
|
Loading…
Reference in New Issue
Block a user