diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2016-07-20 21:36:49 +0200 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2016-07-29 13:56:52 +0100 |
commit | 036999e93e4913e29cd5fd751750677074e8747e (patch) | |
tree | 9c19359052993c8c0b87034cb820ca8a33c2f278 | |
parent | c7e9aafe5c2fc82858a3026862ac05c33d363ffb (diff) |
optionrom: fix detection of -Wa,-32
The cc-option macro runs $(CC) in -S mode (generate assembly) to avoid a
pointless run of the assembler. However, this does not work when you want
to detect support for cc->as option passthrough. clang ignores -Wa unless
-c is provided, and exits successfully even if the -Wa,-32 option is not
supported.
Reported-by: Stefan Hajnoczi <stefanha@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-id: 1469043409-14033-1-git-send-email-pbonzini@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | pc-bios/optionrom/Makefile | 2 | ||||
-rw-r--r-- | rules.mak | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile index d88ce119ce..72abb3c9a0 100644 --- a/pc-bios/optionrom/Makefile +++ b/pc-bios/optionrom/Makefile @@ -30,7 +30,7 @@ QEMU_INCLUDES += -I$(SRC_PATH) Wa = -Wa, ASFLAGS += -32 -QEMU_CFLAGS += $(call cc-option, $(QEMU_CFLAGS), $(Wa)-32) +QEMU_CFLAGS += $(call cc-c-option, $(QEMU_CFLAGS), $(Wa)-32) build-all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin @@ -113,6 +113,8 @@ quiet-command = $(if $(V),$1,$(if $(2),@echo $2 && $1, @$1)) cc-option = $(if $(shell $(CC) $1 $2 -S -o /dev/null -xc /dev/null \ >/dev/null 2>&1 && echo OK), $2, $3) +cc-c-option = $(if $(shell $(CC) $1 $2 -c -o /dev/null -xc /dev/null \ + >/dev/null 2>&1 && echo OK), $2, $3) VPATH_SUFFIXES = %.c %.h %.S %.cc %.cpp %.m %.mak %.texi %.sh %.rc set-vpath = $(if $1,$(foreach PATTERN,$(VPATH_SUFFIXES),$(eval vpath $(PATTERN) $1))) |