------- 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