Files
haikuports/app-emulation/fdpp/patches/fdpp-1.9.patchset
2025-06-21 22:15:04 +02:00

51 lines
1.5 KiB
Plaintext

From 3619f3a1bb5fed464df76b449aaf66f3d8ebfade Mon Sep 17 00:00:00 2001
From: PulkoMandy <pulkomandy@pulkomandy.tk>
Date: Sat, 21 Jun 2025 17:36:35 +0200
Subject: Fix build on Haiku
diff --git a/fdpp/kernel/makefile b/fdpp/kernel/makefile
index 0c1aabe..1b54982 100644
--- a/fdpp/kernel/makefile
+++ b/fdpp/kernel/makefile
@@ -57,7 +57,7 @@ $(T)/$(TARGET).elf $(T)/$(TARGET).map &: $(DEPS_OF_ELF)
else
$(T)/%.elf $(T)/%.map : $(DEPS_OF_ELF)
endif
- $(CROSS_LD) -melf_i386 -static -Map=$(T)/$(TARGET).map -o $(T)/$(TARGET).elf \
+ $(CROSS_LD) -melf_i386_haiku -static -Map=$(T)/$(TARGET).map -o $(T)/$(TARGET).elf \
$(LA) $(PF) $(^:%.ld=-T%.ld)
chmod -x $(T)/$(TARGET).elf
diff --git a/fdpp/kernel/meson.build b/fdpp/kernel/meson.build
index bded24c..c3e017e 100644
--- a/fdpp/kernel/meson.build
+++ b/fdpp/kernel/meson.build
@@ -70,7 +70,7 @@ executable(TARGET + '.elf',
[SRCS, sfiles, plt_inc],
include_directories: incdir2,
nasm_args: nargs,
- link_args: ['-Wl,-melf_i386', '-Wl,-static',
+ link_args: ['-Wl,-melf_i386_haiku', '-Wl,-static',
'-Wl,-Map=' + TARGET + '.map', '-nostdlib',
'-Wl,--emit-relocs', '-Wl,-T' + kernel_ld],
install: true,
diff --git a/fdpp/loader/elf.c b/fdpp/loader/elf.c
index 7842026..21c7429 100644
--- a/fdpp/loader/elf.c
+++ b/fdpp/loader/elf.c
@@ -28,6 +28,10 @@
#include <gelf.h>
#include "elf_priv.h"
+#ifdef __HAIKU__
+#include "private/system/arch/x86/arch_elf.h"
+#endif
+
struct elfstate {
char *addr;
size_t mapsize;
--
2.48.1