Currently, the stack protector is forcefully disabled. Let's allow using the stack protector feature only if libc is used. The stack protector will remain disabled by default if no custom CFLAGS are provided. This ensures the default behavior doesn't change while still offering the option to enable the stack protector. Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx> Cc: Guillem Jover <guillem@xxxxxxxxxxx> Co-authored-by: Alviro Iskandar Setiawan <alviro.iskandar@xxxxxxxxxxx> Signed-off-by: Alviro Iskandar Setiawan <alviro.iskandar@xxxxxxxxxxx> Signed-off-by: Ammar Faizi <ammarfaizi2@xxxxxxxxxxx> --- src/Makefile | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/Makefile b/src/Makefile index 951c48fc6797be75..c4c28cbe87c7a8de 100644 --- a/src/Makefile +++ b/src/Makefile @@ -10,9 +10,8 @@ CPPFLAGS ?= override CPPFLAGS += -D_GNU_SOURCE \ -Iinclude/ -include ../config-host.h \ -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -CFLAGS ?= -g -O3 -Wall -Wextra +CFLAGS ?= -g -O3 -Wall -Wextra -fno-stack-protector override CFLAGS += -Wno-unused-parameter \ - -fno-stack-protector \ -DLIBURING_INTERNAL \ $(LIBURING_CFLAGS) SO_CFLAGS=-fPIC $(CFLAGS) @@ -46,8 +45,8 @@ liburing_srcs := setup.c queue.c register.c syscall.c version.c ifeq ($(CONFIG_NOLIBC),y) liburing_srcs += nolibc.c - override CFLAGS += -nostdlib -nodefaultlibs -ffreestanding -fno-builtin - override CPPFLAGS += -nostdlib -nodefaultlibs -ffreestanding -fno-builtin + override CFLAGS += -nostdlib -nodefaultlibs -ffreestanding -fno-builtin -fno-stack-protector + override CPPFLAGS += -nostdlib -nodefaultlibs -ffreestanding -fno-builtin -fno-stack-protector override LINK_FLAGS += -nostdlib -nodefaultlibs endif -- Ammar Faizi