qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] Accompany -nostdlib with -fno-stack-protector
@ 2023-07-31  6:58 Akihiko Odaki
  2023-07-31  6:58 ` [PATCH 1/3] pc-bios/optionrom: Add -fno-stack-protector Akihiko Odaki
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Akihiko Odaki @ 2023-07-31  6:58 UTC (permalink / raw)
  Cc: Christian Borntraeger, Thomas Huth, Juan Quintela, Peter Xu,
	Leonardo Bras, Peter Maydell, Richard Henderson,
	Edgar E. Iglesias, Brian Cain, Paolo Bonzini, Eduardo Habkost,
	Song Gao, Xiaojuan Yang, Philippe Mathieu-Daudé,
	Aurelien Jarno, Jiaxun Yang, Aleksandar Rikalo, Chris Wulff,
	Marek Vasut, David Hildenbrand, Ilya Leoshkevich, qemu-devel,
	qemu-s390x, qemu-arm, Akihiko Odaki

A build of GCC 13.2 will have stack protector enabled by default if it was
configured with --enable-default-ssp option. For such a compiler, it is
necessary to explicitly disable stack protector when linking without
standard libraries.

This is a tree-wide change to add -fno-stack-protector where -nostdlib is
present.

Akihiko Odaki (3):
  pc-bios/optionrom: Add -fno-stack-protector
  tests/migration: Add -fno-stack-protector
  tests/tcg: Add -fno-stack-protector

 tests/tcg/mips/hello-mips.c                   | 4 ++--
 pc-bios/optionrom/Makefile                    | 2 +-
 pc-bios/s390-ccw/Makefile                     | 2 +-
 tests/migration/s390x/Makefile                | 4 ++--
 tests/tcg/aarch64/Makefile.softmmu-target     | 2 +-
 tests/tcg/aarch64/Makefile.target             | 2 +-
 tests/tcg/alpha/Makefile.softmmu-target       | 2 +-
 tests/tcg/arm/Makefile.target                 | 2 +-
 tests/tcg/cris/Makefile.target                | 2 +-
 tests/tcg/hexagon/Makefile.target             | 2 +-
 tests/tcg/i386/Makefile.softmmu-target        | 2 +-
 tests/tcg/i386/Makefile.target                | 2 +-
 tests/tcg/loongarch64/Makefile.softmmu-target | 2 +-
 tests/tcg/minilib/Makefile.target             | 2 +-
 tests/tcg/mips/Makefile.target                | 2 +-
 tests/tcg/nios2/Makefile.softmmu-target       | 2 +-
 tests/tcg/s390x/Makefile.softmmu-target       | 2 +-
 tests/tcg/x86_64/Makefile.softmmu-target      | 2 +-
 18 files changed, 20 insertions(+), 20 deletions(-)

-- 
2.41.0



^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/3] pc-bios/optionrom: Add -fno-stack-protector
  2023-07-31  6:58 [PATCH 0/3] Accompany -nostdlib with -fno-stack-protector Akihiko Odaki
@ 2023-07-31  6:58 ` Akihiko Odaki
  2023-07-31  7:46   ` Thomas Huth
  2023-07-31  6:58 ` [PATCH 2/3] tests/migration: " Akihiko Odaki
  2023-07-31  6:58 ` [PATCH 3/3] tests/tcg: " Akihiko Odaki
  2 siblings, 1 reply; 10+ messages in thread
From: Akihiko Odaki @ 2023-07-31  6:58 UTC (permalink / raw)
  Cc: Christian Borntraeger, Thomas Huth, Juan Quintela, Peter Xu,
	Leonardo Bras, Peter Maydell, Richard Henderson,
	Edgar E. Iglesias, Brian Cain, Paolo Bonzini, Eduardo Habkost,
	Song Gao, Xiaojuan Yang, Philippe Mathieu-Daudé,
	Aurelien Jarno, Jiaxun Yang, Aleksandar Rikalo, Chris Wulff,
	Marek Vasut, David Hildenbrand, Ilya Leoshkevich, qemu-devel,
	qemu-s390x, qemu-arm, Akihiko Odaki

A build of GCC 13.2 will have stack protector enabled by default if it
was configured with --enable-default-ssp option. For such a compiler,
it is necessary to explicitly disable stack protector when linking
without standard libraries.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
 pc-bios/optionrom/Makefile | 2 +-
 pc-bios/s390-ccw/Makefile  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
index b1fff0ba6c..f220d81f2c 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -19,7 +19,7 @@ quiet-command = $(call quiet-@,$2 $@)$1
 override CPPFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d
 
 override CFLAGS += -march=i486 -Wall $(EXTRA_CFLAGS) -m16
-override CFLAGS += -ffreestanding -I$(TOPSRC_DIR)/include
+override CFLAGS += -ffreestanding -fno-stack-protector -I$(TOPSRC_DIR)/include
 
 cc-test = $(CC) -Werror $1 -c -o /dev/null -xc /dev/null >/dev/null 2>/dev/null
 cc-option = if $(call cc-test, $1); then \
diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
index acfcd1e71a..446d448913 100644
--- a/pc-bios/s390-ccw/Makefile
+++ b/pc-bios/s390-ccw/Makefile
@@ -38,7 +38,7 @@ OBJECTS = start.o main.o bootmap.o jump2ipl.o sclp.o menu.o \
 EXTRA_CFLAGS += -Wall
 EXTRA_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -fno-common -fPIE
 EXTRA_CFLAGS += -fwrapv -fno-strict-aliasing -fno-asynchronous-unwind-tables
-EXTRA_CFLAGS += -msoft-float
+EXTRA_CFLAGS += -fno-stack-protector -msoft-float
 EXTRA_CFLAGS += -std=gnu99
 LDFLAGS += -Wl,-pie -nostdlib
 
-- 
2.41.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/3] tests/migration: Add -fno-stack-protector
  2023-07-31  6:58 [PATCH 0/3] Accompany -nostdlib with -fno-stack-protector Akihiko Odaki
  2023-07-31  6:58 ` [PATCH 1/3] pc-bios/optionrom: Add -fno-stack-protector Akihiko Odaki
@ 2023-07-31  6:58 ` Akihiko Odaki
  2023-07-31  7:10   ` Juan Quintela
                     ` (2 more replies)
  2023-07-31  6:58 ` [PATCH 3/3] tests/tcg: " Akihiko Odaki
  2 siblings, 3 replies; 10+ messages in thread
From: Akihiko Odaki @ 2023-07-31  6:58 UTC (permalink / raw)
  Cc: Christian Borntraeger, Thomas Huth, Juan Quintela, Peter Xu,
	Leonardo Bras, Peter Maydell, Richard Henderson,
	Edgar E. Iglesias, Brian Cain, Paolo Bonzini, Eduardo Habkost,
	Song Gao, Xiaojuan Yang, Philippe Mathieu-Daudé,
	Aurelien Jarno, Jiaxun Yang, Aleksandar Rikalo, Chris Wulff,
	Marek Vasut, David Hildenbrand, Ilya Leoshkevich, qemu-devel,
	qemu-s390x, qemu-arm, Akihiko Odaki

A build of GCC 13.2 will have stack protector enabled by default if it
was configured with --enable-default-ssp option. For such a compiler,
it is necessary to explicitly disable stack protector when linking
without standard libraries.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
 tests/migration/s390x/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tests/migration/s390x/Makefile b/tests/migration/s390x/Makefile
index 6393c3e5b9..6671de2efc 100644
--- a/tests/migration/s390x/Makefile
+++ b/tests/migration/s390x/Makefile
@@ -6,8 +6,8 @@ all: a-b-bios.h
 fwdir=../../../pc-bios/s390-ccw
 
 CFLAGS+=-ffreestanding -fno-delete-null-pointer-checks -fPIE -Os \
-	-msoft-float -march=z900 -fno-asynchronous-unwind-tables -Wl,-pie \
-	-Wl,--build-id=none -nostdlib
+	-msoft-float -march=z900 -fno-asynchronous-unwind-tables \
+	-fno-stack-protector -Wl,-pie -Wl,--build-id=none -nostdlib
 
 a-b-bios.h: s390x.elf
 	echo "$$__note" > header.tmp
-- 
2.41.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/3] tests/tcg: Add -fno-stack-protector
  2023-07-31  6:58 [PATCH 0/3] Accompany -nostdlib with -fno-stack-protector Akihiko Odaki
  2023-07-31  6:58 ` [PATCH 1/3] pc-bios/optionrom: Add -fno-stack-protector Akihiko Odaki
  2023-07-31  6:58 ` [PATCH 2/3] tests/migration: " Akihiko Odaki
