Fix-up for commit e08a7f620c037275e2c1c5940b56b536077cd98b
"Remove HAVE_GNU_AS", which didn't consider that GCC/GCN is using LLVM's
'llvm-mc' as its assembler. In 'gcc/configure', that one was correctly
detected as 'gas=no':
# Check if we are using GNU as if not already set.
if test -z "$gas"; then
if $gcc_cv_as --version 2>/dev/null | grep GNU > /dev/null; then
gas=yes
else
gas=no
fi
fi
..., so didn't get 'HAVE_GNU_AS' defined. Now we're not handling it
specially anymore, so the default 'ASM_V_SPEC' applies, which changes
'gcc/specs':
*asm_options:
[...] {+%{v} %{w:-W} %{I*}+} [...]
..., and we regress:
Running [...]/gcc.misc-tests/options.exp ...
[-PASS:-]{+FAIL:+} compiler driver -fdump-ipa-all-address option(s)
{+(linker options)+}
[-PASS:-]{+FAIL:+} compiler driver -fdump-ipa-all-alias option(s) {+(linker
options)+}
[...]
[-PASS:-]{+FAIL:+} compiler driver -fdump-tree-all-vops option(s) {+(linker
options)+}
..., as these test cases invoke GCC with '-v', which now gets forwarded
to the GCN assembler ('llvm-mc'), which that one doesn't like:
[...]
[...]/gcc/as -v [...]
as: Unknown command line argument '-v'. Try: '[...]/as --help'
as: Did you mean '-I'?
compiler exited with status 1
gcc/
* config/gcn/gcn.h (ASM_V_SPEC): Define.
---
gcc/config/gcn/gcn.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/gcc/config/gcn/gcn.h b/gcc/config/gcn/gcn.h
index 3f0dc415cbe..87605edd79c 100644
--- a/gcc/config/gcn/gcn.h
+++ b/gcc/config/gcn/gcn.h
@@ -84,6 +84,9 @@ extern const struct gcn_device_def {
{"arch", "%{!march=*:-march=%(VALUE)}" }, \
{"tune", "%{!mtune=*:-mtune=%(VALUE)}" }
+/* Assembler doesn't support '-v' option. */
+#define ASM_V_SPEC ""
+
/* Default target_flags if no switches specified. */
#ifndef TARGET_DEFAULT
#define TARGET_DEFAULT 0
--
2.34.1