* RFC: Use Dwarf 2 CFI on PowerPC targets
@ 2004-09-08 15:44 Jim Blandy
2005-03-26 22:43 ` Daniel Jacobowitz
0 siblings, 1 reply; 5+ messages in thread
From: Jim Blandy @ 2004-09-08 15:44 UTC (permalink / raw)
To: gdb-patches
This works fine on PowerPC E500 Linux; I'm still testing it on other
platforms. Thus it's a Request for Comments, not Approval. I'll be
back with test results on AIX, sim, and plain PowerPC Linux in a bit.
2004-09-02 Jim Blandy <jimb@redhat.com>
* rs6000-tdep.c: #include "dwarf2-frame.h".
(rs6000_dwarf2_reg_to_regnum): Recognize 65 as another number for lr.
(rs6000_gdbarch_init): Hook in dwarf2_frame_sniffer.
* Makefile.in (rs6000-tdep.o): Update dependencies.
Index: gdb/Makefile.in
===================================================================
RCS file: /cvs/src/src/gdb/Makefile.in,v
retrieving revision 1.613
diff -c -p -r1.613 Makefile.in
*** gdb/Makefile.in 1 Sep 2004 18:00:27 -0000 1.613
--- gdb/Makefile.in 2 Sep 2004 17:11:13 -0000
*************** rs6000-tdep.o: rs6000-tdep.c $(defs_h) $
*** 2396,2402 ****
$(reggroups_h) $(libbfd_h) $(coff_internal_h) $(libcoff_h) \
$(coff_xcoff_h) $(libxcoff_h) $(elf_bfd_h) $(solib_svr4_h) \
$(ppc_tdep_h) $(gdb_assert_h) $(dis_asm_h) $(trad_frame_h) \
! $(frame_unwind_h) $(frame_base_h)
s390-nat.o: s390-nat.c $(defs_h) $(tm_h) $(regcache_h) $(inferior_h) \
$(s390_tdep_h)
s390-tdep.o: s390-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) $(inferior_h) \
--- 2396,2402 ----
$(reggroups_h) $(libbfd_h) $(coff_internal_h) $(libcoff_h) \
$(coff_xcoff_h) $(libxcoff_h) $(elf_bfd_h) $(solib_svr4_h) \
$(ppc_tdep_h) $(gdb_assert_h) $(dis_asm_h) $(trad_frame_h) \
! $(frame_unwind_h) $(frame_base_h) $(dwarf2_frame_h)
s390-nat.o: s390-nat.c $(defs_h) $(tm_h) $(regcache_h) $(inferior_h) \
$(s390_tdep_h)
s390-tdep.o: s390-tdep.c $(defs_h) $(arch_utils_h) $(frame_h) $(inferior_h) \
Index: gdb/rs6000-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/rs6000-tdep.c,v
retrieving revision 1.229
diff -c -p -r1.229 rs6000-tdep.c
*** gdb/rs6000-tdep.c 9 Aug 2004 18:43:21 -0000 1.229
--- gdb/rs6000-tdep.c 2 Sep 2004 17:11:14 -0000
***************
*** 40,45 ****
--- 40,46 ----
#include "sim-regno.h"
#include "gdb/sim-ppc.h"
#include "reggroups.h"
+ #include "dwarf2-frame.h"
#include "libbfd.h" /* for bfd_default_set_arch_mach */
#include "coff/internal.h" /* for libcoff.h */
*************** rs6000_dwarf2_reg_to_regnum (int num)
*** 2067,2072 ****
--- 2068,2077 ----
else
switch (num)
{
+ /* FIXME: jimb/2004-09-02: I think it's a bug that GCC ever
+ emits this. But GCC 3.4 does use it in .debug_frame. */
+ case 65:
+ return tdep->ppc_lr_regnum;
case 67:
return tdep->ppc_vrsave_regnum - 1; /* vscr */
case 99:
*************** rs6000_gdbarch_init (struct gdbarch_info
*** 3281,3286 ****
--- 3286,3294 ----
/* Helpers for function argument information. */
set_gdbarch_fetch_pointer_argument (gdbarch, rs6000_fetch_pointer_argument);
+ /* Hook in the DWARF CFI frame unwinder. */
+ frame_unwind_append_sniffer (gdbarch, dwarf2_frame_sniffer);
+
/* Hook in ABI-specific overrides, if they have been registered. */
gdbarch_init_osabi (info, gdbarch);
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: RFC: Use Dwarf 2 CFI on PowerPC targets
2004-09-08 15:44 RFC: Use Dwarf 2 CFI on PowerPC targets Jim Blandy
@ 2005-03-26 22:43 ` Daniel Jacobowitz
2005-03-27 0:40 ` Andreas Schwab
0 siblings, 1 reply; 5+ messages in thread
From: Daniel Jacobowitz @ 2005-03-26 22:43 UTC (permalink / raw)
To: Jim Blandy; +Cc: gdb-patches
On Wed, Sep 08, 2004 at 10:43:27AM -0500, Jim Blandy wrote:
>
> This works fine on PowerPC E500 Linux; I'm still testing it on other
> platforms. Thus it's a Request for Comments, not Approval. I'll be
> back with test results on AIX, sim, and plain PowerPC Linux in a bit.
>
> 2004-09-02 Jim Blandy <jimb@redhat.com>
>
> * rs6000-tdep.c: #include "dwarf2-frame.h".
> (rs6000_dwarf2_reg_to_regnum): Recognize 65 as another number for lr.
> (rs6000_gdbarch_init): Hook in dwarf2_frame_sniffer.
> * Makefile.in (rs6000-tdep.o): Update dependencies.
Did you ever finish testing these? There are now twelve targets which
use dwarf2_frame_sniffer and I've just posted a patch to enable it for
another, but PPC is still behind.
--
Daniel Jacobowitz
CodeSourcery, LLC
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: RFC: Use Dwarf 2 CFI on PowerPC targets
2005-03-26 22:43 ` Daniel Jacobowitz
@ 2005-03-27 0:40 ` Andreas Schwab
2005-03-29 17:42 ` Jim Blandy
0 siblings, 1 reply; 5+ messages in thread
From: Andreas Schwab @ 2005-03-27 0:40 UTC (permalink / raw)
To: Jim Blandy; +Cc: gdb-patches
Daniel Jacobowitz <drow@false.org> writes:
> On Wed, Sep 08, 2004 at 10:43:27AM -0500, Jim Blandy wrote:
>>
>> This works fine on PowerPC E500 Linux; I'm still testing it on other
>> platforms. Thus it's a Request for Comments, not Approval. I'll be
>> back with test results on AIX, sim, and plain PowerPC Linux in a bit.
>>
>> 2004-09-02 Jim Blandy <jimb@redhat.com>
>>
>> * rs6000-tdep.c: #include "dwarf2-frame.h".
>> (rs6000_dwarf2_reg_to_regnum): Recognize 65 as another number for lr.
>> (rs6000_gdbarch_init): Hook in dwarf2_frame_sniffer.
>> * Makefile.in (rs6000-tdep.o): Update dependencies.
>
> Did you ever finish testing these? There are now twelve targets which
> use dwarf2_frame_sniffer and I've just posted a patch to enable it for
> another, but PPC is still behind.
I've tested the patch with current HEAD on powerpc-suse-linux, and there
are 73 regressions and 17 progressions.
+FAIL: gdb.base/corefile.exp: backtrace in corefile.exp
-FAIL: gdb.base/gcore.exp: where in corefile (pattern 2)
+FAIL: gdb.base/funcargs.exp: backtrace from call6c (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call6d (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call6e (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call6f (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call6g (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call6h (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call6i (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call6j (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call6k (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7c (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7d (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7e (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7f (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7g (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7h (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7i (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7j (pattern 3)
+FAIL: gdb.base/funcargs.exp: backtrace from call7k (pattern 3)
+FAIL: gdb.base/funcargs.exp: recursive passing of structs by value (pattern 8 + sentinel)
+FAIL: gdb.base/gcore.exp: where in corefile (pattern 3)
-FAIL: gdb.base/recurse.exp: second instance watchpoint deleted when leaving scope
-FAIL: gdb.base/recurse.exp: continue to first instance watchpoint, second time
-FAIL: gdb.base/recurse.exp: first instance watchpoint deleted when leaving scope
-FAIL: gdb.base/sigbpt.exp: stepi; stepi out of handler
-FAIL: gdb.base/sigbpt.exp: stepi bp before segv; stepi out of handler
-FAIL: gdb.base/sigbpt.exp: stepi bp at segv; stepi out of handler
-FAIL: gdb.base/sigbpt.exp: stepi bp before and at segv; stepi out of handler
-FAIL: gdb.base/sigstep.exp: stepi from handleri; leave handler
-FAIL: gdb.base/sigstep.exp: nexti from handleri; leave handler
+FAIL: gdb.base/langs.exp: backtrace in langs.exp
+FAIL: gdb.base/langs.exp: up to cppsub_ in langs.exp
+FAIL: gdb.base/langs.exp: up to fsub in langs.exp
+FAIL: gdb.base/langs.exp: show language at fsub in langs.exp
+FAIL: gdb.base/langs.exp: up to langs0__2do in langs.exp
+FAIL: gdb.base/langs.exp: show language at langs0__2do in langs.exp
+FAIL: gdb.base/langs.exp: up to main in langs.exp
+FAIL: gdb.base/savedregs.exp: Check dummy info frame; stack contains callee caller dummy catcher sigtramp thrower main
+FAIL: gdb.base/sigaltstack.exp: backtrace (pattern 4)
+FAIL: gdb.base/sigaltstack.exp: finish to catch INNER (the program exited)
+FAIL: gdb.base/sigaltstack.exp: finish from catch INNER
+FAIL: gdb.base/sigaltstack.exp: finish to OUTER
+FAIL: gdb.base/sigaltstack.exp: finish to catch MAIN
+FAIL: gdb.base/sigaltstack.exp: finish to MAIN
+FAIL: gdb.cp/classes.exp: print (int)pmi == sizeof(int)
+FAIL: gdb.cp/classes.exp: print bar.st
+FAIL: gdb.cp/classes.exp: print *$
+FAIL: gdb.cp/classes.exp: print csi without static members
+FAIL: gdb.cp/classes.exp: print cnsi without static members
+FAIL: gdb.cp/classes.exp: print csi with static members
+FAIL: gdb.cp/classes.exp: print cnsi with static members
+FAIL: gdb.cp/classes.exp: continue (the program is no longer running)
+FAIL: gdb.cp/classes.exp: finish from marker_reg1
+FAIL: gdb.cp/classes.exp: calling method for small class
+FAIL: gdb.mi/mi-stack.exp: stack frame listing
+FAIL: gdb.mi/mi-stack.exp: stack frame listing 1 1
+FAIL: gdb.mi/mi-stack.exp: stack frame listing 1 3
+FAIL: gdb.mi/mi-stack.exp: stack args listing 0
+FAIL: gdb.mi/mi-stack.exp: stack args listing 0 1 3
+FAIL: gdb.mi/mi-stack.exp: stack args listing 1
+FAIL: gdb.mi/mi-stack.exp: stack args listing 1 1 3
+FAIL: gdb.mi/mi-stack.exp: stack info-depth
+FAIL: gdb.mi/mi-syn-frame.exp: 407-stack-list-frames
+FAIL: gdb.mi/mi-syn-frame.exp: 408-exec-continue
+FAIL: gdb.mi/mi-syn-frame.exp: 409-stack-list-frames 0 0
+FAIL: gdb.mi/mi-syn-frame.exp: backtrace from inferior function at exception
+FAIL: gdb.mi/mi2-stack.exp: stack frame listing
+FAIL: gdb.mi/mi2-stack.exp: stack frame listing 1 1
+FAIL: gdb.mi/mi2-stack.exp: stack frame listing 1 3
+FAIL: gdb.mi/mi2-stack.exp: stack args listing 0
+FAIL: gdb.mi/mi2-stack.exp: stack args listing 0 1 3
+FAIL: gdb.mi/mi2-stack.exp: stack args listing 1
+FAIL: gdb.mi/mi2-stack.exp: stack args listing 1 1 3
+FAIL: gdb.mi/mi2-stack.exp: stack info-depth
+FAIL: gdb.mi/mi2-syn-frame.exp: 407-stack-list-frames
+FAIL: gdb.mi/mi2-syn-frame.exp: 408-exec-continue
+FAIL: gdb.mi/mi2-syn-frame.exp: 409-stack-list-frames 0 0
+FAIL: gdb.mi/mi2-syn-frame.exp: backtrace from inferior function at exception
-FAIL: gdb.threads/gcore-thread.exp: corefile contains at least two threads
-FAIL: gdb.threads/linux-dp.exp: philosopher is distinct: 1
+FAIL: gdb.threads/linux-dp.exp: first thread-specific breakpoint hit
-FAIL: gdb.threads/pthreads.exp: check backtrace from main thread
-FAIL: gdb.threads/pthreads.exp: check backtrace from thread 1
-FAIL: gdb.threads/pthreads.exp: apply backtrace command to all three threads
-FAIL: gdb.threads/schedlock.exp: thread 2 ran (didn't run)
+FAIL: gdb.threads/pthread_cond_wait.exp: backtrace in blocked thread
+FAIL: gdb.threads/schedlock.exp: thread 3 ran (didn't run)
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: RFC: Use Dwarf 2 CFI on PowerPC targets
2005-03-27 0:40 ` Andreas Schwab
@ 2005-03-29 17:42 ` Jim Blandy
2005-03-29 21:45 ` Andreas Schwab
0 siblings, 1 reply; 5+ messages in thread
From: Jim Blandy @ 2005-03-29 17:42 UTC (permalink / raw)
To: Andreas Schwab; +Cc: gdb-patches
Andreas Schwab <schwab@suse.de> writes:
> Daniel Jacobowitz <drow@false.org> writes:
>
> > On Wed, Sep 08, 2004 at 10:43:27AM -0500, Jim Blandy wrote:
> >>
> >> This works fine on PowerPC E500 Linux; I'm still testing it on other
> >> platforms. Thus it's a Request for Comments, not Approval. I'll be
> >> back with test results on AIX, sim, and plain PowerPC Linux in a bit.
> >>
> >> 2004-09-02 Jim Blandy <jimb@redhat.com>
> >>
> >> * rs6000-tdep.c: #include "dwarf2-frame.h".
> >> (rs6000_dwarf2_reg_to_regnum): Recognize 65 as another number for lr.
> >> (rs6000_gdbarch_init): Hook in dwarf2_frame_sniffer.
> >> * Makefile.in (rs6000-tdep.o): Update dependencies.
> >
> > Did you ever finish testing these? There are now twelve targets which
> > use dwarf2_frame_sniffer and I've just posted a patch to enable it for
> > another, but PPC is still behind.
>
> I've tested the patch with current HEAD on powerpc-suse-linux, and there
> are 73 regressions and 17 progressions.
Which GCC are you using? One problem I ran into was that GCC's
.debug_frame information used one number for the return address
register in the CIE's, and a different one in the FDE's.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: RFC: Use Dwarf 2 CFI on PowerPC targets
2005-03-29 17:42 ` Jim Blandy
@ 2005-03-29 21:45 ` Andreas Schwab
0 siblings, 0 replies; 5+ messages in thread
From: Andreas Schwab @ 2005-03-29 21:45 UTC (permalink / raw)
To: Jim Blandy; +Cc: gdb-patches
Jim Blandy <jimb@redhat.com> writes:
> Which GCC are you using?
Both 3.3.5 and 4.0, with only minimal differences.
Andreas.
--
Andreas Schwab, SuSE Labs, schwab@suse.de
SuSE Linux Products GmbH, MaxfeldstraÃe 5, 90409 Nürnberg, Germany
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
"And now for something completely different."
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-03-29 21:45 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-09-08 15:44 RFC: Use Dwarf 2 CFI on PowerPC targets Jim Blandy
2005-03-26 22:43 ` Daniel Jacobowitz
2005-03-27 0:40 ` Andreas Schwab
2005-03-29 17:42 ` Jim Blandy
2005-03-29 21:45 ` Andreas Schwab
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox