Hosted Binutils for x86_64-luna
This commit is contained in:
parent
fcf5923cc0
commit
85d4268b01
117
tools/binutils.patch
Normal file
117
tools/binutils.patch
Normal file
@ -0,0 +1,117 @@
|
||||
diff --color -rN -u binutils-2.38/bfd/config.bfd build/binutils-2.38/bfd/config.bfd
|
||||
--- a/binutils-2.38/bfd/config.bfd 2022-01-22 13:14:07.000000000 +0100
|
||||
+++ b/binutils-2.38/bfd/config.bfd 2022-10-01 22:12:16.914033792 +0200
|
||||
@@ -651,6 +651,11 @@
|
||||
targ_selvecs="iamcu_elf32_vec i386_pei_vec"
|
||||
targ64_selvecs="x86_64_elf64_vec x86_64_elf32_vec x86_64_pe_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
|
||||
;;
|
||||
+ i[3-7]86-*-luna*)
|
||||
+ targ_defvec=i386_elf32_vec
|
||||
+ targ_selvecs=
|
||||
+ targ64_selvecs=x86_64_elf64_vec
|
||||
+ ;;
|
||||
i[3-7]86-*-redox*)
|
||||
targ_defvec=i386_elf32_vec
|
||||
targ_selvecs=
|
||||
@@ -706,6 +711,11 @@
|
||||
targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
|
||||
want64=true
|
||||
;;
|
||||
+ x86_64-*-luna*)
|
||||
+ targ_defvec=x86_64_elf64_vec
|
||||
+ targ_selvecs=i386_elf32_vec
|
||||
+ want64=true
|
||||
+ ;;
|
||||
x86_64-*-mingw* | x86_64-*-pe | x86_64-*-pep | x86_64-*-cygwin)
|
||||
targ_defvec=x86_64_pe_vec
|
||||
targ_selvecs="x86_64_pe_vec x86_64_pei_vec x86_64_pe_big_vec x86_64_elf64_vec l1om_elf64_vec k1om_elf64_vec i386_pe_vec i386_pei_vec i386_elf32_vec iamcu_elf32_vec"
|
||||
diff --color -rN -u binutils-2.38/gas/configure.tgt build/binutils-2.38/gas/configure.tgt
|
||||
--- a/binutils-2.38/gas/configure.tgt 2022-01-22 13:14:08.000000000 +0100
|
||||
+++ b/binutils-2.38/gas/configure.tgt 2022-10-01 22:12:38.115093972 +0200
|
||||
@@ -238,6 +238,7 @@
|
||||
x86_64*-linux-gnux32) arch=x86_64:32 ;;
|
||||
esac ;;
|
||||
i386-*-lynxos*) fmt=elf em=lynx ;;
|
||||
+ i386-*-luna*) fmt=elf em=gnu ;;
|
||||
i386-*-redox*) fmt=elf ;;
|
||||
i386-*-solaris*) fmt=elf em=solaris ;;
|
||||
i386-*-freebsd* \
|
||||
diff --color -rN -u binutils-2.38/ld/configure.tgt build/binutils-2.38/ld/configure.tgt
|
||||
--- a/binutils-2.38/ld/configure.tgt 2022-01-22 15:19:36.000000000 +0100
|
||||
+++ b/binutils-2.38/ld/configure.tgt 2022-10-01 22:15:04.853571062 +0200
|
||||
@@ -329,6 +329,11 @@
|
||||
targ64_extra_emuls="elf_x86_64 elf32_x86_64 elf_l1om elf_k1om"
|
||||
targ64_extra_libpath="elf_x86_64 elf32_x86_64"
|
||||
;;
|
||||
+i[3-7]86-*-luna*)
|
||||
+ targ_emul=elf_i386_luna
|
||||
+ targ_extra_emuls=elf_i386
|
||||
+ targ64_extra_emuls="elf_x86_64_luna elf_x86_64"
|
||||
+ ;;
|
||||
i[3-7]86-*-redox*) targ_emul=elf_i386
|
||||
targ_extra_emuls=elf_x86_64
|
||||
;;
|
||||
@@ -967,6 +972,10 @@
|
||||
targ_extra_libpath="elf_i386 elf32_x86_64 elf_l1om elf_k1om"
|
||||
tdir_elf_i386=`echo ${targ_alias} | sed -e 's/x86_64/i386/'`
|
||||
;;
|
||||
+x86_64-*-luna*)
|
||||
+ targ_emul=elf_x86_64_luna
|
||||
+ targ_extra_emuls="elf_i386_luna elf_x86_64 elf_i386"
|
||||
+ ;;
|
||||
x86_64-*-redox*) targ_emul=elf_x86_64
|
||||
targ_extra_emuls=elf_i386
|
||||
;;
|
||||
diff --color -rN -u binutils-2.38/ld/emulparams/elf_i386_luna.sh build/binutils-2.38/ld/emulparams/elf_i386_luna.sh
|
||||
--- a/dev/null 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/binutils-2.38/ld/emulparams/elf_i386_luna.sh 2022-10-01 21:52:12.394068335 +0200
|
||||
@@ -0,0 +1,3 @@
|
||||
+source_sh ${srcdir}/emulparams/elf_i386.sh
|
||||
+TEXT_START_ADDR=0x08000000
|
||||
+MAXPAGESIZE=0x1000
|
||||
\ No newline at end of file
|
||||
diff --color -rN -u binutils-2.38/ld/emulparams/elf_x86_64_luna.sh build/binutils-2.38/ld/emulparams/elf_x86_64_luna.sh
|
||||
--- a/dev/null 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ b/binutils-2.38/ld/emulparams/elf_x86_64_luna.sh 2022-10-01 21:53:00.411200592 +0200
|
||||
@@ -0,0 +1,2 @@
|
||||
+source_sh ${srcdir}/emulparams/elf_x86_64.sh
|
||||
+MAXPAGESIZE=0x1000
|
||||
\ No newline at end of file
|
||||
diff --color -rN -u binutils-2.38/ld/Makefile.am build/binutils-2.38/ld/Makefile.am
|
||||
--- a/binutils-2.38/ld/Makefile.am 2022-01-22 13:14:09.000000000 +0100
|
||||
+++ b/binutils-2.38/ld/Makefile.am 2022-10-01 22:18:02.660263017 +0200
|
||||
@@ -278,6 +278,7 @@
|
||||
eelf32xtensa.c \
|
||||
eelf32z80.c \
|
||||
eelf_i386.c \
|
||||
+ eelf_i386_luna.c \
|
||||
eelf_i386_be.c \
|
||||
eelf_i386_fbsd.c \
|
||||
eelf_i386_haiku.c \
|
||||
@@ -464,6 +465,7 @@
|
||||
eelf_x86_64_fbsd.c \
|
||||
eelf_x86_64_haiku.c \
|
||||
eelf_x86_64_sol2.c \
|
||||
+ eelf_x86_64_luna.c \
|
||||
ehppa64linux.c \
|
||||
ei386pep.c \
|
||||
emmo.c
|
||||
diff --color -rN -u binutils-2.38/ld/Makefile.in build/binutils-2.38/ld/Makefile.in
|
||||
--- a/binutils-2.38/ld/Makefile.in 2022-02-09 12:49:03.000000000 +0100
|
||||
+++ b/binutils-2.38/ld/Makefile.in 2022-10-01 22:17:46.740196925 +0200
|
||||
@@ -769,6 +769,7 @@
|
||||
eelf32xtensa.c \
|
||||
eelf32z80.c \
|
||||
eelf_i386.c \
|
||||
+ eelf_i386_luna.c \
|
||||
eelf_i386_be.c \
|
||||
eelf_i386_fbsd.c \
|
||||
eelf_i386_haiku.c \
|
||||
@@ -954,6 +955,7 @@
|
||||
eelf_x86_64_fbsd.c \
|
||||
eelf_x86_64_haiku.c \
|
||||
eelf_x86_64_sol2.c \
|
||||
+ eelf_x86_64_luna.c \
|
||||
ehppa64linux.c \
|
||||
ei386pep.c \
|
||||
emmo.c
|
@ -1,3 +1,3 @@
|
||||
#!/bin/sh
|
||||
export LUNA_ROOT=$(realpath $(dirname $0)/..)
|
||||
export PATH=$LUNA_ROOT/toolchain/x86-64-elf/bin:$LUNA_ROOT/toolchain/dist:$PATH
|
||||
export PATH=$LUNA_ROOT/toolchain/x86-64-luna/bin:$LUNA_ROOT/toolchain/dist:$PATH
|
@ -17,13 +17,21 @@ echo Extracting Binutils...
|
||||
|
||||
tar xf toolchain/tarballs/binutils-$LUNA_BINUTILS_VERSION_REQUIRED.tar.xz -C toolchain/build/
|
||||
|
||||
echo Patching Binutils...
|
||||
|
||||
cd toolchain
|
||||
|
||||
patch -u -i $LUNA_ROOT/tools/binutils.patch -p 1 -d build
|
||||
|
||||
cd -
|
||||
|
||||
echo Configuring Binutils...
|
||||
|
||||
mkdir -p toolchain/build/binutils
|
||||
|
||||
cd toolchain/build/binutils
|
||||
|
||||
../binutils-$LUNA_BINUTILS_VERSION_REQUIRED/configure --prefix="$PREFIX" --target=$TARGET --disable-nls --with-sysroot --disable-werror
|
||||
../binutils-$LUNA_BINUTILS_VERSION_REQUIRED/configure --prefix="$BUILD_PREFIX" --target=$BUILD_TARGET --disable-nls --with-sysroot=$BUILD_SYSROOT --disable-werror
|
||||
|
||||
echo Building Binutils...
|
||||
|
||||
|
@ -4,5 +4,6 @@ source $(dirname $0)/env.sh
|
||||
export LUNA_GCC_VERSION_REQUIRED=12.1.0
|
||||
export LUNA_BINUTILS_VERSION_REQUIRED=2.38
|
||||
|
||||
export PREFIX=$LUNA_ROOT/toolchain/x86-64-elf
|
||||
export TARGET=x86_64-elf
|
||||
export BUILD_PREFIX=$LUNA_ROOT/toolchain/x86-64-luna
|
||||
export BUILD_TARGET=x86_64-luna
|
||||
export BUILD_SYSROOT=$LUNA_ROOT/base
|
@ -2,9 +2,9 @@
|
||||
set -e
|
||||
source $(dirname $0)/setup-env.sh
|
||||
|
||||
if [ -x "$(command -v x86_64-elf-ar)" ]
|
||||
if [ -x "$(command -v x86_64-luna-ar)" ]
|
||||
then
|
||||
if [ "$(x86_64-elf-ar --version | head -n 1 | awk '{ print $5 }')" == "$LUNA_BINUTILS_VERSION_REQUIRED" ]
|
||||
if [ "$(x86_64-luna-ar --version | head -n 1 | awk '{ print $5 }')" == "$LUNA_BINUTILS_VERSION_REQUIRED" ]
|
||||
then
|
||||
exit 0
|
||||
else
|
||||
|
Loading…
Reference in New Issue
Block a user