tests/tcg: Add -fno-stack-protector
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> Message-Id: <20230731091042.139159-3-akihiko.odaki@daynix.com> [AJB: fix comment string typo] Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20231029145033.592566-3-alex.bennee@linaro.org>
This commit is contained in:
parent
05c223cef7
commit
580731dcc8
@ -123,7 +123,7 @@ else
|
||||
# For system targets we include a different Makefile fragment as the
|
||||
# build options for bare programs are usually pretty different. They
|
||||
# are expected to provide their own build recipes.
|
||||
EXTRA_CFLAGS += -ffreestanding
|
||||
EXTRA_CFLAGS += -ffreestanding -fno-stack-protector
|
||||
-include $(SRC_PATH)/tests/tcg/minilib/Makefile.target
|
||||
-include $(SRC_PATH)/tests/tcg/multiarch/system/Makefile.softmmu-target
|
||||
-include $(SRC_PATH)/tests/tcg/$(TARGET_NAME)/Makefile.softmmu-target
|
||||
|
@ -53,7 +53,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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user