:: commit 2460b33f9c3925ba19539df6bd32a8f735d03604

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

parents: c626e63b56

build: Misc build system improvements

diff --git a/.gitignore b/.gitignore
index 0a51bd25..45fc17a3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,9 +1,9 @@
-/libgcc-*
 /bin
 /build
 /cross-files
 /limine-efi
 /freestanding-headers
+/libgcc-binaries
 /ovmf*
 *.o
 *.d
@@ -36,5 +36,6 @@
 /common-bios
 /common-uefi-ia32
 /common-uefi-x86-64
+/common-uefi-aarch64
 /decompressor-build
 /stage1.stamp
diff --git a/common/GNUmakefile b/common/GNUmakefile
index 82bc7119..009d8c9e 100644
--- a/common/GNUmakefile
+++ b/common/GNUmakefile
@@ -43,7 +43,6 @@ override CROSS_CFLAGS += \
     -fno-strict-aliasing \
     -fno-lto \
     -nostdinc \
-    -Wno-address-of-packed-member \
     -Wshadow \
     -Wvla \
     -MMD \
@@ -349,7 +348,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker_nomap.ld: linker_uefi_aarch64.ld.in
 	$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
 	$(CROSS_CC) -x c -E -P -undef -DLINKER_NOMAP linker_uefi_aarch64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 
-$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-aarch64.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/tinf/tinfgzip.o $(call MKESCAPE,$(BUILDDIR))/tinf/tinflate.o $(call MKESCAPE,$(BUILDDIR))/font.o
+$(call MKESCAPE,$(BUILDDIR))/limine_nomap.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-aarch64.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.o $(OBJ) ../libgcc-binaries/libgcc-aarch64.a $(call MKESCAPE,$(BUILDDIR))/tinf/tinfgzip.o $(call MKESCAPE,$(BUILDDIR))/tinf/tinflate.o $(call MKESCAPE,$(BUILDDIR))/font.o
 	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld'
 	$(CROSS_LD) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker_nomap.ld' \
@@ -359,7 +358,7 @@ $(call MKESCAPE,$(BUILDDIR))/linker.ld: linker_uefi_aarch64.ld.in
 	$(MKDIR_P) '$(call SHESCAPE,$(BUILDDIR))'
 	$(CROSS_CC) -x c -E -P -undef linker_uefi_aarch64.ld.in -o '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 
-$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-aarch64.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.o $(OBJ) $(call MKESCAPE,$(BUILDDIR))/tinf/tinfgzip.o $(call MKESCAPE,$(BUILDDIR))/tinf/tinflate.o $(call MKESCAPE,$(BUILDDIR))/font.o $(call MKESCAPE,$(BUILDDIR))/full.map.o
+$(call MKESCAPE,$(BUILDDIR))/limine.elf: $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/crt0-efi-aarch64.o $(call MKESCAPE,$(BUILDDIR))/limine-efi/gnuefi/reloc_aarch64.o $(OBJ) ../libgcc-binaries/libgcc-aarch64.a $(call MKESCAPE,$(BUILDDIR))/tinf/tinfgzip.o $(call MKESCAPE,$(BUILDDIR))/tinf/tinflate.o $(call MKESCAPE,$(BUILDDIR))/font.o $(call MKESCAPE,$(BUILDDIR))/full.map.o
 	$(MAKE) '$(call SHESCAPE,$(BUILDDIR))/linker.ld'
 	$(CROSS_LD) \
 		-T'$(call SHESCAPE,$(BUILDDIR))/linker.ld' \
diff --git a/configure.ac b/configure.ac
index 0eecfac8..ca8757c7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -152,7 +152,7 @@ else
     (
     mkdir -p "$BUILDDIR/cross-files"
     cd "$BUILDDIR/cross-files"
-    TRIPLET=aarch64-elf-none "$SRCDIR/cross-detect/configure" || exit 1
+    TRIPLET=aarch64-elf "$SRCDIR/cross-detect/configure" || exit 1
     )
     BUILD_UEFI_AARCH64="limine-uefi-aarch64"
 fi
diff --git a/decompressor/GNUmakefile b/decompressor/GNUmakefile
index e45e61c0..5b064136 100644
--- a/decompressor/GNUmakefile
+++ b/decompressor/GNUmakefile
@@ -29,7 +29,6 @@ override CROSS_CFLAGS += \
     -fno-pic \
     -fomit-frame-pointer \
     -nostdinc \
-    -Wno-address-of-packed-member \
     -Wshadow \
     -Wvla \
     -mno-80387 \
tab: 248 wrap: offon