@ 2023-07-31  6:58 ` Akihiko Odaki
  2023-07-31  7:51   ` Ilya Leoshkevich
  2023-07-31  7:54   ` Thomas Huth
  2 siblings, 2 replies; 10+ messages in thread
From: Akihiko Odaki @ 2023-07-31  6:58 UTC (permalink / raw)
  Cc: Christian Borntraeger, Thomas Huth, Juan Quintela, Peter Xu,
	Leonardo Bras, Peter Maydell, Richard Henderson,
	Edgar E. Iglesias, Brian Cain, Paolo Bonzini, Eduardo Habkost,
	Song Gao, Xiaojuan Yang, Philippe Mathieu-Daudé,
	Aurelien Jarno, Jiaxun Yang, Aleksandar Rikalo, Chris Wulff,
	Marek Vasut, David Hildenbrand, Ilya Leoshkevich, qemu-devel,
	qemu-s390x, qemu-arm, Akihiko Odaki

A build of GCC 13.2 will have stack protector enabled by default if it
was configured with --enable-default-ssp option. For such a compiler,
it is necessary to explicitly disable stack protector when linking
without standard libraries.

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
 tests/tcg/mips/hello-mips.c                   | 4 ++--
 tests/tcg/aarch64/Makefile.softmmu-target     | 2 +-
 tests/tcg/aarch64/Makefile.target             | 2 +-
 tests/tcg/alpha/Makefile.softmmu-target       | 2 +-
 tests/tcg/arm/Makefile.target                 | 2 +-
 tests/tcg/cris/Makefile.target                | 2 +-
 tests/tcg/hexagon/Makefile.target             | 2 +-
 tests/tcg/i386/Makefile.softmmu-target        | 2 +-
 tests/tcg/i386/Makefile.target                | 2 +-
 tests/tcg/loongarch64/Makefile.softmmu-target | 2 +-
 tests/tcg/minilib/Makefile.target             | 2 +-
 tests/tcg/mips/Makefile.target                | 2 +-
 tests/tcg/nios2/Makefile.softmmu-target       | 2 +-
 tests/tcg/s390x/Makefile.softmmu-target       | 2 +-
 tests/tcg/x86_64/Makefile.softmmu-target      | 2 +-
 15 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/tests/tcg/mips/hello-mips.c b/tests/tcg/mips/hello-mips.c
index 4e1cf501af..0ba5f1bf23 100644
--- a/tests/tcg/mips/hello-mips.c
+++ b/tests/tcg/mips/hello-mips.c
@@ -5,8 +5,8 @@
 * http://www.linux-mips.org/wiki/MIPSABIHistory
 * http://www.linux.com/howtos/Assembly-HOWTO/mips.shtml
 *
-* mipsel-linux-gcc -nostdlib -mno-abicalls -fno-PIC -mabi=32 \
-*                  -O2 -static -o hello-mips hello-mips.c
+* mipsel-linux-gcc -nostdlib -mno-abicalls -fno-PIC -fno-stack-protector \
+                   -mabi=32 -O2 -static -o hello-mips hello-mips.c
 *
 */
 #define __NR_SYSCALL_BASE	4000
diff --git a/tests/tcg/aarch64/Makefile.softmmu-target b/tests/tcg/aarch64/Makefile.softmmu-target
index b74a2534e3..11016ffab2 100644
--- a/tests/tcg/aarch64/Makefile.softmmu-target
+++ b/tests/tcg/aarch64/Makefile.softmmu-target
@@ -16,7 +16,7 @@ LINK_SCRIPT=$(AARCH64_SYSTEM_SRC)/kernel.ld
 LDFLAGS=-Wl,-T$(LINK_SCRIPT)
 TESTS+=$(AARCH64_TESTS) $(MULTIARCH_TESTS)
 EXTRA_RUNS+=$(MULTIARCH_RUNS)
-CFLAGS+=-nostdlib -ggdb -O0 $(MINILIB_INC)
+CFLAGS+=-nostdlib -fno-stack-protector -ggdb -O0 $(MINILIB_INC)
 LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc
 
 config-cc.mak: Makefile
diff --git a/tests/tcg/aarch64/Makefile.target b/tests/tcg/aarch64/Makefile.target
index 617f821613..55f8609897 100644
--- a/tests/tcg/aarch64/Makefile.target
+++ b/tests/tcg/aarch64/Makefile.target
@@ -49,7 +49,7 @@ endif
 # bti-1 tests the elf notes, so we require special compiler support.
 ifneq ($(CROSS_CC_HAS_ARMV8_BTI),)
 AARCH64_TESTS += bti-1 bti-3
-bti-1 bti-3: CFLAGS += -mbranch-protection=standard
+bti-1 bti-3: CFLAGS += -fno-stack-protector -mbranch-protection=standard
 bti-1 bti-3: LDFLAGS += -nostdlib
 endif
 # bti-2 tests PROT_BTI, so no special compiler support required.
diff --git a/tests/tcg/alpha/Makefile.softmmu-target b/tests/tcg/alpha/Makefile.softmmu-target
index 09193a62d6..99c23c2903 100644
--- a/tests/tcg/alpha/Makefile.softmmu-target
+++ b/tests/tcg/alpha/Makefile.softmmu-target
@@ -15,7 +15,7 @@ CRT_PATH=$(ALPHA_SYSTEM_SRC)
 LINK_SCRIPT=$(ALPHA_SYSTEM_SRC)/kernel.ld
 LDFLAGS=-Wl,-T$(LINK_SCRIPT)
 TESTS+=$(ALPHA_TESTS) $(MULTIARCH_TESTS)
-CFLAGS+=-nostdlib -g -O1 -mcpu=ev6 $(MINILIB_INC)
+CFLAGS+=-fno-stack-protector -nostdlib -g -O1 -mcpu=ev6 $(MINILIB_INC)
 LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc
 
 # building head blobs
diff --git a/tests/tcg/arm/Makefile.target b/tests/tcg/arm/Makefile.target
index 0038cef02c..3473f4619e 100644
--- a/tests/tcg/arm/Makefile.target
+++ b/tests/tcg/arm/Makefile.target
@@ -12,7 +12,7 @@ float_madds: CFLAGS+=-mfpu=neon-vfpv4
 
 # Basic Hello World
 ARM_TESTS = hello-arm
-hello-arm: CFLAGS+=-marm -ffreestanding
+hello-arm: CFLAGS+=-marm -ffreestanding -fno-stack-protector
 hello-arm: LDFLAGS+=-nostdlib
 
 # IWMXT floating point extensions
diff --git a/tests/tcg/cris/Makefile.target b/tests/tcg/cris/Makefile.target
index 43587d2769..713e2a5b6c 100644
--- a/tests/tcg/cris/Makefile.target
+++ b/tests/tcg/cris/Makefile.target
@@ -30,7 +30,7 @@ AS	= $(CC) -x assembler-with-cpp
 LD      = $(CC)
 
 # we rely on GCC inline:ing the stuff we tell it to in many places here.
-CFLAGS  = -Winline -Wall -g -O2 -static
+CFLAGS  = -Winline -Wall -g -O2 -static -fno-stack-protector
 NOSTDFLAGS = -nostartfiles -nostdlib
 ASFLAGS += -mcpu=v10 -g -Wa,-I,$(SRC_PATH)/tests/tcg/cris/bare
 CRT_FILES = crt.o sys.o
diff --git a/tests/tcg/hexagon/Makefile.target b/tests/tcg/hexagon/Makefile.target
index 87ed2c90b9..f839b2c0d5 100644
--- a/tests/tcg/hexagon/Makefile.target
+++ b/tests/tcg/hexagon/Makefile.target
@@ -19,7 +19,7 @@
 EXTRA_RUNS =
 
 CFLAGS += -Wno-incompatible-pointer-types -Wno-undefined-internal
-CFLAGS += -fno-unroll-loops
+CFLAGS += -fno-unroll-loops -fno-stack-protector
 
 HEX_SRC=$(SRC_PATH)/tests/tcg/hexagon
 VPATH += $(HEX_SRC)
diff --git a/tests/tcg/i386/Makefile.softmmu-target b/tests/tcg/i386/Makefile.softmmu-target
index 5266f2335a..8e9d0d7690 100644
--- a/tests/tcg/i386/Makefile.softmmu-target
+++ b/tests/tcg/i386/Makefile.softmmu-target
@@ -15,7 +15,7 @@ CRT_OBJS=boot.o
 CRT_PATH=$(I386_SYSTEM_SRC)
 LINK_SCRIPT=$(I386_SYSTEM_SRC)/kernel.ld
 LDFLAGS=-Wl,-T$(LINK_SCRIPT) -Wl,-melf_i386
-CFLAGS+=-nostdlib -ggdb -O0 $(MINILIB_INC)
+CFLAGS+=-nostdlib -fno-stack-protector -ggdb -O0 $(MINILIB_INC)
 LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc
 
 TESTS+=$(MULTIARCH_TESTS)
diff --git a/tests/tcg/i386/Makefile.target b/tests/tcg/i386/Makefile.target
index fdf757c6ce..3dec7c6c42 100644
--- a/tests/tcg/i386/Makefile.target
+++ b/tests/tcg/i386/Makefile.target
@@ -35,7 +35,7 @@ run-test-aes: QEMU_OPTS += -cpu max
 #
 # hello-i386 is a barebones app
 #
-hello-i386: CFLAGS+=-ffreestanding
+hello-i386: CFLAGS+=-ffreestanding -fno-stack-protector
 hello-i386: LDFLAGS+=-nostdlib
 
 # test-386 includes a couple of additional objects that need to be
diff --git a/tests/tcg/loongarch64/Makefile.softmmu-target b/tests/tcg/loongarch64/Makefile.softmmu-target
index 908f3a8c0f..4a348469f7 100644
--- a/tests/tcg/loongarch64/Makefile.softmmu-target
+++ b/tests/tcg/loongarch64/Makefile.softmmu-target
@@ -15,7 +15,7 @@ CRT_PATH=$(LOONGARCH64_SYSTEM_SRC)
 LINK_SCRIPT=$(LOONGARCH64_SYSTEM_SRC)/kernel.ld
 LDFLAGS=-Wl,-T$(LINK_SCRIPT)
 TESTS+=$(LOONGARCH64_TESTS) $(MULTIARCH_TESTS)
-CFLAGS+=-nostdlib -g -O1 -march=loongarch64 -mabi=lp64d $(MINILIB_INC)
+CFLAGS+=-nostdlib -fno-stack-protector -g -O1 -march=loongarch64 -mabi=lp64d $(MINILIB_INC)
 LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc
 
 # building head blobs
diff --git a/tests/tcg/minilib/Makefile.target b/tests/tcg/minilib/Makefile.target
index c821d2806a..af0bf54be9 100644
--- a/tests/tcg/minilib/Makefile.target
+++ b/tests/tcg/minilib/Makefile.target
@@ -12,7 +12,7 @@ SYSTEM_MINILIB_SRC=$(SRC_PATH)/tests/tcg/minilib
 MINILIB_SRCS=$(wildcard $(SYSTEM_MINILIB_SRC)/*.c)
 MINILIB_OBJS=$(patsubst $(SYSTEM_MINILIB_SRC)/%.c, %.o, $(MINILIB_SRCS))
 
-MINILIB_CFLAGS+=-nostdlib -ggdb -O0
+MINILIB_CFLAGS+=-nostdlib -fno-stack-protector -ggdb -O0
 MINILIB_INC=-isystem $(SYSTEM_MINILIB_SRC)
 
 .PRECIOUS: $(MINILIB_OBJS)
diff --git a/tests/tcg/mips/Makefile.target b/tests/tcg/mips/Makefile.target
index 1a994d5525..5d17c1706e 100644
--- a/tests/tcg/mips/Makefile.target
+++ b/tests/tcg/mips/Makefile.target
@@ -14,6 +14,6 @@ MIPS_TESTS=hello-mips
 
 TESTS += $(MIPS_TESTS)
 
-hello-mips: CFLAGS+=-mno-abicalls -fno-PIC -mabi=32
+hello-mips: CFLAGS+=-mno-abicalls -fno-PIC -fno-stack-protector -mabi=32
 hello-mips: LDFLAGS+=-nostdlib
 endif
diff --git a/tests/tcg/nios2/Makefile.softmmu-target b/tests/tcg/nios2/Makefile.softmmu-target
index bc7fd55060..96833b385f 100644
--- a/tests/tcg/nios2/Makefile.softmmu-target
+++ b/tests/tcg/nios2/Makefile.softmmu-target
@@ -12,7 +12,7 @@ VPATH += $(NIOS2_SYSTEM_SRC)
 CRT_OBJS = boot.o intr.o $(MINILIB_OBJS)
 LINK_SCRIPT = $(NIOS2_SYSTEM_SRC)/10m50-ghrd.ld
 
-CFLAGS  += -nostdlib -g -O0 $(MINILIB_INC)
+CFLAGS  += -nostdlib -fno-stack-protector -g -O0 $(MINILIB_INC)
 LDFLAGS += -Wl,-T$(LINK_SCRIPT) -static -nostdlib $(CRT_OBJS) -lgcc
 
 %.o: %.S
diff --git a/tests/tcg/s390x/Makefile.softmmu-target b/tests/tcg/s390x/Makefile.softmmu-target
index 76345b6e64..27f2d68235 100644
--- a/tests/tcg/s390x/Makefile.softmmu-target
+++ b/tests/tcg/s390x/Makefile.softmmu-target
@@ -2,7 +2,7 @@ S390X_SRC=$(SRC_PATH)/tests/tcg/s390x
 VPATH+=$(S390X_SRC)
 QEMU_OPTS=-action panic=exit-failure -nographic -kernel
 LINK_SCRIPT=$(S390X_SRC)/softmmu.ld
-CFLAGS+=-ggdb -O0
+CFLAGS+=-fno-stack-protector -ggdb -O0
 LDFLAGS=-nostdlib -static
 
 %.o: %.S
diff --git a/tests/tcg/x86_64/Makefile.softmmu-target b/tests/tcg/x86_64/Makefile.softmmu-target
index 1bd763f2e6..23887a1660 100644
--- a/tests/tcg/x86_64/Makefile.softmmu-target
+++ b/tests/tcg/x86_64/Makefile.softmmu-target
@@ -15,7 +15,7 @@ CRT_OBJS=boot.o
 CRT_PATH=$(X64_SYSTEM_SRC)
 LINK_SCRIPT=$(X64_SYSTEM_SRC)/kernel.ld
 LDFLAGS=-Wl,-T$(LINK_SCRIPT) -Wl,-melf_x86_64
-CFLAGS+=-nostdlib -ggdb -O0 $(MINILIB_INC)
+CFLAGS+=-nostdlib -fno-stack-protector -ggdb -O0 $(MINILIB_INC)
 LDFLAGS+=-static -nostdlib $(CRT_OBJS) $(MINILIB_OBJS) -lgcc
 
 TESTS+=$(MULTIARCH_TESTS)
-- 
2.41.0



^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/3] tests/migration: Add -fno-stack-protector
  2023-07-31  6:58 ` [PATCH 2/3] tests/migration: " Akihiko Odaki
