Always default to DWARF2_DEBUG if not specified, warn about deprecated STABS
authorRichard Biener <rguenther@suse.de>
Fri, 10 Sep 2021 09:25:21 +0000 (11:25 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 15 Oct 2021 07:34:07 +0000 (09:34 +0200)
commit7bfe7d634f60b0a9ba1a456be59a1ee88abf112e
tree50172e06f305f746cddd0fa1445a52db391fa249
parent17ffb7a562061c54eb6eb9863271524568761cf6
Always default to DWARF2_DEBUG if not specified, warn about deprecated STABS

This makes defaults.h choose DWARF2_DEBUG if PREFERRED_DEBUGGING_TYPE
is not specified by the target and errors out if DWARF DWARF is not supported.

It also makes us warn when STABS is enabled but not the preferred
debugging type and removes the corresponding diagnostic from the Ada frontend.
The warnings are pruned from the testsuite output via prune_gcc_output.

The following target configurations now explicitely default to STABS:
 pdp11-*-*   pdp11 is a.out, dwarf support is difficult
 hppa[12]*-*-hpux10*  does not support DWARF
 hppa[12]*-*-hpux11*  likewise
note that the hppa configs have been deprecated.

Targets with DWARF support will now see
> ./cc1 -quiet t.c -gstabs
t.c: warning: STABS debugging information is obsolete and not supported anymore

that is, -gstabs will still generate STABS but use will be diagnosed
on targets where DWARF is available.

I have built all targets from contrib/config-list.mk to make sure we
don't run into the #error and the following makes the STABS usage
explicit for pdp11 and hppa with SOM.

This completes the series of deprecating STABS for GCC 12.

2021-09-21  Richard Biener  <rguenther@suse.de>

gcc/
* defaults.h (PREFERRED_DEBUGGING_TYPE): Choose DWARF2_DEBUG
when not set.
* toplev.c (process_options): Warn when STABS debugging is
enabled but not the preferred format.
* config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Define to
DBX_DEBUG.
* config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Likewise.

gcc/ada/
* gcc-interface/misc.c (gnat_post_options): Do not warn
about DBX_DEBUG use here.

gcc/testsuite/
* lib/prune.exp: Prune STABS obsoletion message.
gcc/ada/gcc-interface/misc.c
gcc/config/pa/som.h
gcc/config/pdp11/pdp11.h
gcc/defaults.h
gcc/testsuite/lib/prune.exp
gcc/toplev.c