This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: Last build failure in alpha-osf1-tdep.c (I promise :)
- From: Andrew Cagney <ac131313 at redhat dot com>
- To: Joel Brobecker <brobecker at gnat dot com>
- Cc: gdb-patches at sources dot redhat dot com
- Date: Tue, 03 Jun 2003 23:09:39 -0400
- Subject: Re: Last build failure in alpha-osf1-tdep.c (I promise :)
- References: <20030604004536.GQ919@gnat.com>
A recent change in the tdep structure for the alpha target caused a
build failure on Tru64: skip_sigtramp_frame has been removed.
I really don't know what to do to fix this. It looks like Richard has
implemented a better unwinder in alpha-mdebug-tdep, which I should be
able to use on Tru64 as well. Here is just a diff showing the little
play on sources I did in order to illustrate my changes.
I haven't had time to look at this closer, so I don't know what I'm
doing. Help, please?
The function was being called from:
static CORE_ADDR
alpha_frame_chain (struct frame_info *frame)
but that's now all gone. In its place are per-frame frame unwinders.
In the alpha there are:
alpha_sigtramp_frame_this_id()
alpha_heuristic_frame_this_id()
alpha_mdebug_frame_this_id()
* config/alpha/alpha-osf1.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
Check alpha-linux-tdep.c, you'll want to steal the call:
/* Hook into the MDEBUG frame unwinder. */
alpha_mdebug_init_abi (info, gdbarch);
adding it to alpha-osf1-tdep.c. That will enable mdebug.
* alpha-osf1-tdep.c (alpha_osf1_init_abi): Do not set
skip_sigtramp_frame in tdep structure, field no longer exists.
Check this in. In fact, consider a patch to delete all occurances of
that function across alpha*tdep.c pre-approved.
Andrew
Index: alpha-osf1-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/alpha-osf1-tdep.c,v
retrieving revision 1.12
diff -c -3 -p -r1.12 alpha-osf1-tdep.c
*** alpha-osf1-tdep.c 3 Jun 2003 23:49:32 -0000 1.12
--- alpha-osf1-tdep.c 4 Jun 2003 00:32:06 -0000
*************** alpha_osf1_init_abi (struct gdbarch_info
*** 95,101 ****
argument handling and bp_call_dummy takes care of stopping the dummy. */
set_gdbarch_call_dummy_address (gdbarch, alpha_call_dummy_address);
- tdep->skip_sigtramp_frame = alpha_osf1_skip_sigtramp_frame;
tdep->sigcontext_addr = alpha_osf1_sigcontext_addr;
tdep->jb_pc = 2;
--- 99,104 ----
Index: config/alpha/alpha-osf1.mt
===================================================================
RCS file: /cvs/src/src/gdb/config/alpha/alpha-osf1.mt,v
retrieving revision 1.2
diff -c -3 -p -r1.2 alpha-osf1.mt
*** config/alpha/alpha-osf1.mt 25 Apr 2002 02:28:57 -0000 1.2
--- config/alpha/alpha-osf1.mt 4 Jun 2003 00:32:07 -0000
***************
*** 1,3 ****
# Target: Little-endian Alpha
! TDEPFILES= alpha-tdep.o alpha-osf1-tdep.o
TM_FILE= tm-alpha.h
--- 1,3 ----
# Target: Little-endian Alpha
! TDEPFILES= alpha-tdep.o alpha-osf1-tdep.o alpha-mdebug-tdep.o
TM_FILE= tm-alpha.h