* Last build failure in alpha-osf1-tdep.c (I promise :)
@ 2003-06-04 0:45 Joel Brobecker
2003-06-04 3:09 ` Andrew Cagney
0 siblings, 1 reply; 4+ messages in thread
From: Joel Brobecker @ 2003-06-04 0:45 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 714 bytes --]
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?
* config/alpha/alpha-osf1.mt (TDEPFILES): Add alpha-mdebug-tdep.o.
* alpha-osf1-tdep.c (alpha_osf1_init_abi): Do not set
skip_sigtramp_frame in tdep structure, field no longer exists.
Thanks,
--
Joel
[-- Attachment #2: alpha-tdep.diff --]
[-- Type: text/plain, Size: 1287 bytes --]
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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Last build failure in alpha-osf1-tdep.c (I promise :)
2003-06-04 0:45 Last build failure in alpha-osf1-tdep.c (I promise :) Joel Brobecker
@ 2003-06-04 3:09 ` Andrew Cagney
2003-06-04 5:24 ` Richard Henderson
2003-06-04 5:35 ` [commit] " Joel Brobecker
0 siblings, 2 replies; 4+ messages in thread
From: Andrew Cagney @ 2003-06-04 3:09 UTC (permalink / raw)
To: Joel Brobecker; +Cc: gdb-patches
> 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
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Last build failure in alpha-osf1-tdep.c (I promise :)
2003-06-04 3:09 ` Andrew Cagney
@ 2003-06-04 5:24 ` Richard Henderson
2003-06-04 5:35 ` [commit] " Joel Brobecker
1 sibling, 0 replies; 4+ messages in thread
From: Richard Henderson @ 2003-06-04 5:24 UTC (permalink / raw)
To: Andrew Cagney; +Cc: Joel Brobecker, gdb-patches
On Tue, Jun 03, 2003 at 11:09:39PM -0400, Andrew Cagney wrote:
> 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.
Yep. I should have gone ahead and done this registration
for all the alpha targets...
r~
^ permalink raw reply [flat|nested] 4+ messages in thread
* [commit] Re: Last build failure in alpha-osf1-tdep.c (I promise :)
2003-06-04 3:09 ` Andrew Cagney
2003-06-04 5:24 ` Richard Henderson
@ 2003-06-04 5:35 ` Joel Brobecker
1 sibling, 0 replies; 4+ messages in thread
From: Joel Brobecker @ 2003-06-04 5:35 UTC (permalink / raw)
To: Andrew Cagney; +Cc: gdb-patches
[-- Attachment #1: Type: text/plain, Size: 906 bytes --]
> Check alpha-linux-tdep.c, you'll want to steal the call:
>
> /* Hook into the MDEBUG frame unwinder. */
> alpha_mdebug_init_abi (info, gdbarch);
A separate patch will be posted real-soon-now...
> 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.
Here is what I committed:
2003-06-03 J. Brobecker <brobecker@gnat.com>
* alpha-osf1-tdep.c (alpha_osf1_skip_sigtramp_frame): Delete.
(alpha_osf1_init_abi): Do not set skip_sigtramp_frame in tdep
structure, field no longer exists.
There is still the alphanbsd-tdep.c file. I will take care of this one
momentarily.
Thanks for the hand,
--
Joel
[-- Attachment #2: sigtramp.diff --]
[-- Type: text/plain, Size: 1263 bytes --]
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 05:06:58 -0000
***************
*** 28,46 ****
#include "alpha-tdep.h"
- /* Under OSF/1, the __sigtramp routine is frameless and has a frame
- size of zero, but we are able to backtrace through it. */
- static CORE_ADDR
- alpha_osf1_skip_sigtramp_frame (struct frame_info *frame, CORE_ADDR pc)
- {
- char *name;
-
- find_pc_partial_function (pc, &name, (CORE_ADDR *) NULL, (CORE_ADDR *) NULL);
- if (PC_IN_SIGTRAMP (pc, name))
- return frame->frame;
- return 0;
- }
-
static int
alpha_osf1_pc_in_sigtramp (CORE_ADDR pc, char *func_name)
{
--- 28,33 ----
*************** 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;
--- 89,94 ----
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-06-04 5:35 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-06-04 0:45 Last build failure in alpha-osf1-tdep.c (I promise :) Joel Brobecker
2003-06-04 3:09 ` Andrew Cagney
2003-06-04 5:24 ` Richard Henderson
2003-06-04 5:35 ` [commit] " Joel Brobecker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox