diff --git a/Makefile b/Makefile index eecd4e9..34eee7c 100644 --- a/Makefile +++ b/Makefile @@ -259,6 +259,7 @@ $(BUILD_DIR)/%.h: $(SRC_DIR)/includes/%.txt $(BUILD_DIR)/%.o: $(BUILD_DIR)/%.pas @echo "===> ASSEMBLE $@" $(Q)$(PAS) -i $(PASFLAGS) -o $(BUILD_DIR)/$*.s $< '$(DEFINES)' + @cat fix_gnustack.txt >> $(BUILD_DIR)/$*.s $(Q)$(AS) $(ASFLAGS) $(BUILD_DIR)/$*.s -o $@ ifeq ($(findstring $(MAKECMDGOALS),clean),) diff --git a/fix_gnustack.txt b/fix_gnustack.txt new file mode 100644 index 0000000..965af94 --- /dev/null +++ b/fix_gnustack.txt @@ -0,0 +1,3 @@ +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif diff --git a/src/loadData.s b/src/loadData.s index e176c53..9934f7d 100644 --- a/src/loadData.s +++ b/src/loadData.s @@ -20,3 +20,6 @@ ret .size _loadData, .-_loadData +#if defined(__linux__) && defined(__ELF__) +.section .note.GNU-stack,"",%progbits +#endif