* [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).