⛏️ index : buildtools.git

author Alexander von Gluck IV <kallisti5@unixzen.com> 2021-08-25 9:09:06.0 -05:00:00
committer Alex von Gluck IV <kallisti5@unixzen.com> 2021-08-26 20:24:40.0 +00:00:00
commit
2f8f3a16b79e4e57abd4f81ee074ae25283837c0 [patch]
tree
4af5492a4de84a1b9901c71b5e161effa84986e8
parent
7c3988da64e4bf5ccc4aae6d02784921707488dd
download
2f8f3a16b79e4e57abd4f81ee074ae25283837c0.tar.gz

binutils/emulparams: Rely on elf_i386.sh, layering haiku on top

* Solves a new segfault encountered while linking our 32-bit
  bios_ia32 loader under x86_64 (-m elf_i386_haiku)
  backtrace:
    _bfd_x86_elf_link_setup_gnu_properties() : reason: SIGSEGV
    elf_i386_link_setup_gnu_properties()
    ldelf_after_open()
    lang_process()
    main()
* I maintained our adjustments which differ / don't exist in
  elf_i386.  Lots of new code inclusions though in elf_i386

Change-Id: I9220730ba41bc029e40d1b4a8e5fbd85b312c1b5
Reviewed-on: https://review.haiku-os.org/c/buildtools/+/4375
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>

Diff

 binutils/ld/emulparams/elf_i386_haiku.sh | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

diff --git a/binutils/ld/emulparams/elf_i386_haiku.sh b/binutils/ld/emulparams/elf_i386_haiku.sh
index 565df04..6c4001e 100644
--- a/binutils/ld/emulparams/elf_i386_haiku.sh
+++ a/binutils/ld/emulparams/elf_i386_haiku.sh
@@ -1,12 +1,7 @@
SCRIPT_NAME=elf
OUTPUT_FORMAT="elf32-i386"
source_sh ${srcdir}/emulparams/elf_i386.sh
source_sh ${srcdir}/emulparams/elf_haiku.sh
TEXT_START_ADDR=0x200000
NONPAGED_TEXT_START_ADDR=0x200000
MAXPAGESIZE=0x1000
ARCH=i386
MACHINE=
NOP=0x90909090
TEMPLATE_NAME=elf
GENERATE_SHLIB_SCRIPT=yes
NO_SMALL_DATA=yes
. ${srcdir}/emulparams/elf_haiku.sh
OUTPUT_FORMAT="elf32-i386"