On Wed, 15 Sep 2021, Koning, Paul wrote: > > > > On Sep 13, 2021, at 3:31 AM, Richard Biener <rguent...@suse.de> wrote: > > > > This makes defaults.h choose DWARF2_DEBUG if PREFERRED_DEBUGGING_TYPE > > is not specified by the target and NO_DEBUG if DWARF is not supported. > > As I'm looking at questions about old debug formats, it brings up the > question of old object formats. I don't remember what the status of > a.out is. Is that considered deprecated? Still current? Of course > most targets use elf, but is there an expectation to move away from > a.out the way there is an expectation to move away from STABS? > > Is this actually a binutils rather than a gcc question?
I guess it's a question for both - I do still see a.out targets in the configs supported by gas for example. Note that languages like C++ might have difficulties with object formats that do not support separate sections for instantiated templates for example, or for global initializers. We might have kludges for that in collect2 where removing those might be a motivation to deprecate object formats not supporting some set of features (named sections for example). As for "old", the problem with the legacy systems, being it pdp11 or hppa-hpux, is of course that they tend to be kept alive with minimal resources and doing major modernization doesn't really make sense if all that is wanted is to preserve them rather than turning them into something modern. That said - yes, I'd consider a.out purely legacy and not fit for the future. But it never came up on the radar of standing in the way of modernizing GCC in any area. Richard.