--- a/src/GNUmakefile 2018-08-01 16:30:00.957743804 +0300 +++ b/src/GNUmakefile 2018-08-01 16:30:34.876741798 +0300 @@ -15,8 +15,8 @@ OBJDUMP = $(CROSS_COMPILE)objdump CPPFLAGS += -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I. -I$(VPATH) -CFLAGS += -Wall -Wextra -O2 -LDFLAGS += -ltalloc +CFLAGS += -Wall -Wextra +LDFLAGS += -ltalloc -Wl,-z,noexecstack CARE_LDFLAGS = -larchive @@ -182,7 +182,7 @@ $(eval $(call define_from_arch.h,$1,LOADER_ADDRESS)) LOADER_CFLAGS$1 += -fPIC -ffreestanding $(LOADER_ARCH_CFLAGS$1) -LOADER_LDFLAGS$1 += -static -nostdlib -Wl$(BUILD_ID_NONE),-Ttext=$(LOADER_ADDRESS$1) +LOADER_LDFLAGS$1 += -static -nostdlib -Wl$(BUILD_ID_NONE),-Ttext=$(LOADER_ADDRESS$1),-z,noexecstack loader/loader$1.o: loader/loader.c @mkdir -p $$(dir $$@)