On Tue, Nov 03, 2020 at 02:21:22PM -0800, Nick Desaulniers wrote: > > > This script fails for GCC 10. > > > > One thing is GCC DWARF-5 support, that is whether the compiler > > will support -gdwarf-5 flag, and that support should be there from > > GCC 7 onwards. > > I should improve my Kconfig check; I don't actually have a test for > -gdwarf-5 for the compiler. In godbolt, it looks like -gdwarf-5 > produces an error from GCC up until GCC 5.1. Does (5.1 < GCC < 7) not > produce DWARF5? No. After all, those versions also predate DWARF5. All 5.1 - 6.x did was start accepting -gdwarf-5 as experimental option that enabled some small DWARF subset (initially only a few DW_LANG_* codes newly added to DWARF5 drafts). Only GCC 7 (released after DWARF 5 has been finalized) started emitting DWARF5 section headers and got most of the DWARF5 changes in, e.g. including switching over most of the now standardized GNU extensions from their DW_*_GNU_* codes to DWARF5 DW_*). With GCC 5/6, you get: echo 'int i;' | gcc -c -o /tmp/test.o -xc - -gdwarf-5; readelf -wi /tmp/test.o | grep Version: Version: 4 while with 7+ Version: 5 instead. > Maybe there's a more specific test you had in mind? Guess what you want to test is what version you actually get in .debug_info if you compile with -gdwarf-5. > > Another separate thing is whether the assembler does support > > the -gdwarf-5 option (i.e. if you can compile assembler files > > with -Wa,-gdwarf-5) for GNU as I think that is binutils 35.1, > > i.e. very new); but only if you want to pass the -Wa,-gdwarf-5 > > only when compiling *.s and *.S files. That option is about whether > > the assembler will emit DWARF5 or DWARF2 .debug_line. > > It is fine to compile C sources with -gdwarf-5 and use DWARF2 > > .debug_line for assembler files if as doesn't support it. > > > > Yet another thing is if you can pass -Wa,-gdwarf-5 even when > > compiling C files. There are several bugs in that category that have been > > fixed only in the last few days on binutils trunk, I'd suggest > > just not to bother, GCC 11 will have proper test for fixed assembler > > and will pass -gdwarf-5 to as when compiling even C sources with -gdwarf-5. > > Do you have links? I would prefer to do feature detection rather than The https://gcc.gnu.org/r11-3693 https://gcc.gnu.org/r11-4338 commits contain those tests in gcc/configure.ac Jakub