:: commit 1d2bc5ede71e70ac3bd170ffb6230f34c8e59e31

mintsuki <mintsuki@protonmail.com> — 2022-08-28 21:24

parents: eb75629787

build: Update linker and compiler flags

diff --git a/common/GNUmakefile b/common/GNUmakefile
index 301f6524..5094eac0 100644
--- a/common/GNUmakefile
+++ b/common/GNUmakefile
@@ -32,82 +32,82 @@ override S2CFLAGS := -Os
 
 override CROSS_CFLAGS += \
     -g \
-    $(WERROR) \
     -std=gnu11 \
+    -nostdinc \
     -ffreestanding \
     -fno-stack-protector \
     -fno-stack-check \
     -fno-omit-frame-pointer \
     -fno-strict-aliasing \
     -fno-lto \
-    -nostdinc \
     -Wshadow \
     -Wvla \
     -mno-80387 \
     -mno-mmx \
     -mno-sse \
     -mno-sse2 \
+    $(WERROR) \
     -MMD \
     -DCOM_OUTPUT=$(COM_OUTPUT) \
     -DE9_OUTPUT=$(E9_OUTPUT) \
     -I../freestanding-headers \
+    -I'$(call SHESCAPE,$(BUILDDIR))/tinf' \
     -I'$(call SHESCAPE,$(BUILDDIR))/..' \
     -I. \
     -I.. \
     -I../stivale \
-    -I'$(call SHESCAPE,$(BUILDDIR))/tinf'
 
 ifeq ($(TARGET),bios)
     override CROSS_CFLAGS += \
-        -Dbios=1 \
-        -Duefi=0 \
+        -fno-pie \
+        -fno-pic \
         -m32 \
         -march=i686 \
         -mtune=generic \
         -mabi=sysv \
-        -fno-pie \
-        -fno-pic
+        -Dbios=1 \
+        -Duefi=0
 endif
 
 ifeq ($(TARGET),uefi-x86-64)
     override INTERNAL_CFLAGS32 := \
         $(CROSS_CFLAGS) \
         -g0 \
-        -Dbios=0 \
-        -Duefi=1 \
+        -fpie \
         -m32 \
         -march=i686 \
         -mtune=generic \
         -mabi=sysv \
-        -DGNU_EFI_USE_MS_ABI \
-        -fpie
-
-    override CROSS_CFLAGS += \
         -Dbios=0 \
         -Duefi=1 \
+        -DGNU_EFI_USE_MS_ABI
+
+    override CROSS_CFLAGS += \
+        -fpie \
         -m64 \
         -march=x86-64 \
         -mtune=generic \
         -mabi=sysv \
+        -mno-red-zone \
+        -Dbios=0 \
+        -Duefi=1 \
         -DGNU_EFI_USE_MS_ABI \
         -I'$(call SHESCAPE,$(BUILDDIR))/limine-efi/inc' \
-        -I'$(call SHESCAPE,$(BUILDDIR))/limine-efi/inc/x86_64' \
-        -fpie \
-        -mno-red-zone
+        -I'$(call SHESCAPE,$(BUILDDIR))/limine-efi/inc/x86_64'
 endif
 
 ifeq ($(TARGET),uefi-ia32)
     override CROSS_CFLAGS += \
-        -Dbios=0 \
-        -Duefi=1 \
+        -fpie \
         -m32 \
         -march=i686 \
         -mtune=generic \
         -mabi=sysv \
+        -Dbios=0 \
+        -Duefi=1 \
         -DGNU_EFI_USE_MS_ABI \
         -I'$(call SHESCAPE,$(BUILDDIR))/limine-efi/inc' \
-        -I'$(call SHESCAPE,$(BUILDDIR))/limine-efi/inc/ia32' \
-        -fpie
+        -I'$(call SHESCAPE,$(BUILDDIR))/limine-efi/inc/ia32'
 endif
 
 override CROSS_LDFLAGS += \
@@ -116,7 +116,7 @@ override CROSS_LDFLAGS += \
 
 ifeq ($(TARGET),bios)
     override CROSS_LDFLAGS += \
-        -melf_i386 \
+        -m elf_i386 \
         -static \
         --build-id=sha1
 
@@ -127,20 +127,20 @@ endif
 
 ifeq ($(TARGET),uefi-x86-64)
     override CROSS_LDFLAGS += \
-        -melf_x86_64 \
+        -m elf_x86_64 \
         -static \
         -pie \
         --no-dynamic-linker \
-        -ztext
+        -z text
 endif
 
 ifeq ($(TARGET),uefi-ia32)
     override CROSS_LDFLAGS += \
-        -melf_i386 \
+        -m elf_i386 \
         -static \
         -pie \
         --no-dynamic-linker \
-        -ztext
+        -z text
 endif
 
 override C_FILES := $(shell find . -type f -name '*.c')
diff --git a/decompressor/GNUmakefile b/decompressor/GNUmakefile
index 73ddd20b..f5ae6f0e 100644
--- a/decompressor/GNUmakefile
+++ b/decompressor/GNUmakefile
@@ -15,37 +15,34 @@ endif
 override CROSS_CFLAGS += \
     $(WERROR) \
     -Os \
+    -std=gnu11 \
+    -nostdinc \
     -m32 \
     -march=i686 \
     -mtune=generic \
     -mabi=sysv \
-    -std=gnu11 \
+    -mno-80387 \
     -ffreestanding \
     -fno-stack-protector \
     -fno-stack-check \
+    -fomit-frame-pointer \
     -fno-strict-aliasing \
     -fno-lto \
     -fno-pie \
     -fno-pic \
-    -fomit-frame-pointer \
-    -nostdinc \
     -Wshadow \
     -Wvla \
-    -mno-80387 \
-    -mno-mmx \
-    -mno-sse \
-    -mno-sse2 \
     -MMD \
     -I../freestanding-headers \
-    -I. \
-    -I'$(call SHESCAPE,$(BUILDDIR))/tinf'
+    -I'$(call SHESCAPE,$(BUILDDIR))/tinf' \
+    -I.
 
 override CROSS_LDFLAGS += \
-    -melf_i386 \
+    -m elf_i386 \
     -nostdlib \
     -z max-page-size=0x1000 \
     -static \
-    -Tlinker.ld
+    -T linker.ld
 
 ifneq ($(CROSS_LD_NO_PIE_BUG),1)
     override CROSS_LDFLAGS += -no-pie
tab: 248 wrap: offon