@ 2023-07-31  7:10   ` Juan Quintela
  2023-07-31  7:44   ` Thomas Huth
  2023-08-01 21:48   ` Philippe Mathieu-Daudé
  2 siblings, 0 replies; 10+ messages in thread
From: Juan Quintela @ 2023-07-31  7:10 UTC (permalink / raw)
  To: Akihiko Odaki
  Cc: Christian Borntraeger, Thomas Huth, Peter Xu, Leonardo Bras,
	Peter Maydell, Richard Henderson, Edgar E. Iglesias, Brian Cain,
	Paolo Bonzini, Eduardo Habkost, Song Gao, Xiaojuan Yang,
	Philippe Mathieu-Daudé, Aurelien Jarno, Jiaxun Yang,
	Aleksandar Rikalo, Chris Wulff, Marek Vasut, David Hildenbrand,
	Ilya Leoshkevich, qemu-devel, qemu-s390x, qemu-arm

Akihiko Odaki <akihiko.odaki@daynix.com> wrote:
> A build of GCC 13.2 will have stack protector enabled by default if it
> was configured with --enable-default-ssp option. For such a compiler,
> it is necessary to explicitly disable stack protector when linking
> without standard libraries.
>
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>

Reviewed-by: Juan Quintela <quintela@redhat.com>

For whatever is related to migration.
My liker options skills are (very) rusty, so I will let others decided
if this is the correct way to do it O:-)



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/3] tests/migration: Add -fno-stack-protector
  2023-07-31  6:58 ` [PATCH 2/3] tests/migration: " Akihiko Odaki
  2023-07-31  7:10   ` Juan Quintela
@ 2023-07-31  7:44   ` Thomas Huth
  2023-08-01 21:48   ` Philippe Mathieu-Daudé
  2 siblings, 0 replies; 10+ messages in thread
From: Thomas Huth @ 2023-07-31  7:44 UTC (permalink / raw)
  To: Akihiko Odaki
  Cc: Christian Borntraeger, Juan Quintela, Peter Xu, Leonardo Bras,
	Peter Maydell, Richard Henderson, Edgar E. Iglesias, Brian Cain,
	Paolo Bonzini, Eduardo Habkost, Song Gao, Xiaojuan Yang,
	Philippe Mathieu-Daudé, Aurelien Jarno, Jiaxun Yang,
	Aleksandar Rikalo, Chris Wulff, Marek Vasut, David Hildenbrand,
	Ilya Leoshkevich, qemu-devel, qemu-s390x, qemu-arm

On 31/07/2023 08.58, Akihiko Odaki wrote:
> A build of GCC 13.2 will have stack protector enabled by default if it
> was configured with --enable-default-ssp option. For such a compiler,
> it is necessary to explicitly disable stack protector when linking
> without standard libraries.
> 
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>   tests/migration/s390x/Makefile | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tests/migration/s390x/Makefile b/tests/migration/s390x/Makefile
> index 6393c3e5b9..6671de2efc 100644
> --- a/tests/migration/s390x/Makefile
> +++ b/tests/migration/s390x/Makefile
> @@ -6,8 +6,8 @@ all: a-b-bios.h
>   fwdir=../../../pc-bios/s390-ccw
>   
>   CFLAGS+=-ffreestanding -fno-delete-null-pointer-checks -fPIE -Os \
> -	-msoft-float -march=z900 -fno-asynchronous-unwind-tables -Wl,-pie \
> -	-Wl,--build-id=none -nostdlib
> +	-msoft-float -march=z900 -fno-asynchronous-unwind-tables \
> +	-fno-stack-protector -Wl,-pie -Wl,--build-id=none -nostdlib
>   
>   a-b-bios.h: s390x.elf
>   	echo "$$__note" > header.tmp

Reviewed-by: Thomas Huth <thuth@redhat.com>



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/3] pc-bios/optionrom: Add -fno-stack-protector
  2023-07-31  6:58 ` [PATCH 1/3] pc-bios/optionrom: Add -fno-stack-protector Akihiko Odaki
