Message ID | 1470837437-14713-3-git-send-email-pbonzini@redhat.com |
---|---|
State | New |
Headers | show |
On 08/10/2016 03:57 PM, Paolo Bonzini wrote: > From: Marc-André Lureau <marcandre.lureau@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.lureau@redhat.com> > Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> > Message-Id: <20160805082421.21994-2-marcandre.lureau@redhat.com> > Signed-off-by: Paolo Bonzini <pbonzini@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, >
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,