diff mbox

[v2,1/1] pc-bios/s390-ccw.img: Fix build

Message ID 1471258997-5811-1-git-send-email-borntraeger@de.ibm.com
State New
Headers show

Commit Message

Christian Borntraeger Aug. 15, 2016, 11:03 a.m. UTC
Since
commit a9c87304b76d ("build-sys: fix building with make CFLAGS=.. argument")

pc-bios/s390-ccw.img build might fail with

--- snip ---
main.o: In function `virtio_setup':
qemu/pc-bios/s390-ccw/main.c:117: undefined reference to `__stack_chk_fail'
--- snip ---

Changing the CFLAGS to QEMU_CFLAGS does the trick. We also need to
add -fno-strict-aliasing as this was filtered out.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
V1->V2: use fno-strict-aliasing instead of changing the code
 pc-bios/s390-ccw/Makefile | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Cornelia Huck Aug. 16, 2016, 6:59 a.m. UTC | #1
On Mon, 15 Aug 2016 13:03:17 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> Since
> commit a9c87304b76d ("build-sys: fix building with make CFLAGS=.. argument")
> 
> pc-bios/s390-ccw.img build might fail with
> 
> --- snip ---
> main.o: In function `virtio_setup':
> qemu/pc-bios/s390-ccw/main.c:117: undefined reference to `__stack_chk_fail'
> --- snip ---
> 
> Changing the CFLAGS to QEMU_CFLAGS does the trick. We also need to
> add -fno-strict-aliasing as this was filtered out.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> V1->V2: use fno-strict-aliasing instead of changing the code
>  pc-bios/s390-ccw/Makefile | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

Thanks, applied.
Paolo Bonzini Aug. 17, 2016, 10:57 a.m. UTC | #2
On 15/08/2016 13:03, Christian Borntraeger wrote:
> Since
> commit a9c87304b76d ("build-sys: fix building with make CFLAGS=.. argument")
> 
> pc-bios/s390-ccw.img build might fail with
> 
> --- snip ---
> main.o: In function `virtio_setup':
> qemu/pc-bios/s390-ccw/main.c:117: undefined reference to `__stack_chk_fail'
> --- snip ---
> 
> Changing the CFLAGS to QEMU_CFLAGS does the trick. We also need to
> add -fno-strict-aliasing as this was filtered out.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> V1->V2: use fno-strict-aliasing instead of changing the code
>  pc-bios/s390-ccw/Makefile | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
> index 4208cb4..0ab2538 100644
> --- a/pc-bios/s390-ccw/Makefile
> +++ b/pc-bios/s390-ccw/Makefile
> @@ -10,8 +10,10 @@ $(call set-vpath, $(SRC_PATH)/pc-bios/s390-ccw)
>  .PHONY : all clean build-all
>  
>  OBJECTS = start.o main.o bootmap.o sclp-ascii.o virtio.o virtio-scsi.o
> -CFLAGS += -fPIE -fno-stack-protector -ffreestanding -march=z900
> -CFLAGS += -fno-delete-null-pointer-checks -msoft-float
> +QEMU_CFLAGS := $(filter -W%, $(QEMU_CFLAGS))
> +QEMU_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -msoft-float
> +QEMU_CFLAGS += -march=z900 -fPIE -fno-strict-aliasing
> +QEMU_CFLAGS += $(call cc-option, $(QEMU_CFLAGS), -fno-stack-protector)
>  LDFLAGS += -Wl,-pie -nostdlib
>  
>  build-all: s390-ccw.img
> 

Looks pretty much like pc-bios/optionrom/Makefile with respect to C
compiler flags.

Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Cornelia Huck Aug. 17, 2016, 11:28 a.m. UTC | #3
On Wed, 17 Aug 2016 12:57:47 +0200
Paolo Bonzini <pbonzini@redhat.com> wrote:

> On 15/08/2016 13:03, Christian Borntraeger wrote:
> > Since
> > commit a9c87304b76d ("build-sys: fix building with make CFLAGS=.. argument")
> > 
> > pc-bios/s390-ccw.img build might fail with
> > 
> > --- snip ---
> > main.o: In function `virtio_setup':
> > qemu/pc-bios/s390-ccw/main.c:117: undefined reference to `__stack_chk_fail'
> > --- snip ---
> > 
> > Changing the CFLAGS to QEMU_CFLAGS does the trick. We also need to
> > add -fno-strict-aliasing as this was filtered out.
> > 
> > Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> > ---
> > V1->V2: use fno-strict-aliasing instead of changing the code
> >  pc-bios/s390-ccw/Makefile | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
> > index 4208cb4..0ab2538 100644
> > --- a/pc-bios/s390-ccw/Makefile
> > +++ b/pc-bios/s390-ccw/Makefile
> > @@ -10,8 +10,10 @@ $(call set-vpath, $(SRC_PATH)/pc-bios/s390-ccw)
> >  .PHONY : all clean build-all
> >  
> >  OBJECTS = start.o main.o bootmap.o sclp-ascii.o virtio.o virtio-scsi.o
> > -CFLAGS += -fPIE -fno-stack-protector -ffreestanding -march=z900
> > -CFLAGS += -fno-delete-null-pointer-checks -msoft-float
> > +QEMU_CFLAGS := $(filter -W%, $(QEMU_CFLAGS))
> > +QEMU_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -msoft-float
> > +QEMU_CFLAGS += -march=z900 -fPIE -fno-strict-aliasing
> > +QEMU_CFLAGS += $(call cc-option, $(QEMU_CFLAGS), -fno-stack-protector)
> >  LDFLAGS += -Wl,-pie -nostdlib
> >  
> >  build-all: s390-ccw.img
> > 
> 
> Looks pretty much like pc-bios/optionrom/Makefile with respect to C
> compiler flags.
> 
> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>

Yes, that's also what I thought, so I already pushed it upstream :)

Still, thanks for the review!
diff mbox

Patch

diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
index 4208cb4..0ab2538 100644
--- a/pc-bios/s390-ccw/Makefile
+++ b/pc-bios/s390-ccw/Makefile
@@ -10,8 +10,10 @@  $(call set-vpath, $(SRC_PATH)/pc-bios/s390-ccw)
 .PHONY : all clean build-all
 
 OBJECTS = start.o main.o bootmap.o sclp-ascii.o virtio.o virtio-scsi.o
-CFLAGS += -fPIE -fno-stack-protector -ffreestanding -march=z900
-CFLAGS += -fno-delete-null-pointer-checks -msoft-float
+QEMU_CFLAGS := $(filter -W%, $(QEMU_CFLAGS))
+QEMU_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -msoft-float
+QEMU_CFLAGS += -march=z900 -fPIE -fno-strict-aliasing
+QEMU_CFLAGS += $(call cc-option, $(QEMU_CFLAGS), -fno-stack-protector)
 LDFLAGS += -Wl,-pie -nostdlib
 
 build-all: s390-ccw.img