On 08/10/2016 03:57 PM, Paolo Bonzini wrote: > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > When calling make with a CFLAGS=.. argument, the -g/-O filter is not > applied, which may result with build failure with ASAN for example. It > could be solved with an 'override' directive on CFLAGS, but that would > actually prevent setting different CFLAGS manually. > > Instead, filter the CFLAGS argument from the top-level Makefile (so > you could still call make with a different CFLAGS argument on a > rom/Makefile manually) > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> > Message-Id: <20160805082421.21994-2-marcandre.lur...@redhat.com> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
This patch breaks the build on the s390-ccw.img bios if I enable --enable-debug main.o: In function `virtio_setup': /home/cborntra/REPOS/qemu/pc-bios/s390-ccw/main.c:117: undefined reference to `__stack_chk_fail' Looks like it also removes other necessary fixups like -msoft-float. --- > Makefile | 3 ++- > pc-bios/optionrom/Makefile | 2 -- > 2 files changed, 2 insertions(+), 3 deletions(-) > > diff --git a/Makefile b/Makefile > index 0d7647f..50b4b3a 100644 > --- a/Makefile > +++ b/Makefile > @@ -225,8 +225,9 @@ dtc/%: > $(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(qom-obj-y) > $(crypto-aes-obj-$(CONFIG_USER_ONLY)) > > ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS)) > +# Only keep -O and -g cflags > romsubdir-%: > - $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pc-bios/$* V="$(V)" > TARGET_DIR="$*/",) > + $(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pc-bios/$* V="$(V)" > TARGET_DIR="$*/" CFLAGS="$(filter -O% -g%,$(CFLAGS))",) > > ALL_SUBDIRS=$(TARGET_DIRS) $(patsubst %,pc-bios/%, $(ROMS)) > > diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile > index 24e175e..6bab490 100644 > --- a/pc-bios/optionrom/Makefile > +++ b/pc-bios/optionrom/Makefile > @@ -24,8 +24,6 @@ QEMU_CFLAGS += $(call cc-option, $(QEMU_CFLAGS), > -no-integrated-as) > QEMU_CFLAGS += -m32 -include $(SRC_PATH)/pc-bios/optionrom/code16gcc.h > endif > > -# Drop gcov and glib flags > -CFLAGS := $(filter -O% -g%, $(CFLAGS)) > QEMU_INCLUDES += -I$(SRC_PATH) > > Wa = -Wa, >