:: commit 39559b39ff2b29329f69ddf30cb6dcebf5cbd701

mintsuki <mintsuki@protonmail.com> — 2022-05-12 14:14

parents: cb9c097bcc

decompressor: Use as instead of nasm

diff --git a/decompressor/GNUmakefile b/decompressor/GNUmakefile
index 4d11a9ad..b6e828ee 100644
--- a/decompressor/GNUmakefile
+++ b/decompressor/GNUmakefile
@@ -52,8 +52,8 @@ override INTERNAL_LDFLAGS := \
 	-Tlinker.ld
 
 override C_FILES := $(shell find ./ -type f -name '*.c')
-override ASM_FILES := $(shell find ./ -type f -name '*.asm')
-override OBJ := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(ASM_FILES:.asm=.o) $(C_FILES:.c=.o))
+override ASM_FILES := $(shell find ./ -type f -name '*.S')
+override OBJ := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(ASM_FILES:.S=.o) $(C_FILES:.c=.o))
 override HEADER_DEPS := $(addprefix $(call MKESCAPE,$(BUILDDIR))/, $(C_FILES:.c=.d))
 
 .PHONY: all
@@ -83,9 +83,9 @@ $(call MKESCAPE,$(BUILDDIR))/%.o: %.c $(call MKESCAPE,$(BUILDDIR))/tinf-copied
 	mkdir -p "$$(dirname '$(call SHESCAPE,$@)')"
 	$(LIMINE_CC) $(LIMINE_CFLAGS) -Os $(INTERNAL_CFLAGS) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 
-$(call MKESCAPE,$(BUILDDIR))/%.o: %.asm
+$(call MKESCAPE,$(BUILDDIR))/%.o: %.S
 	mkdir -p "$$(dirname '$(call SHESCAPE,$@)')"
-	nasm '$(call SHESCAPE,$<)' -f elf32 -o '$(call SHESCAPE,$@)'
+	$(LIMINE_CC) $(LIMINE_CFLAGS) -Os $(INTERNAL_CFLAGS) -c '$(call SHESCAPE,$<)' -o '$(call SHESCAPE,$@)'
 
 .PHONY: clean
 clean:
diff --git a/decompressor/entry.S b/decompressor/entry.S
new file mode 100644
index 00000000..9d5ca7d9
--- /dev/null
+++ b/decompressor/entry.S
@@ -0,0 +1,14 @@
+.section .entry
+
+.globl _start
+_start:
+    cld
+
+    // Zero out .bss
+    xor %al, %al
+    mov $bss_begin, %edi
+    mov $bss_end, %ecx
+    sub $bss_begin, %ecx
+    rep stosb
+
+    jmp entry
diff --git a/decompressor/entry.asm b/decompressor/entry.asm
deleted file mode 100644
index c2b94a97..00000000
--- a/decompressor/entry.asm
+++ /dev/null
@@ -1,18 +0,0 @@
-extern bss_begin
-extern bss_end
-extern entry
-
-section .entry
-
-global _start
-_start:
-    cld
-
-    ; Zero out .bss
-    xor al, al
-    mov edi, bss_begin
-    mov ecx, bss_end
-    sub ecx, bss_begin
-    rep stosb
-
-    jmp entry
tab: 248 wrap: offon