@ 2023-07-31  7:46   ` Thomas Huth
  0 siblings, 0 replies; 10+ messages in thread
From: Thomas Huth @ 2023-07-31  7:46 UTC (permalink / raw)
  To: Akihiko Odaki
  Cc: Christian Borntraeger, Juan Quintela, Peter Xu, Leonardo Bras,
	Peter Maydell, Richard Henderson, Edgar E. Iglesias, Brian Cain,
	Paolo Bonzini, Eduardo Habkost, Song Gao, Xiaojuan Yang,
	Philippe Mathieu-Daudé, Aurelien Jarno, Jiaxun Yang,
	Aleksandar Rikalo, Chris Wulff, Marek Vasut, David Hildenbrand,
	Ilya Leoshkevich, qemu-devel, qemu-s390x, qemu-arm

On 31/07/2023 08.58, Akihiko Odaki wrote:
> A build of GCC 13.2 will have stack protector enabled by default if it
> was configured with --enable-default-ssp option. For such a compiler,
> it is necessary to explicitly disable stack protector when linking
> without standard libraries.
> 
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>   pc-bios/optionrom/Makefile | 2 +-
>   pc-bios/s390-ccw/Makefile  | 2 +-
>   2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
> index b1fff0ba6c..f220d81f2c 100644
> --- a/pc-bios/optionrom/Makefile
> +++ b/pc-bios/optionrom/Makefile
> @@ -19,7 +19,7 @@ quiet-command = $(call quiet-@,$2 $@)$1
>   override CPPFLAGS += -MMD -MP -MT $@ -MF $(@D)/$(*F).d
>   
>   override CFLAGS += -march=i486 -Wall $(EXTRA_CFLAGS) -m16
> -override CFLAGS += -ffreestanding -I$(TOPSRC_DIR)/include
> +override CFLAGS += -ffreestanding -fno-stack-protector -I$(TOPSRC_DIR)/include
>   
>   cc-test = $(CC) -Werror $1 -c -o /dev/null -xc /dev/null >/dev/null 2>/dev/null
>   cc-option = if $(call cc-test, $1); then \
> diff --git a/pc-bios/s390-ccw/Makefile b/pc-bios/s390-ccw/Makefile
> index acfcd1e71a..446d448913 100644
> --- a/pc-bios/s390-ccw/Makefile
> +++ b/pc-bios/s390-ccw/Makefile
> @@ -38,7 +38,7 @@ OBJECTS = start.o main.o bootmap.o jump2ipl.o sclp.o menu.o \
>   EXTRA_CFLAGS += -Wall
>   EXTRA_CFLAGS += -ffreestanding -fno-delete-null-pointer-checks -fno-common -fPIE
>   EXTRA_CFLAGS += -fwrapv -fno-strict-aliasing -fno-asynchronous-unwind-tables
> -EXTRA_CFLAGS += -msoft-float
> +EXTRA_CFLAGS += -fno-stack-protector -msoft-float
>   EXTRA_CFLAGS += -std=gnu99
>   LDFLAGS += -Wl,-pie -nostdlib
>   

Both Makefiles seem to add -no-stack-protector in other lines already, so 
this patch does not seem to be necessary?

  Thomas



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 3/3] tests/tcg: Add -fno-stack-protector
  2023-07-31  6:58 ` [PATCH 3/3] tests/tcg: " Akihiko Odaki
