On 15/07/2016 15:26, Stefan Hajnoczi wrote: >> pc-bios/linuxboot_dma.bin | Bin 0 -> 1024 bytes >> pc-bios/optionrom/Makefile | 42 ++++-- >> pc-bios/optionrom/code16gcc.h | 3 + >> pc-bios/optionrom/linuxboot_dma.c | 294 >> ++++++++++++++++++++++++++++++++++++++ >> 10 files changed, 349 insertions(+), 13 deletions(-) >> create mode 100644 pc-bios/linuxboot_dma.bin >> create mode 100644 pc-bios/optionrom/code16gcc.h >> create mode 100644 pc-bios/optionrom/linuxboot_dma.c > > CC optionrom/linuxboot_dma.o > clang-3.8: error: unsupported argument '-32' to option 'Wa,'
Please try this patch: diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile index d88ce11..72abb3c 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 diff --git a/roms/ipxe b/roms/ipxe index 0418631..4e03af8 160000 --- a/roms/ipxe +++ b/roms/ipxe @@ -1 +1 @@ -Subproject commit 04186319181298083ef28695a8309028b26fe83c +Subproject commit 4e03af8ec2d497e725566a91fd5c19dd604c18a6 diff --git a/rules.mak b/rules.mak index ed8e482..99cd0b3 100644 --- a/rules.mak +++ b/rules.mak @@ -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)))