------- Comment #4 from wilson at specifix dot com  2007-07-02 18:34 -------
Subject: Re:  Runtime failure in SPEC CPU2000 benchmark
        fma3d and applu

On Sat, 2007-06-30 at 02:10 +0000, zadeck at naturalbridge dot com 
> and then define ARCH_DOES_NOT_USE_DWARF2 in the right place in the ia-64.

We do use DWARF2 debug info, just not DWARF2 unwind info.  So this name
is a little misleading.  However, this does sound like a good idea.  

There is already a macro TARGET_UNWIND_INFO that we should be able to
use for this.  This is defined for targets that have their own
non-DWARF2 unwind info format.  This is defined by only 2 targets: IA-64
and ARM BPABI.  The change you suggested would be safe for IA-64.  I
don't know about ARM BPABI.  I know ARM BPABI has its own unwind info
format, but don't know any details.

The ARM case is strange.  It is setting both DWARF2_UNWIND_INFO and
TARGET_UNWIND_INFO.  This seems broken to me, as it means we may emit
two different kinds of unwind info.  This conflicts with the original
IA-64 usage of this macro, which wants only the one non-DWARF2 unwind
info.  However, this means that disabling the defaults.h code for
DWARF2_UNWIND_INFO will have no effect for arm as it already sets
DWARF2_UNWIND_INFO, so this should be OK.  I will have to build an ARM
target and check to see what is really happening here.

I looked a bit more at what happens if DWARF2_UNWIND_INFO is defined to
0.  There are a number of targets that already do this, and the docs say
that this disables use of dwarf2 unwind info, but enables use of dwarf
frame info for the debugger.  But the dwarf2 frame info is redundant for
IA-64 because we already have frame info in the IA-64 unwind info, and
the debugger already knows how to use this frame info.  Unfortunately,
the docs say that defining TARGET_UNWIND_INFO is supposed to generate
dwarf2 frame info for the debugger.  So this will not work for IA-64 as
currently documented.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32552

Reply via email to