@ 2023-07-31  7:51   ` Ilya Leoshkevich
  2023-07-31  7:54   ` Thomas Huth
  1 sibling, 0 replies; 10+ messages in thread
From: Ilya Leoshkevich @ 2023-07-31  7:51 UTC (permalink / raw)
  To: Akihiko Odaki
  Cc: Christian Borntraeger, Thomas Huth, Juan Quintela, Peter Xu,
	Leonardo Bras, Peter Maydell, Richard Henderson,
	Edgar E. Iglesias, Brian Cain, Paolo Bonzini, Eduardo Habkost,
	Song Gao, Xiaojuan Yang, Philippe Mathieu-Daudé,
	Aurelien Jarno, Jiaxun Yang, Aleksandar Rikalo, Chris Wulff,
	Marek Vasut, David Hildenbrand, qemu-devel, qemu-s390x, qemu-arm

On Mon, 2023-07-31 at 15:58 +0900, Akihiko Odaki wrote:
> A build of GCC 13.2 will have stack protector enabled by default if
> it
> was configured with --enable-default-ssp option. For such a compiler,
> it is necessary to explicitly disable stack protector when linking
> without standard libraries.
> 
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>  tests/tcg/mips/hello-mips.c                   | 4 ++--
>  tests/tcg/aarch64/Makefile.softmmu-target     | 2 +-
>  tests/tcg/aarch64/Makefile.target             | 2 +-
>  tests/tcg/alpha/Makefile.softmmu-target       | 2 +-
>  tests/tcg/arm/Makefile.target                 | 2 +-
>  tests/tcg/cris/Makefile.target                | 2 +-
>  tests/tcg/hexagon/Makefile.target             | 2 +-
>  tests/tcg/i386/Makefile.softmmu-target        | 2 +-
>  tests/tcg/i386/Makefile.target                | 2 +-
>  tests/tcg/loongarch64/Makefile.softmmu-target | 2 +-
>  tests/tcg/minilib/Makefile.target             | 2 +-
>  tests/tcg/mips/Makefile.target                | 2 +-
>  tests/tcg/nios2/Makefile.softmmu-target       | 2 +-
>  tests/tcg/s390x/Makefile.softmmu-target       | 2 +-
>  tests/tcg/x86_64/Makefile.softmmu-target      | 2 +-
>  15 files changed, 16 insertions(+), 16 deletions(-)

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 3/3] tests/tcg: Add -fno-stack-protector
  2023-07-31  6:58 ` [PATCH 3/3] tests/tcg: " Akihiko Odaki
  2023-07-31  7:51   ` Ilya Leoshkevich
