我有一个GNU Makefile,它执行以下操作:
GAS210_OR_LATER = $(shell $(CXX) -xc -c /dev/null -Wa,-v -o/dev/null 2>&1 | $(EGREP) -c "GNU assembler version (2\.[1-9][0-9]|[3-9])")
后来基于GAS210_OR_LATER
建立了定义,我注意到有些定义在Clang下是错误的(Ubuntu 14.04提供了GAS 2.24),所以我执行了:
$ clang++ -xc -c /dev/null -Wa,-v -o/dev/null 2>&1
clang: error: unsupported argument '-v' to option 'Wa,'
当通过GCC编译器驱动程序发送时,此选项似乎是正确的:
$ g++ -xc -c /dev/null -Wa,-v -o/dev/null 2>&1
GNU assembler version 2.24 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.24
我正在尝试确定是否应该填写针对Clang的bug报告。Clang是否应该尝试解释汇编程序选项?或者我是否遗漏了一些明显的(或不那么明显的)东西?
1条答案
按热度按时间8xiog9wr1#
我正在尝试确定是否应该填写针对Clang的bug报告。Clang是否应该尝试解释汇编程序选项?或者我是否遗漏了一些明显的(或不那么明显的)东西?
Clang有一个集成的汇编程序,可以选择性地关闭。这解释了为什么它试图解释汇编程序选项。
但是,不响应
-Wa,-v
似乎是一个单独的问题。有关此问题,请参阅LLVM Bug 24200 - With integrated assembler enabled, fail to fetch version string of assembler。它是针对-Wa,-v
问题提交的。相关,另请参阅堆栈溢出上的How to switch off LLVM's integrated assembler?。