This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC 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: [PATCH] Temporarily revert Steven's PCH changes for 4.8 (PR pch/54117)


Il 13/02/2013 22:12, Steven Bosscher ha scritto:
> On Wed, Feb 13, 2013 at 4:54 PM, Jakub Jelinek wrote:
>> Hi!
>>
>> As agreed on in the PR, here is the revertion of 3 commits, so that
>> PCH works again for -gstabs and other debug info formats for 4.8
>> release.  For 4.9 we should either remove support for anything non-DWARF, or
>> hope somebody steps up and fixes dbxout.c etc. not to emit debug info right
>> away, but queue it till end of compilation.
> 
> 
> Hello,
> 
> I'd still like to propose deprecating all stabs support for GCC 4.8 and
> remove it for GCC 4.9 (i.e. dbxout, sdbout, xcoffout).
> 
> It's not a very useful debug info format, after all.  The only
> argument against DWARF, that it is so much larger than stabs,
> is something I haven't been able to reproduce (see
> http://sourceware.org/ml/binutils/2013-01/msg00221.html and
> http://sourceware.org/ml/binutils/2013-01/msg00239.html).
> DWARF compression via dwz, and debug-fission will improve things
> even further.
> 
> An important question is of course: Who still *needs* stabs? If there
> are important platforms that need stabs support to continue to work,
> then deprecating is probably not a realistic option yet...

stabs are "needed" to use VTune on Windows.

Paolo

> The list of platforms that are IMHO blockers rights now, with possible
> solutions for GCC 4.9, are:
> 
> * hppa2.0w-hp-hpux11.11 - no solution immediately available
> * powerpc-ibm-aix* - only support AIX7 and later
>    -> deprecate AIX6 and older in GCC 4.8
> * ix86-*-openbsd2.*, ix86-*openbsd3.[0123] - OpenBSD 3.3 was released
>   in May 2003 -> deprecate for GCC 4.8
> * m68k*-*-openbsd - port has seen no active maintenance, and has no
>   test results posted, ever -> deprecate for GCC 4.8
> * pdp11-*-* - toy port -> default to DEBUG_NONE
> * ix86-*-interix* - no solution immediately available, and no-one
>   listed in MAINTAINERS to ask for help, so maybe Doug can say
>   something about this one?
> 
> Platforms that support DWARF2+ but currently have another default
> preferred debug info type, would be changed to default to DWARF2+.
> 
> So older AIX and 32-bits HPUX are the only real problem cases.
> 
> Ciao!
> Steven
> 
> 
> 
> 
> 
> 
> 
> All GCC 4.8 primary platforms support DWARF2+, and AFAICT they all have
> it as their PREFERRED_DEBUGGING_TYPE (including freebsd):
> 
> * arm-linux-gnueabi
> * i386-unknown-freebsd
> * i686-pc-linux-gnu
> * mipsisa64-elf
> * powerpc64-unknown-linux-gnu
> * sparc-sun-solaris2.10
> * x86_64-unknown-linux-gnu
> 
> Most of the above also include other debug info types by default, but
> DWARF2+ is the default.
> 
> For the secondary platforms list things are not so simple. Some of them
> have a non-DWARF PREFERRED_DEBUGGING_TYPE by default, and some only
> conditionally (old configurations):
> 
> * hppa2.0w-hp-hpux11.11 -> DBX_DEBUGGING_INFO
>     For 32-bits only, but that's the most common subtarget.
>     According to Dave, it should be possible to add DRAWF2+ support:
>     http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54117#c14
>     Perhaps Dave can explain what would have to be done to move this
>     platform to DWARF2...?
> 
> * powerpc-ibm-aix7.1.0.0 -> XCOFF_DEBUGGING_INFO
>     I think this is for historical reasons. AIX7 has DWARF support,
>     but it looks like that's not yet implemented in GCC.
>     Older AIX do not support DWARF, AFAICT (David E.?).
> 
> * i686-apple-darwin -> DBX_DEBUGGING_INFO
>     MacOSX10.4, 32-bits (darwin8).
>     All 64bits and darwin9+ prefer DWARF2.
> 
> * i686-pc-cygwin, i686-mingw32 -> DBX_DEBUGGING_INFO
>     With binutils 2.16 and later, DWARF2_DEBUGGING_INFO is the default:
>     http://sourceware.org/ml/binutils/2004-04/msg00327.html
>     http://gcc.gnu.org/ml/gcc-patches/2004-04/msg01885.html
>     http://cygwin.com/ml/cygwin/2006-06/msg00865.html
> 
> * s390x-linux-gnu -> DWARF2_DEBUGGING_INFO
> 
> 
> Other platforms that support DWARF2+ and have it as the preferred type:
> * *-*-elf* via:
>   config/elfos.h:#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
>   This is practically all ELF platforms.  A few target headers redefine
>   PREFERRED_DEBUGGING_TYPE, usually to DWARF2_DEBUG again...
>   Exceptions are microblaze*-*-rtems*, microblaze*-*-elf*
> * tic6x-*-*, ix86-*-nto-qnx* via:
>   config/tm-dwarf2.h:#define  PREFERRED_DEBUGGING_TYPE  DWARF2_DEBUG
> * *-*-vxworks* via:
>   config/vx-common.h:#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
> * alpha*-dec-*vms* via:
>   config/alpha/vms.h:#define PREFERRED_DEBUGGING_TYPE VMS_AND_DWARF2_DEBUG
> * hppa*64*-*-hpux11* via:
>   config/pa/pa64-hpux.h:#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
> 
> 
> Other platforms that support DWARF2+ but prefer another debug info type
> by default:
> * rx-*-elf* if using TARGET_AS100_SYNTAX, via:
>   config/rx/rx.h:#define PREFERRED_DEBUGGING_TYPE (TARGET_AS100_SYNTAX \
>   config/rx/rx.h:                            ? DBX_DEBUG : DWARF2_DEBUG)
> * avr-*-* includes elfos.h but changes preffered debug info type via:
>   config/avr/elf.h:#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
> * powerpc-*-lynxos*, ix86-*-lynxos* include elfos.h but change the
>   preffered debug info type via:
>   config/lynx.h:# define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
> * ix86-pc-msdosdjgpp*, supports DWARF2+ via:
>   config/i386/djgpp.h:#define DWARF2_DEBUGGING_INFO 1
>   but picks up its preferred debug info via:
>   config/dbxcoff.h:#define PREFERRED_DEBUGGING_TYPE SDB_DEBUG
> * mn10300-*-*, v850*-*-* if configured --with-stabs, via
>   config/dbx.h:#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
> 
> 
> Targets that do not support DWARF2+:
> * ix86-*-openbsd2.*, ix86-*openbsd3.[0123]
> * m68k*-*-openbsd via config/m68k/openbsd.h:#define DBX_DEBUGGING_INFO 1
>   and no other files included that define another debug info type.
> * pdp11-*-*: config/pdp11/pdp11.h:#define DBX_DEBUGGING_INFO
> * ix86-*-interix* via:
>   config/i386/i386-interix.h:#define DBX_DEBUGGING_INFO 1
>   config/i386/i386-interix.h:#define SDB_DEBUGGING_INFO 1
>   config/i386/i386-interix.h:#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
>   and picks up nothing else from other header files.
> 
> 
> Unknown platforms:
> * config/arm/coff.h:#define PREFERRED_DEBUGGING_TYPE DBX_DEBUG
>   Does any platform use this file?
> 


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