From 024441cbed3e9889fe62503f34df5d6c3fa08170 Mon Sep 17 00:00:00 2001
From: Zihao Yu <yuzihao@ict.ac.cn>
Date: Wed, 9 Nov 2022 16:13:32 +0800
Subject: [PATCH] Makefile: supress warning about executable stack from ld 2.39

* `missing .note.GNU-stack section implies executable stack`
---
 Makefile          | 1 +
 scripts/native.mk | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index e7fb86a..337220e 100644
--- a/Makefile
+++ b/Makefile
@@ -87,6 +87,7 @@ CFLAGS   += -O2 -MMD -Wall -Werror $(INCFLAGS) \
             -Wno-main -U_FORTIFY_SOURCE
 CXXFLAGS +=  $(CFLAGS) -ffreestanding -fno-rtti -fno-exceptions
 ASFLAGS  += -MMD $(INCFLAGS)
+LDFLAGS  += -z noexecstack
 
 ## 4. Arch-Specific Configurations
 
diff --git a/scripts/native.mk b/scripts/native.mk
index 1924309..0a66a3b 100644
--- a/scripts/native.mk
+++ b/scripts/native.mk
@@ -16,7 +16,7 @@ ASFLAGS += -fpie -pie
 
 image:
 	@echo + LD "->" $(IMAGE_REL)
-	@g++ -pie -o $(IMAGE) -Wl,--whole-archive $(LINKAGE) -Wl,-no-whole-archive -lSDL2 -ldl
+	@g++ -pie -o $(IMAGE) -Wl,--whole-archive $(LINKAGE) -Wl,-no-whole-archive -Wl,-z -Wl,noexecstack -lSDL2 -ldl
 
 run: image
 	$(IMAGE)