@ 2023-07-31  7:54   ` Thomas Huth
  1 sibling, 0 replies; 10+ messages in thread
From: Thomas Huth @ 2023-07-31  7:54 UTC (permalink / raw)
  To: Akihiko Odaki
  Cc: Christian Borntraeger, Juan Quintela, Peter Xu, Leonardo Bras,
	Peter Maydell, Richard Henderson, Edgar E. Iglesias, Brian Cain,
	Paolo Bonzini, Eduardo Habkost, Song Gao, Xiaojuan Yang,
	Philippe Mathieu-Daudé, Aurelien Jarno, Jiaxun Yang,
	Aleksandar Rikalo, Chris Wulff, Marek Vasut, David Hildenbrand,
	Ilya Leoshkevich, qemu-devel, qemu-s390x, qemu-arm

On 31/07/2023 08.58, Akihiko Odaki wrote:
> A build of GCC 13.2 will have stack protector enabled by default if it
> was configured with --enable-default-ssp option. For such a compiler,
> it is necessary to explicitly disable stack protector when linking
> without standard libraries.
> 
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>   tests/tcg/mips/hello-mips.c                   | 4 ++--
>   tests/tcg/aarch64/Makefile.softmmu-target     | 2 +-
>   tests/tcg/aarch64/Makefile.target             | 2 +-
>   tests/tcg/alpha/Makefile.softmmu-target       | 2 +-
>   tests/tcg/arm/Makefile.target                 | 2 +-
>   tests/tcg/cris/Makefile.target                | 2 +-
>   tests/tcg/hexagon/Makefile.target             | 2 +-
>   tests/tcg/i386/Makefile.softmmu-target        | 2 +-
>   tests/tcg/i386/Makefile.target                | 2 +-
>   tests/tcg/loongarch64/Makefile.softmmu-target | 2 +-
>   tests/tcg/minilib/Makefile.target             | 2 +-
>   tests/tcg/mips/Makefile.target                | 2 +-
>   tests/tcg/nios2/Makefile.softmmu-target       | 2 +-
>   tests/tcg/s390x/Makefile.softmmu-target       | 2 +-
>   tests/tcg/x86_64/Makefile.softmmu-target      | 2 +-
>   15 files changed, 16 insertions(+), 16 deletions(-)

I think the changes to the Makefile.softmmu-target files should rather be 
done in a central place, in tests/tcg/Makefile.target, right after the 
"EXTRA_CFLAGS += -ffreestanding" there.

  Thomas



^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 2/3] tests/migration: Add -fno-stack-protector
  2023-07-31  6:58 ` [PATCH 2/3] tests/migration: " Akihiko Odaki
  2023-07-31  7:10   ` Juan Quintela
  2023-07-31  7:44   ` Thomas Huth
