$(OBJCOPY) $(foreach s,$(SPECIAL_DATA_SECTIONS),--rename-section .$(s)=.init.$(s)) $< $@
%.i: %.c Makefile
- $(CPP) $(CFLAGS) $< -o $@
+ $(CPP) $(filter-out -Wa$(comma)%,$(CFLAGS)) $< -o $@
%.s: %.c Makefile
- $(CC) $(CFLAGS) -S $< -o $@
+ $(CC) $(filter-out -Wa$(comma)%,$(CFLAGS)) -S $< -o $@
# -std=gnu{89,99} gets confused by # as an end-of-line comment marker
%.s: %.S Makefile
- $(CPP) $(AFLAGS) $< -o $@
+ $(CPP) $(filter-out -Wa$(comma)%,$(AFLAGS)) $< -o $@
-include $(DEPS_INCLUDE)
efi/boot.init.o efi/runtime.o efi/compat.o efi/buildid.o: ;
asm-offsets.s: $(TARGET_SUBARCH)/asm-offsets.c
- $(CC) $(filter-out -flto,$(CFLAGS)) -S -o $@ $<
+ $(CC) $(filter-out -Wa$(comma)% -flto,$(CFLAGS)) -S -o $@ $<
xen.lds: xen.lds.S
- $(CC) -P -E -Ui386 $(AFLAGS) -o $@ $<
+ $(CC) -P -E -Ui386 $(filter-out -Wa$(comma)%,$(AFLAGS)) -o $@ $<
sed -e 's/xen\.lds\.o:/xen\.lds:/g' <.xen.lds.d >.xen.lds.d.new
mv -f .xen.lds.d.new .xen.lds.d
efi.lds: xen.lds.S
- $(CC) -P -E -Ui386 -DEFI $(AFLAGS) -o $@ $<
+ $(CC) -P -E -Ui386 -DEFI $(filter-out -Wa$(comma)%,$(AFLAGS)) -o $@ $<
sed -e 's/efi\.lds\.o:/efi\.lds:/g' <.$(@F).d >.$(@F).d.new
mv -f .$(@F).d.new .$(@F).d
export CONFIG_INDIRECT_THUNK=y
endif
-# Set up the assembler include path properly for older GCC toolchains. Clang
-# objects to the agument being passed however.
-ifneq ($(clang),y)
+# Set up the assembler include path properly for older toolchains.
CFLAGS += -Wa,-I$(BASEDIR)/include
-endif
mv -f $@.new $@
compat/%.i: compat/%.c Makefile
- $(CPP) $(filter-out -M% %.d -include %/include/xen/config.h,$(CFLAGS)) $(cppflags-y) -o $@ $<
+ $(CPP) $(filter-out -Wa$(comma)% -M% %.d -include %/include/xen/config.h,$(CFLAGS)) $(cppflags-y) -o $@ $<
compat/%.c: public/%.h xlat.lst Makefile $(BASEDIR)/tools/compat-build-source.py
mkdir -p $(@D)