This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Last build failure in alpha-osf1-tdep.c (I promise :)


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]