@ 2023-08-01 21:48   ` Philippe Mathieu-Daudé
  2 siblings, 0 replies; 10+ messages in thread
From: Philippe Mathieu-Daudé @ 2023-08-01 21:48 UTC (permalink / raw)
  To: Akihiko Odaki
  Cc: Christian Borntraeger, Thomas Huth, Juan Quintela, Peter Xu,
	Leonardo Bras, Peter Maydell, Richard Henderson,
	Edgar E. Iglesias, Brian Cain, Paolo Bonzini, Eduardo Habkost,
	Song Gao, Xiaojuan Yang, Aurelien Jarno, Jiaxun Yang,
	Aleksandar Rikalo, Chris Wulff, Marek Vasut, David Hildenbrand,
	Ilya Leoshkevich, qemu-devel, qemu-s390x, qemu-arm

On 31/7/23 08:58, Akihiko Odaki wrote:
> A build of GCC 13.2 will have stack protector enabled by default if it
> was configured with --enable-default-ssp option. For such a compiler,
> it is necessary to explicitly disable stack protector when linking
> without standard libraries.
> 
> Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
> ---
>   tests/migration/s390x/Makefile | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)

Queuing this single patch via misc-fixes.


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-08-01 21:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-31  6:58 [PATCH 0/3] Accompany -nostdlib with -fno-stack-protector Akihiko Odaki
2023-07-31  6:58 ` [PATCH 1/3] pc-bios/optionrom: Add -fno-stack-protector Akihiko Odaki
2023-07-31  7:46   ` Thomas Huth
2023-07-31  6:58 ` [PATCH 2/3] tests/migration: " Akihiko Odaki
2023-07-31  7:10   ` Juan Quintela
2023-07-31  7:44   ` Thomas Huth
2023-08-01 21:48   ` Philippe Mathieu-Daudé
2023-07-31  6:58 ` [PATCH 3/3] tests/tcg: " Akihiko Odaki
2023-07-31  7:51   ` Ilya Leoshkevich
2023-07-31  7:54   ` Thomas Huth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).