gccgo driver: always act as though -g is passed
authorIan Lance Taylor <iant@golang.org>
Thu, 28 Jan 2021 23:46:59 +0000 (15:46 -0800)
committerIan Lance Taylor <iant@golang.org>
Thu, 28 Jan 2021 23:54:03 +0000 (15:54 -0800)
commite6bce7fe17bf32ce969abc6f77f07acd352f6977
tree74586cf74f23e55d6174f2a544bee2463d6a5b63
parent850a8ec54c4310d779004299bf9a0dec52324e9e
gccgo driver: always act as though -g is passed

The go1 compiler always turns on debugging, to support Go stack traces
and functions like runtime.Callers.  With the recent switch to turn on
DWARF 5 by default, this caused failures with some versions of gas,
such as 2.35.1, because the assembly code would assume DWARF 5 but the
driver would not pass --gdwarf-5 to gas.  gas would then give an
error: "file number less than one".

This change avoids that problem by having the gccgo driver spec add a
-g option to the command line if no other -g option is present.  The
newly added -g option is passed to the assembler as --gdwarf-5.

* gospec.c (lang_specific_driver): Add -g if no debugging options
were passed.
gcc/go/gospec.c