mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-23 12:10:06 +02:00
Binutils: add recipe for version 2.31.1. (#3204)
This commit is contained in:
198
sys-devel/binutils/binutils-2.31.1.recipe
Normal file
198
sys-devel/binutils/binutils-2.31.1.recipe
Normal file
@@ -0,0 +1,198 @@
|
||||
SUMMARY="Assembler, linker and binary tools for target ${targetMachineTriple}"
|
||||
DESCRIPTION="The GNU Binutils are a collection of binary tools.
|
||||
|
||||
The main ones are:
|
||||
- ld - the GNU linker.
|
||||
- as - the GNU assembler.
|
||||
|
||||
But they also include:
|
||||
- addr2line - converts addresses into filenames and line numbers.
|
||||
- ar - a utility for creating, modifying and extracting of archives.
|
||||
- c++filt - filter to demangle encoded C++ symbols.
|
||||
- gold - a linker for ELF files.
|
||||
- nm - lists symbols from object files.
|
||||
- objcopy - copys and translates object files.
|
||||
- objdump - displays information from object files.
|
||||
- ranlib - generates an index to the contents of an archive.
|
||||
- readelf - displays information from any ELF format object file.
|
||||
- size - lists the section sizes of an object or archive file.
|
||||
- strings - lists printable strings from files.
|
||||
- strip - discards symbols.
|
||||
|
||||
The tools of this package can be used for cross-builds to \
|
||||
$effectiveTargetMachineTriple."
|
||||
HOMEPAGE="https://www.gnu.org/software/binutils/"
|
||||
COPYRIGHT="1988-2018 Free Software Foundation, Inc."
|
||||
LICENSE="GNU GPL v3
|
||||
GNU LGPL v3"
|
||||
REVISION="1"
|
||||
binutilsVersion="2.31.1"
|
||||
SOURCE_URI="https://ftpmirror.gnu.org/binutils/binutils-$binutilsVersion.tar.xz
|
||||
https://ftp.gnu.org/gnu/binutils/binutils-$binutilsVersion.tar.xz"
|
||||
CHECKSUM_SHA256="5d20086ecf5752cc7d9134246e9588fa201740d540f7eb84d795b1f7a93bca86"
|
||||
SOURCE_DIR="binutils-$binutilsVersion"
|
||||
PATCHES="binutils-$portVersion.patchset"
|
||||
|
||||
# disabled on x86: see https://github.com/haikuports/haikuports/issues/1750
|
||||
ARCHITECTURES="!x86_gcc2 ?x86 x86_64 ?arm"
|
||||
SECONDARY_ARCHITECTURES="?x86"
|
||||
|
||||
PROVIDES="
|
||||
binutils$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:addr2line$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:ar$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:as$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:c++filt$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:elfedit$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:gprof$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:ld$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:ld.bfd$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:nm$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:objcopy$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:objdump$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:ranlib$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:readelf$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:size$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:strings$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
cmd:strip$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
lib:libbfd_$binutilsVersion$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
lib:libopcodes_$binutilsVersion$secondaryArchSuffix = $portVersion compat >= 2.23
|
||||
"
|
||||
REQUIRES="
|
||||
haiku$secondaryArchSuffix
|
||||
"
|
||||
|
||||
BUILD_REQUIRES="
|
||||
haiku${secondaryArchSuffix}_devel
|
||||
cmd:find
|
||||
cmd:xargs
|
||||
"
|
||||
BUILD_PREREQUIRES="
|
||||
cmd:autoconf
|
||||
cmd:awk
|
||||
cmd:bison
|
||||
cmd:find
|
||||
cmd:flex
|
||||
cmd:gcc$secondaryArchSuffix
|
||||
cmd:ld$secondaryArchSuffix
|
||||
cmd:make
|
||||
cmd:makeinfo
|
||||
cmd:sed
|
||||
cmd:strip
|
||||
cmd:tar
|
||||
cmd:xargs
|
||||
"
|
||||
|
||||
|
||||
BUILD_PACKAGE_ACTIVATION_PHASE=INSTALL
|
||||
|
||||
sourceDir=$(pwd)
|
||||
relativeInstallDir="develop/tools$secondaryArchSubDir"
|
||||
installDir="$prefix/$relativeInstallDir"
|
||||
objectsDir=$(pwd)/../${portVersionedName}-obj
|
||||
|
||||
BUILD()
|
||||
{
|
||||
rm -rf $objectsDir
|
||||
|
||||
# Touch all *.info files, as newer texinfos don't like their format
|
||||
(cd $sourceDir; find . -name \*.info | xargs touch)
|
||||
|
||||
# Touch all *.y files, ensure they get generated; without this, the
|
||||
# PE targets would fail to link
|
||||
(cd $sourceDir; find . -name \*.y | xargs touch)
|
||||
|
||||
mkdir -p $objectsDir
|
||||
cd $objectsDir
|
||||
|
||||
binUtilsTargets=$effectiveTargetMachineTriple
|
||||
|
||||
if [ $effectiveTargetArchitecture == x86_64 ]; then
|
||||
binUtilsTargets="$binUtilsTargets,i386-efi-pe,x86_64-efi-pe"
|
||||
fi
|
||||
|
||||
CFLAGS=-O2 CXXFLAGS=-O2 runConfigure "$sourceDir/configure" \
|
||||
--exec-prefix=$installDir \
|
||||
--includedir=$includeDir/binutils \
|
||||
--docdir=$docDir --enable-host-shared --enable-largefile=yes \
|
||||
--disable-libtool-lock --disable-nls --enable-plugins --enable-64-bit-bfd \
|
||||
--enable-ld=default --enable-targets=$binUtilsTargets \
|
||||
--with-sysroot=/
|
||||
# Note: The sysroot option is normally superfluous. We have to specify
|
||||
# it, however, since these binutils may be used by the bootstrap-gcc,
|
||||
# which passes --sysroot=<path> to ld.
|
||||
|
||||
make $jobArgs LEXLIB=
|
||||
}
|
||||
|
||||
INSTALL()
|
||||
{
|
||||
cd $objectsDir
|
||||
|
||||
make install
|
||||
make install-html
|
||||
|
||||
# Remove the development libraries and headers. Nobody uses those anyway.
|
||||
rm $libDir/*.a $libDir/*.la
|
||||
rm -r $developDir/headers
|
||||
|
||||
### HTML documentation ####################################
|
||||
|
||||
echo "Organizing HTML documentation..."
|
||||
cd $docDir
|
||||
|
||||
# beautify HTML docs and remove stuff we don't need
|
||||
mv as.html as
|
||||
ln -sf as/index.html as.html
|
||||
mv bfd.html bfd
|
||||
ln -sf bfd/index.html bfd.html
|
||||
mv binutils.html binutils
|
||||
ln -sf binutils/index.html binutils.html
|
||||
mv gprof.html gprof
|
||||
ln -sf gprof/index.html gprof.html
|
||||
mv ld.html ld
|
||||
ln -sf ld/index.html ld.html
|
||||
rm libiberty.html
|
||||
|
||||
# no info documentation
|
||||
rm -r $infoDir
|
||||
|
||||
### Strip #################################################
|
||||
|
||||
echo "Strip debug info"
|
||||
|
||||
strip --strip-debug $binDir/*
|
||||
|
||||
### Symlinks ##############################################
|
||||
|
||||
echo "Creating required symlinks"
|
||||
|
||||
# There are copies of a subset of the commands below installDir. We
|
||||
# overwrite those with symlinks to the ones in binDir.
|
||||
for file in $installDir/$effectiveTargetMachineTriple/bin/*; do
|
||||
symlinkRelative -sfn $binDir/$(basename $file) $file
|
||||
done
|
||||
|
||||
### Cleanup #################################################
|
||||
|
||||
echo "Cleanup"
|
||||
|
||||
# delete commands we aren't including
|
||||
cd $binDir
|
||||
for cmd in dlltool dllwrap windmc windres; do
|
||||
rm -f $cmd
|
||||
rm -f $installDir/$effectiveTargetMachineTriple/bin/$cmd
|
||||
done
|
||||
|
||||
# delete man pages for commands that we aren't including
|
||||
cd $manDir
|
||||
for cmd in dlltool nlmconv windmc windres; do
|
||||
rm -f man1/$cmd.1
|
||||
done
|
||||
}
|
||||
|
||||
TEST()
|
||||
{
|
||||
cd $objectsDir
|
||||
make check
|
||||
}
|
||||
663
sys-devel/binutils/patches/binutils-2.31.1.patchset
Normal file
663
sys-devel/binutils/patches/binutils-2.31.1.patchset
Normal file
@@ -0,0 +1,663 @@
|
||||
From f3f36b04425b3d423af5454a862281fb8c68c8b5 Mon Sep 17 00:00:00 2001
|
||||
From: Ken Mays <kmays2000@gmail.com>
|
||||
Date: Wed, 10 Oct 2018 18:21:36 +0000
|
||||
Subject: Haiku patches for Binutils 2.31.1
|
||||
|
||||
|
||||
diff --git a/bfd/config.bfd b/bfd/config.bfd
|
||||
index 6391f35..75db31f 100644
|
||||
--- a/bfd/config.bfd
|
||||
+++ b/bfd/config.bfd
|
||||
@@ -388,7 +388,7 @@ case "${targ}" in
|
||||
;;
|
||||
arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
|
||||
arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
|
||||
- arm*-*-eabi* | arm-*-rtems* | arm*-*-uclinuxfdpiceabi)
|
||||
+ arm*-*-eabi* | arm-*-rtems* | arm*-*-uclinuxfdpiceabi | arm*-*-haiku*)
|
||||
targ_defvec=arm_elf32_le_vec
|
||||
targ_selvecs="arm_elf32_fdpic_le_vec arm_elf32_be_vec arm_elf32_fdpic_be_vec"
|
||||
;;
|
||||
@@ -691,6 +691,11 @@ case "${targ}" in
|
||||
targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_pei_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
|
||||
want64=true
|
||||
;;
|
||||
+ x86_64-*-haiku*)
|
||||
+ targ_defvec=x86_64_elf64_vec
|
||||
+ targ_selvecs="i386_elf32_vec"
|
||||
+ want64=true
|
||||
+ ;;
|
||||
x86_64-*-nacl*)
|
||||
targ_defvec=x86_64_elf32_nacl_vec
|
||||
targ_selvecs="i386_elf32_nacl_vec x86_64_elf64_nacl_vec arm_elf32_nacl_be_vec arm_elf32_nacl_le_vec"
|
||||
@@ -737,6 +742,9 @@ case "${targ}" in
|
||||
targ_defvec=i386_elf32_vec
|
||||
targ_selvecs="iamcu_elf32_vec i386_pe_vec i386_pei_vec"
|
||||
;;
|
||||
+ i[3-7]86-*-haiku*)
|
||||
+ targ_defvec=i386_elf32_vec
|
||||
+ ;;
|
||||
i[3-7]86-*-interix*)
|
||||
targ_defvec=i386_pei_vec
|
||||
targ_selvecs="i386_pe_vec"
|
||||
@@ -856,6 +864,10 @@ case "${targ}" in
|
||||
targ_defvec=mips_elf32_trad_le_vec
|
||||
targ_selvecs="mips_elf32_trad_be_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
|
||||
;;
|
||||
+ mips*el-*-haiku*)
|
||||
+ targ_defvec=mips_elf32_le_vec
|
||||
+ targ_selvecs="mips_elf32_be_vec mips_elf64_be_vec mips_elf64_le_vec mips_ecoff_le_vec mips_ecoff_be_vec"
|
||||
+ ;;
|
||||
mips*-*-netbsd*)
|
||||
targ_defvec=mips_elf32_trad_be_vec
|
||||
targ_selvecs="mips_elf32_trad_le_vec mips_elf64_trad_be_vec mips_elf64_trad_le_vec mips_ecoff_be_vec mips_ecoff_le_vec"
|
||||
@@ -1137,6 +1149,11 @@ case "${targ}" in
|
||||
targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
|
||||
targ_archs="$targ_archs bfd_i386_arch"
|
||||
;;
|
||||
+ powerpc-*-haiku*)
|
||||
+ targ_defvec=powerpc_elf32_vec
|
||||
+ targ_selvecs="rs6000_xcoff_vec powerpc_elf32_le_vec pef_vec pef_xlib_vec powerpc_xcoff_vec powerpc_boot_vec"
|
||||
+ targ_cflags=-D__HAIKU_TARGET__
|
||||
+ ;;
|
||||
powerpc-*-macos*)
|
||||
targ_defvec=powerpc_xcoff_vec
|
||||
;;
|
||||
diff --git a/bfd/configure b/bfd/configure
|
||||
index 0fc8414..791e040 100755
|
||||
--- a/bfd/configure
|
||||
+++ b/bfd/configure
|
||||
@@ -10932,7 +10932,7 @@ haiku*)
|
||||
soname_spec='${libname}${release}${shared_ext}$major'
|
||||
shlibpath_var=LIBRARY_PATH
|
||||
shlibpath_overrides_runpath=yes
|
||||
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
|
||||
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
|
||||
hardcode_into_libs=yes
|
||||
;;
|
||||
|
||||
diff --git a/binutils/configure b/binutils/configure
|
||||
index bc6a809..252b7f6 100755
|
||||
--- a/binutils/configure
|
||||
+++ b/binutils/configure
|
||||
@@ -10723,7 +10723,7 @@ haiku*)
|
||||
soname_spec='${libname}${release}${shared_ext}$major'
|
||||
shlibpath_var=LIBRARY_PATH
|
||||
shlibpath_overrides_runpath=yes
|
||||
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
|
||||
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
|
||||
hardcode_into_libs=yes
|
||||
;;
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 462ad05..46b424f 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2993,7 +2993,7 @@ case "${ENABLE_GOLD}" in
|
||||
is_elf=no
|
||||
case "${target}" in
|
||||
*-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
|
||||
- | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
|
||||
+ | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* | *-*-haiku* \
|
||||
| *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
|
||||
| *-*-solaris2* | *-*-nto* | *-*-nacl*)
|
||||
case "${target}" in
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index c12fd54..a8c0827 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -327,7 +327,7 @@ case "${ENABLE_GOLD}" in
|
||||
is_elf=no
|
||||
case "${target}" in
|
||||
*-*-elf* | *-*-sysv4* | *-*-unixware* | *-*-eabi* | hppa*64*-*-hpux* \
|
||||
- | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* \
|
||||
+ | *-*-linux* | *-*-gnu* | frv-*-uclinux* | *-*-irix5* | *-*-irix6* | *-*-haiku* \
|
||||
| *-*-netbsd* | *-*-openbsd* | *-*-freebsd* | *-*-dragonfly* \
|
||||
| *-*-solaris2* | *-*-nto* | *-*-nacl*)
|
||||
case "${target}" in
|
||||
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
|
||||
index 2d20f1c..f7e46f1 100644
|
||||
--- a/gas/config/tc-i386.c
|
||||
+++ b/gas/config/tc-i386.c
|
||||
@@ -434,7 +434,8 @@ const char extra_symbol_chars[] = "*%-([{}"
|
||||
&& !defined (TE_NACL) \
|
||||
&& !defined (TE_FreeBSD) \
|
||||
&& !defined (TE_DragonFly) \
|
||||
- && !defined (TE_NetBSD)))
|
||||
+ && !defined (TE_NetBSD) \
|
||||
+ && !defined (TE_BeOS)))
|
||||
/* This array holds the chars that always start a comment. If the
|
||||
pre-processor is disabled, these aren't very useful. The option
|
||||
--divide will remove '/' from this list. */
|
||||
diff --git a/gas/configure b/gas/configure
|
||||
index 8bbf786..5b9a064 100755
|
||||
--- a/gas/configure
|
||||
+++ b/gas/configure
|
||||
@@ -10539,7 +10539,7 @@ haiku*)
|
||||
soname_spec='${libname}${release}${shared_ext}$major'
|
||||
shlibpath_var=LIBRARY_PATH
|
||||
shlibpath_overrides_runpath=yes
|
||||
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
|
||||
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
|
||||
hardcode_into_libs=yes
|
||||
;;
|
||||
|
||||
diff --git a/gas/configure.tgt b/gas/configure.tgt
|
||||
index 3d0415c..d5ed1e6 100644
|
||||
--- a/gas/configure.tgt
|
||||
+++ b/gas/configure.tgt
|
||||
@@ -158,6 +158,7 @@ case ${generic_target} in
|
||||
fmt=coff em=wince-pe ;;
|
||||
arm-*-pe) fmt=coff em=pe ;;
|
||||
arm-*-fuchsia*) fmt=elf ;;
|
||||
+ arm-*-haiku*) fmt=elf em=haiku ;;
|
||||
|
||||
avr-*-*) fmt=elf bfd_gas=yes ;;
|
||||
|
||||
@@ -209,10 +210,11 @@ case ${generic_target} in
|
||||
h8300-*-linux*) fmt=elf em=linux ;;
|
||||
|
||||
i386-*-beospe*) fmt=coff em=pe ;;
|
||||
- i386-*-beos*) fmt=elf ;;
|
||||
+ i386-*-beos*) fmt=elf em=beos ;;
|
||||
i386-*-elfiamcu) fmt=elf arch=iamcu ;;
|
||||
i386-*-elf*) fmt=elf ;;
|
||||
i386-*-fuchsia*) fmt=elf ;;
|
||||
+ i386-*-haiku*) fmt=elf em=haiku ;;
|
||||
i386-*-kaos*) fmt=elf ;;
|
||||
i386-*-bsd*) fmt=aout em=386bsd ;;
|
||||
i386-*-nacl*) fmt=elf em=nacl
|
||||
@@ -280,6 +282,7 @@ case ${generic_target} in
|
||||
m68hc12-*-* | m6812-*-*) fmt=elf ;;
|
||||
|
||||
m68k-*-elf*) fmt=elf ;;
|
||||
+ m68k-*-haiku*) fmt=elf em=haiku ;;
|
||||
m68k-*-sysv4*) fmt=elf em=svr4 ;;
|
||||
m68k-*-linux-*) fmt=elf em=linux ;;
|
||||
m68k-*-uclinux*) fmt=elf em=uclinux ;;
|
||||
@@ -307,6 +310,7 @@ case ${generic_target} in
|
||||
mips*-sde-elf* | mips*-mti-elf* | mips*-img-elf*)
|
||||
fmt=elf em=tmips ;;
|
||||
mips-*-elf*) fmt=elf ;;
|
||||
+ mips*-*-haiku*) fmt=elf endian=little em=haiku ;;
|
||||
mips-*-netbsd*) fmt=elf em=tmips ;;
|
||||
mips-*-openbsd*) fmt=elf em=tmips ;;
|
||||
mips-*-windiss) fmt=elf ;;
|
||||
@@ -347,9 +351,10 @@ case ${generic_target} in
|
||||
ppc-*-aix5.[01]) fmt=coff em=aix5 ;;
|
||||
ppc-*-aix[5-9].*) fmt=coff em=aix5 ;;
|
||||
ppc-*-aix*) fmt=coff em=aix ;;
|
||||
- ppc-*-beos*) fmt=coff ;;
|
||||
+ ppc-*-beos*) fmt=coff em=beos ;;
|
||||
ppc-*-*n*bsd* | ppc-*-elf*) fmt=elf ;;
|
||||
ppc-*-eabi* | ppc-*-sysv4*) fmt=elf ;;
|
||||
+ ppc-*-haiku*) fmt=elf em=haiku ;;
|
||||
ppc-*-linux-*) fmt=elf em=linux ;;
|
||||
ppc-*-solaris*) fmt=elf em=solaris ;;
|
||||
ppc-*-macos*) fmt=coff em=macos ;;
|
||||
diff --git a/ld/Makefile.am b/ld/Makefile.am
|
||||
index d86ad09..eaeb71f 100644
|
||||
--- a/ld/Makefile.am
|
||||
+++ b/ld/Makefile.am
|
||||
@@ -170,6 +170,7 @@ ALL_EMULATION_SOURCES = \
|
||||
earmelf.c \
|
||||
earmelf_fbsd.c \
|
||||
earmelf_fuchsia.c \
|
||||
+ earmelf_haiku.c \
|
||||
earmelf_linux.c \
|
||||
earmelf_linux_eabi.c \
|
||||
earmelf_linux_fdpiceabi.c \
|
||||
@@ -260,6 +261,7 @@ ALL_EMULATION_SOURCES = \
|
||||
eelf32or1k_linux.c \
|
||||
eelf32ppc.c \
|
||||
eelf32ppc_fbsd.c \
|
||||
+ eelf32ppchaiku.c \
|
||||
eelf32ppclinux.c \
|
||||
eelf32ppcnto.c \
|
||||
eelf32ppcsim.c \
|
||||
@@ -284,11 +286,13 @@ ALL_EMULATION_SOURCES = \
|
||||
eelf_i386_be.c \
|
||||
eelf_i386_chaos.c \
|
||||
eelf_i386_fbsd.c \
|
||||
+ eelf_i386_haiku.c \
|
||||
eelf_i386_ldso.c \
|
||||
eelf_i386_nacl.c \
|
||||
eelf_i386_sol2.c \
|
||||
eelf_i386_vxworks.c \
|
||||
eelf_iamcu.c \
|
||||
+ eelf_mipsel_haiku.c \
|
||||
eelf_s390.c \
|
||||
eh8300elf.c \
|
||||
eh8300elf_linux.c \
|
||||
@@ -454,6 +458,7 @@ ALL_64_EMULATION_SOURCES = \
|
||||
eelf_x86_64.c \
|
||||
eelf_x86_64_cloudabi.c \
|
||||
eelf_x86_64_fbsd.c \
|
||||
+ eelf_x86_64_haiku.c \
|
||||
eelf_x86_64_nacl.c \
|
||||
eelf_x86_64_sol2.c \
|
||||
ehppa64linux.c \
|
||||
@@ -701,6 +706,10 @@ earmelf_fuchsia.c: $(srcdir)/emulparams/armelf_fuchsia.sh \
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+earmelf_haiku.c: $(srcdir)/emulparams/armelf_haiku.sh \
|
||||
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
|
||||
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
@@ -1201,6 +1210,12 @@ eelf32ppc_fbsd.c: $(srcdir)/emulparams/elf32ppc_fbsd.sh \
|
||||
$(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+eelf32ppchaiku.c: $(srcdir)/emulparams/elf32ppchaiku.sh \
|
||||
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
|
||||
+ $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
|
||||
+ ldemul-list.h \
|
||||
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
|
||||
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
|
||||
$(srcdir)/emulparams/dynamic_undefined_weak.sh \
|
||||
@@ -1287,6 +1302,9 @@ eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
|
||||
$(srcdir)/emulparams/elf_i386.sh \
|
||||
$(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+eelf_i386_haiku.c: $(srcdir)/emulparams/elf_i386_haiku.sh \
|
||||
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
|
||||
$(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
@@ -1300,6 +1318,9 @@ eelf_i386_sol2.c: $(srcdir)/emulparams/elf_i386_sol2.sh \
|
||||
$(srcdir)/emultempl/solaris2.em \
|
||||
$(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+eelf_mipsel_haiku.c: $(srcdir)/emulparams/elf_mipsel_haiku.sh \
|
||||
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
eelf_i386_vxworks.c: $(srcdir)/emulparams/elf_i386_vxworks.sh \
|
||||
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
@@ -1841,6 +1862,10 @@ eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
|
||||
$(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+eelf_x86_64_haiku.c: $(srcdir)/emulparams/elf_x86_64_haiku.sh \
|
||||
+ $(srcdir)/emulparams/elf_x86_64.sh \
|
||||
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
eelf_x86_64_nacl.c: $(srcdir)/emulparams/elf_x86_64_nacl.sh \
|
||||
$(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(srcdir)/emulparams/elf_nacl.sh \
|
||||
diff --git a/ld/Makefile.in b/ld/Makefile.in
|
||||
index 4792b2b..c9e5897 100644
|
||||
--- a/ld/Makefile.in
|
||||
+++ b/ld/Makefile.in
|
||||
@@ -656,6 +656,7 @@ ALL_EMULATION_SOURCES = \
|
||||
earmelf.c \
|
||||
earmelf_fbsd.c \
|
||||
earmelf_fuchsia.c \
|
||||
+ earmelf_haiku.c \
|
||||
earmelf_linux.c \
|
||||
earmelf_linux_eabi.c \
|
||||
earmelf_linux_fdpiceabi.c \
|
||||
@@ -746,6 +747,7 @@ ALL_EMULATION_SOURCES = \
|
||||
eelf32or1k_linux.c \
|
||||
eelf32ppc.c \
|
||||
eelf32ppc_fbsd.c \
|
||||
+ eelf32ppchaiku.c \
|
||||
eelf32ppclinux.c \
|
||||
eelf32ppcnto.c \
|
||||
eelf32ppcsim.c \
|
||||
@@ -770,11 +772,13 @@ ALL_EMULATION_SOURCES = \
|
||||
eelf_i386_be.c \
|
||||
eelf_i386_chaos.c \
|
||||
eelf_i386_fbsd.c \
|
||||
+ eelf_i386_haiku.c \
|
||||
eelf_i386_ldso.c \
|
||||
eelf_i386_nacl.c \
|
||||
eelf_i386_sol2.c \
|
||||
eelf_i386_vxworks.c \
|
||||
eelf_iamcu.c \
|
||||
+ eelf_mipsel_haiku.c \
|
||||
eelf_s390.c \
|
||||
eh8300elf.c \
|
||||
eh8300elf_linux.c \
|
||||
@@ -939,6 +943,7 @@ ALL_64_EMULATION_SOURCES = \
|
||||
eelf_x86_64.c \
|
||||
eelf_x86_64_cloudabi.c \
|
||||
eelf_x86_64_fbsd.c \
|
||||
+ eelf_x86_64_haiku.c \
|
||||
eelf_x86_64_nacl.c \
|
||||
eelf_x86_64_sol2.c \
|
||||
ehppa64linux.c \
|
||||
@@ -1217,6 +1222,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fbsd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fuchsia.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_haiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_linux.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_linux_eabi.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_linux_fdpiceabi.Po@am__quote@
|
||||
@@ -1333,6 +1339,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32or1k_linux.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppc.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppc_fbsd.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppchaiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppclinux.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppcnto.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf32ppcsim.Po@am__quote@
|
||||
@@ -1381,6 +1388,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_chaos.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fbsd.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_haiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_ldso.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_nacl.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_sol2.Po@am__quote@
|
||||
@@ -1390,10 +1398,12 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_k1om_fbsd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_l1om.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_l1om_fbsd.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_mipsel_haiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_s390.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_nacl.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf.Po@am__quote@
|
||||
@@ -2302,6 +2312,10 @@ earmelf_fuchsia.c: $(srcdir)/emulparams/armelf_fuchsia.sh \
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+earmelf_haiku.c: $(srcdir)/emulparams/armelf_haiku.sh \
|
||||
+ $(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
|
||||
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
|
||||
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
|
||||
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
@@ -2802,6 +2816,12 @@ eelf32ppc_fbsd.c: $(srcdir)/emulparams/elf32ppc_fbsd.sh \
|
||||
$(srcdir)/emultempl/ppc32elf.em ldemul-list.h \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+eelf32ppchaiku.c: $(srcdir)/emulparams/elf32ppchaiku.sh \
|
||||
+ $(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
|
||||
+ $(srcdir)/emultempl/ppc32elf.em $(ELF_DEPS) \
|
||||
+ ldemul-list.h \
|
||||
+ $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
eelf32ppclinux.c: $(srcdir)/emulparams/elf32ppclinux.sh \
|
||||
$(srcdir)/emulparams/elf32ppc.sh $(srcdir)/emulparams/elf32ppccommon.sh \
|
||||
$(srcdir)/emulparams/dynamic_undefined_weak.sh \
|
||||
@@ -2888,6 +2908,9 @@ eelf_i386_fbsd.c: $(srcdir)/emulparams/elf_i386_fbsd.sh \
|
||||
$(srcdir)/emulparams/elf_i386.sh \
|
||||
$(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+eelf_i386_haiku.c: $(srcdir)/emulparams/elf_i386_haiku.sh \
|
||||
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
|
||||
$(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
@@ -2901,6 +2924,9 @@ eelf_i386_sol2.c: $(srcdir)/emulparams/elf_i386_sol2.sh \
|
||||
$(srcdir)/emultempl/solaris2.em \
|
||||
$(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+eelf_mipsel_haiku.c: $(srcdir)/emulparams/elf_mipsel_haiku.sh \
|
||||
+ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
eelf_i386_vxworks.c: $(srcdir)/emulparams/elf_i386_vxworks.sh \
|
||||
$(srcdir)/emulparams/vxworks.sh $(srcdir)/emultempl/vxworks.em \
|
||||
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
@@ -3442,6 +3468,10 @@ eelf_x86_64_fbsd.c: $(srcdir)/emulparams/elf_x86_64_fbsd.sh \
|
||||
$(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(ELF_X86_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
|
||||
+eelf_x86_64_haiku.c: $(srcdir)/emulparams/elf_x86_64_haiku.sh \
|
||||
+ $(srcdir)/emulparams/elf_x86_64.sh \
|
||||
+ $(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
|
||||
+
|
||||
eelf_x86_64_nacl.c: $(srcdir)/emulparams/elf_x86_64_nacl.sh \
|
||||
$(srcdir)/emulparams/elf_x86_64.sh \
|
||||
$(srcdir)/emulparams/elf_nacl.sh \
|
||||
diff --git a/ld/configure.tgt b/ld/configure.tgt
|
||||
index fad8b2e..83c69cb 100644
|
||||
--- a/ld/configure.tgt
|
||||
+++ b/ld/configure.tgt
|
||||
@@ -166,6 +166,7 @@ arm*-*-conix*) targ_emul=armelf ;;
|
||||
arm*-*-fuchsia*) targ_emul=armelf_fuchsia
|
||||
targ_extra_emuls="armelfb_fuchsia armelf armelfb"
|
||||
;;
|
||||
+arm*-*-haiku*) targ_emul=armelf_haiku; targ_extra_emuls=armelf ;;
|
||||
avr-*-*) targ_emul=avr2
|
||||
targ_extra_emuls="avr1 avr25 avr3 avr31 avr35 avr4 avr5 avr51 avr6 avrxmega1 avrxmega2 avrxmega3 avrxmega4 avrxmega5 avrxmega6 avrxmega7 avrtiny"
|
||||
;;
|
||||
@@ -356,6 +357,9 @@ i[3-7]86-*-interix*) targ_emul=i386pe_posix;
|
||||
targ_extra_ofiles="deffilep.o pe-dll.o" ;;
|
||||
i[3-7]86-*-beospe*) targ_emul=i386beos ;;
|
||||
i[3-7]86-*-beos*) targ_emul=elf_i386_be ;;
|
||||
+i[3-7]86-*-haiku*) targ_emul=elf_i386_haiku ;;
|
||||
+x86_64-*-haiku*) targ_emul=elf_x86_64_haiku
|
||||
+ targ_extra_emuls="elf_x86_64 elf_i386_haiku" ;;
|
||||
i[3-7]86-*-vxworks*) targ_emul=elf_i386_vxworks ;;
|
||||
i[3-7]86-*-chaos) targ_emul=elf_i386_chaos
|
||||
;;
|
||||
@@ -429,6 +433,9 @@ mips*-sgi-irix6*) targ_emul=elf32bmipn32
|
||||
mips*el-*-netbsd*) targ_emul=elf32ltsmip
|
||||
targ_extra_emuls="elf32btsmip elf64ltsmip elf64btsmip"
|
||||
;;
|
||||
+mips*el-*-haiku*) targ_emul=elf_mipsel_haiku
|
||||
+ targ_extra_emuls="elf32ltsmip elf32btsmip elf32ltsmipn32 elf64ltsmip elf32btsmipn32 elf64btsmip"
|
||||
+ ;;
|
||||
mips*-*-netbsd*) targ_emul=elf32btsmip
|
||||
targ_extra_emuls="elf32ltsmip elf64btsmip elf64ltsmip"
|
||||
;;
|
||||
@@ -626,6 +633,7 @@ powerpcle-*-pe | powerpcle-*-winnt* | powerpcle-*-cygwin*)
|
||||
powerpc-*-aix[5-9]*) targ_emul=aix5ppc ;;
|
||||
powerpc-*-aix*) targ_emul=aixppc ;;
|
||||
powerpc-*-beos*) targ_emul=aixppc ;;
|
||||
+powerpc-*-haiku*) targ_emul=elf32ppchaiku ;;
|
||||
powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;;
|
||||
powerpc-*-lynxos*) targ_emul=ppclynx ;;
|
||||
pru*-*-*) targ_emul=pruelf ;;
|
||||
diff --git a/opcodes/configure b/opcodes/configure
|
||||
index b7eec77..692f1b4 100755
|
||||
--- a/opcodes/configure
|
||||
+++ b/opcodes/configure
|
||||
@@ -10644,7 +10644,7 @@ haiku*)
|
||||
soname_spec='${libname}${release}${shared_ext}$major'
|
||||
shlibpath_var=LIBRARY_PATH
|
||||
shlibpath_overrides_runpath=yes
|
||||
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
|
||||
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
|
||||
hardcode_into_libs=yes
|
||||
;;
|
||||
|
||||
--
|
||||
2.19.1
|
||||
|
||||
diff --git a/gas/config/te-beos.h b/gas/config/te-beos.h
|
||||
new file mode 100644
|
||||
index 0000000..23eea6a
|
||||
--- /dev/null
|
||||
+++ b/gas/config/te-beos.h
|
||||
@@ -0,0 +1,30 @@
|
||||
+/* te-beos.h -- BeOS target environment declarations.
|
||||
+ Copyright 2013 Free Software Foundation, Inc.
|
||||
+
|
||||
+ This file is part of GAS, the GNU Assembler.
|
||||
+
|
||||
+ GAS is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 3, or (at your option)
|
||||
+ any later version.
|
||||
+
|
||||
+ GAS is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with GAS; see the file COPYING. If not, write to
|
||||
+ the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
+ 02110-1301, USA. */
|
||||
+
|
||||
+/* Target environment for BeOS/Haiku. It is the same as the generic
|
||||
+ target, except that it arranges via the TE_BeOS define to
|
||||
+ suppress the use of "/" as a comment character. Some code in the
|
||||
+ haiku kernel uses "/" to mean division. (What a concept!) */
|
||||
+#define TE_BeOS 1
|
||||
+
|
||||
+#define LOCAL_LABELS_DOLLAR 1
|
||||
+#define LOCAL_LABELS_FB 1
|
||||
+
|
||||
+#include "obj-format.h"
|
||||
|
||||
diff --git a/gas/config/te-haiku.h b/gas/config/te-haiku.h
|
||||
new file mode 100644
|
||||
index 0000000..5578046
|
||||
--- /dev/null
|
||||
+++ b/gas/config/te-haiku.h
|
||||
@@ -0,0 +1,30 @@
|
||||
+/* te-haiku.h -- Haiku target environment declarations.
|
||||
+ Copyright 2013 Free Software Foundation, Inc.
|
||||
+
|
||||
+ This file is part of GAS, the GNU Assembler.
|
||||
+
|
||||
+ GAS is free software; you can redistribute it and/or modify
|
||||
+ it under the terms of the GNU General Public License as published by
|
||||
+ the Free Software Foundation; either version 3, or (at your option)
|
||||
+ any later version.
|
||||
+
|
||||
+ GAS is distributed in the hope that it will be useful,
|
||||
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
+ GNU General Public License for more details.
|
||||
+
|
||||
+ You should have received a copy of the GNU General Public License
|
||||
+ along with GAS; see the file COPYING. If not, write to
|
||||
+ the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
|
||||
+ 02110-1301, USA. */
|
||||
+
|
||||
+/* Target environment for BeOS/Haiku. It is the same as the generic
|
||||
+ target, except that it arranges via the TE_BeOS define to
|
||||
+ suppress the use of "/" as a comment character. Some code in the
|
||||
+ haiku kernel uses "/" to mean division. (What a concept!) */
|
||||
+#define TE_BeOS 1
|
||||
+
|
||||
+#define LOCAL_LABELS_DOLLAR 1
|
||||
+#define LOCAL_LABELS_FB 1
|
||||
+
|
||||
+#include "obj-format.h"
|
||||
|
||||
diff --git a/ld/emulparams/armelf_haiku.sh b/ld/emulparams/armelf_haiku.sh
|
||||
new file mode 100644
|
||||
index 0000000..9dcdf54
|
||||
--- /dev/null
|
||||
+++ b/ld/emulparams/armelf_haiku.sh
|
||||
@@ -0,0 +1,26 @@
|
||||
+ARCH=arm
|
||||
+SCRIPT_NAME=elf
|
||||
+OUTPUT_FORMAT="elf32-littlearm"
|
||||
+BIG_OUTPUT_FORMAT="elf32-bigarm"
|
||||
+LITTLE_OUTPUT_FORMAT="elf32-littlearm"
|
||||
+MAXPAGESIZE=0x8000
|
||||
+COMMONPAGESIZE=0x1000
|
||||
+TEMPLATE_NAME=elf32
|
||||
+EXTRA_EM_FILE=armelf
|
||||
+GENERATE_SHLIB_SCRIPT=yes
|
||||
+GENERATE_PIE_SCRIPT=yes
|
||||
+
|
||||
+DATA_START_SYMBOLS='__data_start = . ;';
|
||||
+OTHER_TEXT_SECTIONS='*(.glue_7t) *(.glue_7)'
|
||||
+OTHER_BSS_SYMBOLS='__bss_start__ = .;'
|
||||
+OTHER_BSS_END_SYMBOLS='_bss_end__ = . ; __bss_end__ = . ;'
|
||||
+OTHER_END_SYMBOLS='__end__ = . ;'
|
||||
+OTHER_SECTIONS='.note.gnu.arm.ident 0 : { KEEP (*(.note.gnu.arm.ident)) }'
|
||||
+
|
||||
+TEXT_START_ADDR=0x00008000
|
||||
+TARGET2_TYPE=got-rel
|
||||
+
|
||||
+# ARM does not support .s* sections.
|
||||
+NO_SMALL_DATA=yes
|
||||
+
|
||||
+. ${srcdir}/emulparams/elf_haiku.sh
|
||||
|
||||
diff --git a/ld/emulparams/elf32ppchaiku.sh b/ld/emulparams/elf32ppchaiku.sh
|
||||
new file mode 100644
|
||||
index 0000000..547e5c8
|
||||
--- /dev/null
|
||||
+++ b/ld/emulparams/elf32ppchaiku.sh
|
||||
@@ -0,0 +1,7 @@
|
||||
+. ${srcdir}/emulparams/elf32ppc.sh
|
||||
+. ${srcdir}/emulparams/elf_haiku.sh
|
||||
+TEXT_START_ADDR=0x200000
|
||||
+MAXPAGESIZE=0x1000
|
||||
+GENERATE_SHLIB_SCRIPT=yes
|
||||
+BSS_PLT=
|
||||
+LIBPATH_SUFFIX=
|
||||
diff --git a/ld/emulparams/elf_haiku.sh b/ld/emulparams/elf_haiku.sh
|
||||
new file mode 100644
|
||||
index 0000000..401eedc
|
||||
--- /dev/null
|
||||
+++ b/ld/emulparams/elf_haiku.sh
|
||||
@@ -0,0 +1 @@
|
||||
+ELF_INTERPRETER_NAME=\"/system/runtime_loader\"
|
||||
|
||||
diff --git a/ld/emulparams/elf_i386_haiku.sh b/ld/emulparams/elf_i386_haiku.sh
|
||||
new file mode 100644
|
||||
index 0000000..b70da86
|
||||
--- /dev/null
|
||||
+++ b/ld/emulparams/elf_i386_haiku.sh
|
||||
@@ -0,0 +1,12 @@
|
||||
+SCRIPT_NAME=elf
|
||||
+OUTPUT_FORMAT="elf32-i386"
|
||||
+TEXT_START_ADDR=0x200000
|
||||
+NONPAGED_TEXT_START_ADDR=0x200000
|
||||
+MAXPAGESIZE=0x1000
|
||||
+ARCH=i386
|
||||
+MACHINE=
|
||||
+NOP=0x90909090
|
||||
+TEMPLATE_NAME=elf32
|
||||
+GENERATE_SHLIB_SCRIPT=yes
|
||||
+NO_SMALL_DATA=yes
|
||||
+. ${srcdir}/emulparams/elf_haiku.sh
|
||||
|
||||
diff --git a/ld/emulparams/elf_mipsel_haiku.sh b/ld/emulparams/elf_mipsel_haiku.sh
|
||||
new file mode 100644
|
||||
index 0000000..ab38e23
|
||||
--- /dev/null
|
||||
+++ b/ld/emulparams/elf_mipsel_haiku.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
+. ${srcdir}/emulparams/elf32lmip.sh
|
||||
+. ${srcdir}/emulparams/elf_haiku.sh
|
||||
+
|
||||
|
||||
diff --git a/ld/emulparams/elf_x86_64_haiku.sh b/ld/emulparams/elf_x86_64_haiku.sh
|
||||
new file mode 100644
|
||||
index 0000000..f049559
|
||||
--- /dev/null
|
||||
+++ b/ld/emulparams/elf_x86_64_haiku.sh
|
||||
@@ -0,0 +1,2 @@
|
||||
+. ${srcdir}/emulparams/elf_x86_64.sh
|
||||
+. ${srcdir}/emulparams/elf_haiku.sh
|
||||
diff --git a/libtool.m4 b/libtool.m4
|
||||
index 24d13f3..84d70b8 100644
|
||||
--- a/libtool.m4
|
||||
+++ b/libtool.m4
|
||||
@@ -2342,7 +2342,7 @@ haiku*)
|
||||
soname_spec='${libname}${release}${shared_ext}$major'
|
||||
shlibpath_var=LIBRARY_PATH
|
||||
shlibpath_overrides_runpath=yes
|
||||
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
|
||||
+ sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
|
||||
hardcode_into_libs=yes
|
||||
;;
|
||||
|
||||
--
|
||||
2.13.1
|
||||
Reference in New Issue
Block a user