gdb/testsuite: fix gdb.trace/unavailable-dwarf-piece.exp with Clang
authorAndrew Burgess <aburgess@redhat.com>
Fri, 11 Nov 2022 15:26:46 +0000 (15:26 +0000)
committerAndrew Burgess <aburgess@redhat.com>
Fri, 18 Nov 2022 11:21:37 +0000 (11:21 +0000)
commit33c1395cf5e9deec7733691ba32c450e5c27f757
treedc4d13fc4bfb4f8a9044384fb3f0cd39bb0b1581
parent6911239bbaa7b4365d3d0ff7b6cb296cfe43480c
gdb/testsuite: fix gdb.trace/unavailable-dwarf-piece.exp with Clang

I noticed that the test gdb.trace/unavailable-dwarf-piece.exp was
failing when run with Clang.  Or rather, the test was not running as
the test executable failed to compile.

The problem is that Clang was emitting this warning:

  warning: argument unused during compilation: '-fdiagnostics-color=never' [-Wunused-command-line-argument]

This warning is emitted when compiling the assembler file generated
by the DWARF assembler.

Most DWARF assembler tests generate the assembler file into a file
with the '.S' extension.  However, this particular test uses a '.s'
extension.

Now a .S file will be passed through the preprocessor, while a .s will
be sent straight to the assembler.  My guess is that Clang doesn't
support the -fdiagnostics-color=never option for the assembler, but
does for the preprocessor.

That's a little annoying, but easily worked around.  We don't care if
our assembler file is passed through the preprocessor, so, in this
commit, I just change the file extension from .s to .S, and the
problem is fixed.

Currently, the unavailable-dwarf-piece.exp script names the assembler
file using standard_output_file, in this commit I've switched to make
use of standard_testfile, as that seems to be the more common way of
doing this sort of thing.

With these changes the test now passes with Clang 9.0.1 and 15.0.2,
and also still passes with gcc.

Reviewed-By: Lancelot SIX <lancelot.six@amd.com>
gdb/testsuite/gdb.trace/unavailable-dwarf-piece.exp