From 3e944bf51abeef4661d18338ad95918ded85b11e Mon Sep 17 00:00:00 2001 From: kenmays Date: Fri, 22 Mar 2024 06:57:08 -0700 Subject: [PATCH] Binutils: remove some old recipes (#10150) --- .../binutils-2.26.1_2016_07_22.recipe | 189 ----- .../binutils-2.27.0_2017_08_05.recipe | 189 ----- .../binutils-2.28.1_2017_08_05.recipe | 190 ----- .../binutils-2.29.0_2017_08_05.recipe | 189 ----- sys-devel/binutils/binutils-2.31.1.recipe | 198 ----- .../binutils-2.36.1_btrev43189.recipe | 197 ----- .../binutils-2.27.0_2017_08_05.patchset | 676 ----------------- .../binutils-2.28.1_2017_08_05.patchset | 702 ------------------ .../binutils-2.29.0_2017_08_05.patchset | 700 ----------------- .../binutils/patches/binutils-2.31.1.patchset | 665 ----------------- 10 files changed, 3895 deletions(-) delete mode 100644 sys-devel/binutils/binutils-2.26.1_2016_07_22.recipe delete mode 100644 sys-devel/binutils/binutils-2.27.0_2017_08_05.recipe delete mode 100644 sys-devel/binutils/binutils-2.28.1_2017_08_05.recipe delete mode 100644 sys-devel/binutils/binutils-2.29.0_2017_08_05.recipe delete mode 100644 sys-devel/binutils/binutils-2.31.1.recipe delete mode 100644 sys-devel/binutils/binutils-2.36.1_btrev43189.recipe delete mode 100644 sys-devel/binutils/patches/binutils-2.27.0_2017_08_05.patchset delete mode 100644 sys-devel/binutils/patches/binutils-2.28.1_2017_08_05.patchset delete mode 100644 sys-devel/binutils/patches/binutils-2.29.0_2017_08_05.patchset delete mode 100644 sys-devel/binutils/patches/binutils-2.31.1.patchset diff --git a/sys-devel/binutils/binutils-2.26.1_2016_07_22.recipe b/sys-devel/binutils/binutils-2.26.1_2016_07_22.recipe deleted file mode 100644 index 83b314b79..000000000 --- a/sys-devel/binutils/binutils-2.26.1_2016_07_22.recipe +++ /dev/null @@ -1,189 +0,0 @@ -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. -- 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="http://www.gnu.org/software/binutils" -COPYRIGHT="1988-2016 Free Software Foundation, Inc." -LICENSE="GNU GPL v3 - GNU LGPL v3" -REVISION="6" -srcGitRev="68e96393c7be88bc0e577404869a07ad3c0b48b3" -SOURCE_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" -CHECKSUM_SHA256="95743a550c7e2b561273a1e349a270c659b0c454209de9cd7fc105395fec66fd" -SOURCE_DIR="buildtools-$srcGitRev/binutils" -SOURCE_FILENAME="binutils-$portVersion.tar.gz" - -ARCHITECTURES="all !x86_gcc2" -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_2.26.1$secondaryArchSuffix = $portVersion compat >= 2.23 - lib:libopcodes_2.26.1$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-deterministic-archives \ - --disable-nls --enable-shared=yes \ - --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= 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 $libDir/libbfd.so $libDir/libopcodes.so - 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 -} diff --git a/sys-devel/binutils/binutils-2.27.0_2017_08_05.recipe b/sys-devel/binutils/binutils-2.27.0_2017_08_05.recipe deleted file mode 100644 index 88fe814ea..000000000 --- a/sys-devel/binutils/binutils-2.27.0_2017_08_05.recipe +++ /dev/null @@ -1,189 +0,0 @@ -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. -- 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="http://www.gnu.org/software/binutils" -COPYRIGHT="1988-2016 Free Software Foundation, Inc." -LICENSE="GNU GPL v3 - GNU LGPL v3" -REVISION="1" -binutilsVersion="2.27" -SOURCE_URI="https://ftp.gnu.org/gnu/binutils/binutils-$binutilsVersion.tar.bz2" -CHECKSUM_SHA256="369737ce51587f92466041a97ab7d2358c6d9e1b6490b3940eb09fb0a9a6ac88" -SOURCE_DIR="binutils-$binutilsVersion" -PATCHES="binutils-$portVersion.patchset" - -ARCHITECTURES="?all !x86_gcc2" -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-deterministic-archives \ - --disable-nls --enable-shared=yes --disable-initfini-array \ - --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= 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 $libDir/libbfd.so $libDir/libopcodes.so - 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 -} diff --git a/sys-devel/binutils/binutils-2.28.1_2017_08_05.recipe b/sys-devel/binutils/binutils-2.28.1_2017_08_05.recipe deleted file mode 100644 index a42ef5ddf..000000000 --- a/sys-devel/binutils/binutils-2.28.1_2017_08_05.recipe +++ /dev/null @@ -1,190 +0,0 @@ -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. -- 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="http://www.gnu.org/software/binutils" -COPYRIGHT="1988-2016 Free Software Foundation, Inc." -LICENSE="GNU GPL v3 - GNU LGPL v3" -REVISION="2" -binutilsVersion="2.28.1" -SOURCE_URI="https://ftp.gnu.org/gnu/binutils/binutils-$binutilsVersion.tar.xz" -CHECKSUM_SHA256="16328a906e55a3c633854beec8e9e255a639b366436470b4f6245eb0d2fde942" -SOURCE_DIR="binutils-$binutilsVersion" -PATCHES="binutils-$portVersion.patchset" - -# disabled on x86: see https://github.com/haikuports/haikuports/issues/1750 -ARCHITECTURES="all !x86_gcc2 ?x86 ?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-deterministic-archives \ - --disable-nls --enable-shared=yes --disable-initfini-array \ - --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= 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 $libDir/libbfd.so $libDir/libopcodes.so - 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 -} diff --git a/sys-devel/binutils/binutils-2.29.0_2017_08_05.recipe b/sys-devel/binutils/binutils-2.29.0_2017_08_05.recipe deleted file mode 100644 index 9c35886ea..000000000 --- a/sys-devel/binutils/binutils-2.29.0_2017_08_05.recipe +++ /dev/null @@ -1,189 +0,0 @@ -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. -- 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="http://www.gnu.org/software/binutils" -COPYRIGHT="1988-2016 Free Software Foundation, Inc." -LICENSE="GNU GPL v3 - GNU LGPL v3" -REVISION="1" -binutilsVersion="2.29" -SOURCE_URI="https://ftp.gnu.org/gnu/binutils/binutils-$binutilsVersion.tar.xz" -CHECKSUM_SHA256="0b871e271c4c620444f8264f72143b4d224aa305306d85dd77ab8dce785b1e85" -SOURCE_DIR="binutils-$binutilsVersion" -PATCHES="binutils-$portVersion.patchset" - -ARCHITECTURES="?all !x86_gcc2" -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-deterministic-archives \ - --disable-nls --enable-shared=yes --disable-initfini-array \ - --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= 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 $libDir/libbfd.so $libDir/libopcodes.so - 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 -} diff --git a/sys-devel/binutils/binutils-2.31.1.recipe b/sys-devel/binutils/binutils-2.31.1.recipe deleted file mode 100644 index 65f466154..000000000 --- a/sys-devel/binutils/binutils-2.31.1.recipe +++ /dev/null @@ -1,198 +0,0 @@ -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="2" -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="all !x86_gcc2 ?ppc" -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= 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 -} diff --git a/sys-devel/binutils/binutils-2.36.1_btrev43189.recipe b/sys-devel/binutils/binutils-2.36.1_btrev43189.recipe deleted file mode 100644 index 60e00d814..000000000 --- a/sys-devel/binutils/binutils-2.36.1_btrev43189.recipe +++ /dev/null @@ -1,197 +0,0 @@ -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-2022 Free Software Foundation, Inc." -LICENSE="GNU GPL v3 - GNU LGPL v3" -REVISION="1" -binutilsVersion="2.36.1" -srcGitRev="795d2053a07fdd2ce3c4ef6f649b0a27e2b085d1" -SOURCE_URI="https://github.com/haiku/buildtools/archive/$srcGitRev.tar.gz" -SOURCE_DIR="buildtools-$srcGitRev/binutils" -CHECKSUM_SHA256="73244785a2496119548d1b47c4f899a641a910941df678d6bc6bae41c2ab6be1" -SOURCE_FILENAME="binutils-$portVersion.tar.gz" - -ARCHITECTURES="?all" -SECONDARY_ARCHITECTURES="x86" - -PROVIDES=" - binutils$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:addr2line$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:ar$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:as$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:c++filt$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:elfedit$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:gprof$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:ld$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:ld.bfd$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:nm$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:objcopy$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:objdump$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:ranlib$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:readelf$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:size$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:strings$secondaryArchSuffix = $portVersion compat >= 2.36 - cmd:strip$secondaryArchSuffix = $portVersion compat >= 2.36 - lib:libbfd_$binutilsVersion$secondaryArchSuffix = $portVersion compat >= 2.36 - lib:libopcodes_$binutilsVersion$secondaryArchSuffix = $portVersion compat >= 2.36 - " -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= 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 -} diff --git a/sys-devel/binutils/patches/binutils-2.27.0_2017_08_05.patchset b/sys-devel/binutils/patches/binutils-2.27.0_2017_08_05.patchset deleted file mode 100644 index dff02452d..000000000 --- a/sys-devel/binutils/patches/binutils-2.27.0_2017_08_05.patchset +++ /dev/null @@ -1,676 +0,0 @@ -From b53fdd78959f52c2d28ae11a32462155ba2a0f2c Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Sat, 5 Aug 2017 11:54:22 +0200 -Subject: Haiku patch - - -diff --git a/bfd/config.bfd b/bfd/config.bfd -index b998830..a0699bb 100644 ---- a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -367,7 +367,7 @@ case "${targ}" in - ;; - arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ - arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ -- arm*-*-eabi* ) -+ arm*-*-eabi* | arm*-*-haiku*) - targ_defvec=arm_elf32_le_vec - targ_selvecs=arm_elf32_be_vec - ;; -@@ -718,6 +718,11 @@ case "${targ}" in - targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_aout_linux_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" -@@ -767,6 +772,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" -@@ -958,7 +966,10 @@ case "${targ}" in - targ_selvecs=ieee_vec - targ_underscore=yes - ;; -- -+ m68*-*-haiku*) -+ targ_defvec=m68k_elf32_vec -+ targ_selvecs="m68k_coff_vec ieee_vec" -+ ;; - m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*) - targ_defvec=m88k_elf32_vec - targ_selvecs=m88k_coff_bcs_vec -@@ -1014,6 +1025,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" -@@ -1318,6 +1333,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/elf32-ppc.c b/bfd/elf32-ppc.c -index 95ce1dc..682258b 100644 ---- a/bfd/elf32-ppc.c -+++ b/bfd/elf32-ppc.c -@@ -10766,7 +10766,7 @@ ppc_elf_finish_dynamic_sections (bfd *output_bfd, - #define ELF_ARCH bfd_arch_powerpc - #define ELF_TARGET_ID PPC32_ELF_DATA - #define ELF_MACHINE_CODE EM_PPC --#ifdef __QNXTARGET__ -+#if defined(__QNXTARGET__) || defined(__HAIKU_TARGET__) - #define ELF_MAXPAGESIZE 0x1000 - #define ELF_COMMONPAGESIZE 0x1000 - #else -diff --git a/configure.ac b/configure.ac -index 8e02b12..b7407e6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -335,7 +335,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 4ba05ba..4880efd 100644 ---- a/gas/config/tc-i386.c -+++ b/gas/config/tc-i386.c -@@ -420,7 +420,8 @@ const char extra_symbol_chars[] = "*%-([{" - && !defined (TE_NETWARE) \ - && !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/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/gas/configure.tgt b/gas/configure.tgt -index e2df659..93e926d 100644 ---- a/gas/configure.tgt -+++ b/gas/configure.tgt -@@ -159,6 +159,7 @@ case ${generic_target} in - fmt=coff em=wince-pe ;; - arm-*-pe) fmt=coff em=pe ;; - arm-*-riscix*) fmt=aout em=riscix ;; -+ arm-*-haiku*) fmt=elf em=haiku ;; - - avr-*-*) fmt=elf bfd_gas=yes ;; - -@@ -215,10 +216,11 @@ case ${generic_target} in - i386-ibm-aix*) fmt=coff em=i386aix ;; - i386-sequent-bsd*) fmt=aout em=dynix ;; - i386-*-beospe*) fmt=coff em=pe ;; -- i386-*-beos*) fmt=elf ;; -+ i386-*-beos*) fmt=elf em=beos ;; - i386-*-coff) fmt=coff ;; - i386-*-elfiamcu) fmt=elf arch=iamcu ;; -- i386-*-elf*) fmt=elf ;; -+ i386-*-elf) fmt=elf ;; -+ i386-*-haiku*) fmt=elf em=haiku ;; - i386-*-kaos*) fmt=elf ;; - i386-*-bsd*) fmt=aout em=386bsd ;; - i386-*-nacl*) fmt=elf em=nacl -@@ -320,6 +322,7 @@ case ${generic_target} in - m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;; - m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;; - m68k-*-psos*) fmt=elf em=psos;; -+ m68k-*-haiku*) fmt=elf em=haiku ;; - - mep-*-elf) fmt=elf ;; - -@@ -342,6 +345,7 @@ case ${generic_target} in - mips-*-elf* | mips-*-rtems*) fmt=elf ;; - mips-*-netbsd*) fmt=elf em=tmips ;; - mips-*-openbsd*) fmt=elf em=tmips ;; -+ mips*-*-haiku*) fmt=elf endian=little em=haiku ;; - - mmix-*-*) fmt=elf ;; - -@@ -380,9 +384,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-*-rtems*) fmt=elf ;; -diff --git a/ld/Makefile.am b/ld/Makefile.am -index 0598923..b02941c 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -175,6 +175,7 @@ ALL_EMULATION_SOURCES = \ - earmcoff.c \ - earmelf.c \ - earmelf_fbsd.c \ -+ earmelf_haiku.c \ - earmelf_linux.c \ - earmelf_linux_eabi.c \ - earmelf_nacl.c \ -@@ -269,6 +270,7 @@ ALL_EMULATION_SOURCES = \ - eelf32or1k_linux.c \ - eelf32ppc.c \ - eelf32ppc_fbsd.c \ -+ eelf32ppchaiku.c \ - eelf32ppclinux.c \ - eelf32ppcnto.c \ - eelf32ppcsim.c \ -@@ -290,11 +292,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 \ - egld960.c \ - egld960coff.c \ -@@ -505,6 +509,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 \ -@@ -757,6 +762,10 @@ earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.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} -@@ -1240,6 +1249,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)/emultempl/ppc32elf.em ldemul-list.h \ -@@ -1322,6 +1337,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} - -@@ -1335,6 +1353,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} -@@ -2013,6 +2034,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 a3db909..6a4da5e 100644 ---- a/ld/configure.tgt -+++ b/ld/configure.tgt -@@ -150,6 +150,7 @@ arm*-*-uclinux*) targ_emul=armelf_linux - ;; - arm-*-vxworks) targ_emul=armelf_vxworks ;; - arm*-*-conix*) targ_emul=armelf ;; -+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" - ;; -@@ -372,6 +373,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 - ;; -@@ -455,7 +459,9 @@ m68*-*-netbsdaout* | m68*-*-netbsd*) - targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;; - m68*-*-psos*) targ_emul=m68kpsos ;; - m68*-*-rtemscoff*) targ_emul=m68kcoff ;; --m68*-*-rtems*) targ_emul=m68kelf -+m68*-*-rtems*) targ_emul=m68kelf ;; -+m68*-*-haiku*) targ_emul=m68kelf -+ targ_extra_emuls=m68kcoff - ;; - m8*-*-*) targ_emul=m88kbcs - ;; -@@ -484,6 +490,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" - ;; -@@ -642,6 +651,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 ;; - rs6000-*-aix[5-9]*) targ_emul=aix5rs6 ;; -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 - - -From 4a1925b857b1fb1e48480c6e0f20add37aaf7040 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Sat, 5 Aug 2017 12:27:13 +0200 -Subject: Haiku: regenerate configure and Makefile.in. - - -diff --git a/binutils/configure b/binutils/configure -index ea013d1..36d3aed 100755 ---- a/binutils/configure -+++ b/binutils/configure -@@ -10429,7 +10429,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/gprof/configure b/gprof/configure -index 4c17248..63d73e7 100755 ---- a/gprof/configure -+++ b/gprof/configure -@@ -10105,7 +10105,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/ld/Makefile.in b/ld/Makefile.in -index 7c78198..0c2657e 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -543,6 +543,7 @@ ALL_EMULATION_SOURCES = \ - earmcoff.c \ - earmelf.c \ - earmelf_fbsd.c \ -+ earmelf_haiku.c \ - earmelf_linux.c \ - earmelf_linux_eabi.c \ - earmelf_nacl.c \ -@@ -637,6 +638,7 @@ ALL_EMULATION_SOURCES = \ - eelf32or1k_linux.c \ - eelf32ppc.c \ - eelf32ppc_fbsd.c \ -+ eelf32ppchaiku.c \ - eelf32ppclinux.c \ - eelf32ppcnto.c \ - eelf32ppcsim.c \ -@@ -658,11 +660,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 \ - egld960.c \ - egld960coff.c \ -@@ -872,6 +876,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 \ -@@ -1180,6 +1185,7 @@ distclean-compile: - @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmcoff.Po@am__quote@ - @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_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_nacl.Po@am__quote@ -@@ -1297,6 +1303,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@ -@@ -1342,6 +1349,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@ -@@ -1351,10 +1359,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)/egld960.Po@am__quote@ -@@ -2345,6 +2355,10 @@ earmelf_fbsd.c: $(srcdir)/emulparams/armelf_fbsd.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} -@@ -2828,6 +2842,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)/emultempl/ppc32elf.em ldemul-list.h \ -@@ -2910,6 +2930,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} - -@@ -2923,6 +2946,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} -@@ -3601,6 +3627,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/opcodes/configure b/opcodes/configure -index 5a4da06..b7cb0c3 100755 ---- a/opcodes/configure -+++ b/opcodes/configure -@@ -10354,7 +10354,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 - diff --git a/sys-devel/binutils/patches/binutils-2.28.1_2017_08_05.patchset b/sys-devel/binutils/patches/binutils-2.28.1_2017_08_05.patchset deleted file mode 100644 index 790216436..000000000 --- a/sys-devel/binutils/patches/binutils-2.28.1_2017_08_05.patchset +++ /dev/null @@ -1,702 +0,0 @@ -From 9fe7ea465a5ca2715a2f90a91784192ef44a352e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Sat, 5 Aug 2017 11:54:22 +0200 -Subject: Haiku patch - - -diff --git a/bfd/config.bfd b/bfd/config.bfd -index c031216..ee202b2 100644 ---- a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -449,7 +449,7 @@ case "${targ}" in - ;; - arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ - arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ -- arm*-*-eabi* ) -+ arm*-*-eabi* | arm*-*-haiku*) - targ_defvec=arm_elf32_le_vec - targ_selvecs=arm_elf32_be_vec - ;; -@@ -800,6 +800,11 @@ case "${targ}" in - targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_aout_linux_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" -@@ -849,6 +854,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" -@@ -1040,7 +1048,10 @@ case "${targ}" in - targ_selvecs=ieee_vec - targ_underscore=yes - ;; -- -+ m68*-*-haiku*) -+ targ_defvec=m68k_elf32_vec -+ targ_selvecs="m68k_coff_vec ieee_vec" -+ ;; - m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*) - targ_defvec=m88k_elf32_vec - targ_selvecs=m88k_coff_bcs_vec -@@ -1096,6 +1107,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" -@@ -1400,6 +1415,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/elf32-ppc.c b/bfd/elf32-ppc.c -index 10caa8a..cc41774 100644 ---- a/bfd/elf32-ppc.c -+++ b/bfd/elf32-ppc.c -@@ -10886,7 +10886,7 @@ ppc_elf_finish_dynamic_sections (bfd *output_bfd, - #define ELF_ARCH bfd_arch_powerpc - #define ELF_TARGET_ID PPC32_ELF_DATA - #define ELF_MACHINE_CODE EM_PPC --#ifdef __QNXTARGET__ -+#if defined(__QNXTARGET__) || defined(__HAIKU_TARGET__) - #define ELF_MAXPAGESIZE 0x1000 - #define ELF_COMMONPAGESIZE 0x1000 - #else -diff --git a/configure.ac b/configure.ac -index 7a87f17..9357476 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -335,7 +335,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* | *-*-fuchsia*) - case "${target}" in -diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c -index 80812cf..078245d 100644 ---- a/gas/config/tc-i386.c -+++ b/gas/config/tc-i386.c -@@ -420,7 +420,8 @@ const char extra_symbol_chars[] = "*%-([{" - && !defined (TE_NETWARE) \ - && !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/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/gas/configure.tgt b/gas/configure.tgt -index 711d537..cfa330e 100644 ---- a/gas/configure.tgt -+++ b/gas/configure.tgt -@@ -163,6 +163,7 @@ case ${generic_target} in - arm-*-pe) fmt=coff em=pe ;; - arm-*-riscix*) fmt=aout em=riscix ;; - arm-*-fuchsia*) fmt=elf ;; -+ arm-*-haiku*) fmt=elf em=haiku ;; - - avr-*-*) fmt=elf bfd_gas=yes ;; - -@@ -219,11 +220,12 @@ case ${generic_target} in - i386-ibm-aix*) fmt=coff em=i386aix ;; - i386-sequent-bsd*) fmt=aout em=dynix ;; - i386-*-beospe*) fmt=coff em=pe ;; -- i386-*-beos*) fmt=elf ;; -+ i386-*-beos*) fmt=elf em=beos ;; - i386-*-coff) fmt=coff ;; - 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 -@@ -325,6 +327,7 @@ case ${generic_target} in - m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;; - m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;; - m68k-*-psos*) fmt=elf em=psos;; -+ m68k-*-haiku*) fmt=elf em=haiku ;; - - mep-*-elf) fmt=elf ;; - -@@ -347,6 +350,7 @@ case ${generic_target} in - mips-*-elf* | mips-*-rtems*) fmt=elf ;; - mips-*-netbsd*) fmt=elf em=tmips ;; - mips-*-openbsd*) fmt=elf em=tmips ;; -+ mips*-*-haiku*) fmt=elf endian=little em=haiku ;; - - mmix-*-*) fmt=elf ;; - -@@ -385,9 +389,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-*-rtems*) fmt=elf ;; -diff --git a/ld/Makefile.am b/ld/Makefile.am -index 15beaa7..559800d 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -180,6 +180,7 @@ ALL_EMULATION_SOURCES = \ - earmelf.c \ - earmelf_fbsd.c \ - earmelf_fuchsia.c \ -+ earmelf_haiku.c \ - earmelf_linux.c \ - earmelf_linux_eabi.c \ - earmelf_nacl.c \ -@@ -275,6 +276,7 @@ ALL_EMULATION_SOURCES = \ - eelf32or1k_linux.c \ - eelf32ppc.c \ - eelf32ppc_fbsd.c \ -+ eelf32ppchaiku.c \ - eelf32ppclinux.c \ - eelf32ppcnto.c \ - eelf32ppcsim.c \ -@@ -297,11 +299,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 \ - egld960.c \ - egld960coff.c \ -@@ -513,6 +517,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 \ -@@ -769,6 +774,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} -@@ -1261,6 +1270,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)/emultempl/ppc32elf.em ldemul-list.h \ -@@ -1343,6 +1358,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} - -@@ -1356,6 +1374,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} -@@ -2040,6 +2061,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 b85c6bb..30b35af 100644 ---- a/ld/configure.tgt -+++ b/ld/configure.tgt -@@ -155,6 +155,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" - ;; -@@ -377,6 +378,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 - ;; -@@ -460,7 +464,9 @@ m68*-*-netbsdaout* | m68*-*-netbsd*) - targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;; - m68*-*-psos*) targ_emul=m68kpsos ;; - m68*-*-rtemscoff*) targ_emul=m68kcoff ;; --m68*-*-rtems*) targ_emul=m68kelf -+m68*-*-rtems*) targ_emul=m68kelf ;; -+m68*-*-haiku*) targ_emul=m68kelf -+ targ_extra_emuls=m68kcoff - ;; - m8*-*-*) targ_emul=m88kbcs - ;; -@@ -489,6 +495,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" - ;; -@@ -682,6 +691,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 ;; - riscv32*-*-*) targ_emul=elf32lriscv -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 - - -From cc4c78e10331c30afd91bd80f2ffc63731b4084b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Sat, 5 Aug 2017 12:34:41 +0200 -Subject: Haiku: regenerate configure and Makefile.in. - - -diff --git a/bfd/configure b/bfd/configure -index 48d2bde..d9266b8 100755 ---- a/bfd/configure -+++ b/bfd/configure -@@ -10632,7 +10632,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 2032de1..858bbdc 100755 ---- a/binutils/configure -+++ b/binutils/configure -@@ -10430,7 +10430,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 f6d12b8..d62e1ef 100755 ---- a/configure -+++ b/configure -@@ -2957,7 +2957,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* | *-*-fuchsia*) - case "${target}" in -diff --git a/gas/configure b/gas/configure -index 5aa6dcb..87d36ca 100755 ---- a/gas/configure -+++ b/gas/configure -@@ -10191,7 +10191,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/ld/Makefile.in b/ld/Makefile.in -index 042b690..9110faa 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -549,6 +549,7 @@ ALL_EMULATION_SOURCES = \ - earmelf.c \ - earmelf_fbsd.c \ - earmelf_fuchsia.c \ -+ earmelf_haiku.c \ - earmelf_linux.c \ - earmelf_linux_eabi.c \ - earmelf_nacl.c \ -@@ -644,6 +645,7 @@ ALL_EMULATION_SOURCES = \ - eelf32or1k_linux.c \ - eelf32ppc.c \ - eelf32ppc_fbsd.c \ -+ eelf32ppchaiku.c \ - eelf32ppclinux.c \ - eelf32ppcnto.c \ - eelf32ppcsim.c \ -@@ -666,11 +668,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 \ - egld960.c \ - egld960coff.c \ -@@ -881,6 +885,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 \ -@@ -1190,6 +1195,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_nacl.Po@am__quote@ -@@ -1309,6 +1315,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@ -@@ -1355,6 +1362,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@ -@@ -1364,10 +1372,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)/egld960.Po@am__quote@ -@@ -2362,6 +2372,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} -@@ -2854,6 +2868,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)/emultempl/ppc32elf.em ldemul-list.h \ -@@ -2936,6 +2956,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} - -@@ -2949,6 +2972,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} -@@ -3633,6 +3659,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/opcodes/configure b/opcodes/configure -index a1c7cd0..aec2bac 100755 ---- a/opcodes/configure -+++ b/opcodes/configure -@@ -10355,7 +10355,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 - diff --git a/sys-devel/binutils/patches/binutils-2.29.0_2017_08_05.patchset b/sys-devel/binutils/patches/binutils-2.29.0_2017_08_05.patchset deleted file mode 100644 index 595b859ee..000000000 --- a/sys-devel/binutils/patches/binutils-2.29.0_2017_08_05.patchset +++ /dev/null @@ -1,700 +0,0 @@ -From 15be9c95677ad5c5e7dd287d8c261407e21845ab Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Sat, 5 Aug 2017 11:54:22 +0200 -Subject: Haiku patch - - -diff --git a/bfd/config.bfd b/bfd/config.bfd -index dc24aab..4e09a6c 100644 ---- a/bfd/config.bfd -+++ b/bfd/config.bfd -@@ -444,7 +444,7 @@ case "${targ}" in - ;; - arm-*-elf | arm*-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \ - arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \ -- arm*-*-eabi* | arm-*-rtems*) -+ arm*-*-eabi* | arm-*-rtems | arm*-*-haiku*) - targ_defvec=arm_elf32_le_vec - targ_selvecs=arm_elf32_be_vec - ;; -@@ -795,6 +795,11 @@ case "${targ}" in - targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec i386_aout_linux_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" -@@ -849,6 +854,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" -@@ -1043,7 +1051,10 @@ case "${targ}" in - targ_selvecs=ieee_vec - targ_underscore=yes - ;; -- -+ m68*-*-haiku*) -+ targ_defvec=m68k_elf32_vec -+ targ_selvecs="m68k_coff_vec ieee_vec" -+ ;; - m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*) - targ_defvec=m88k_elf32_vec - targ_selvecs=m88k_coff_bcs_vec -@@ -1099,6 +1110,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" -@@ -1404,6 +1419,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/elf32-ppc.c b/bfd/elf32-ppc.c -index 8a00fb4..dd64d75 100644 ---- a/bfd/elf32-ppc.c -+++ b/bfd/elf32-ppc.c -@@ -10892,7 +10892,7 @@ ppc_elf_finish_dynamic_sections (bfd *output_bfd, - #define ELF_ARCH bfd_arch_powerpc - #define ELF_TARGET_ID PPC32_ELF_DATA - #define ELF_MACHINE_CODE EM_PPC --#ifdef __QNXTARGET__ -+#if defined(__QNXTARGET__) || defined(__HAIKU_TARGET__) - #define ELF_MAXPAGESIZE 0x1000 - #define ELF_COMMONPAGESIZE 0x1000 - #else -diff --git a/configure.ac b/configure.ac -index c59e75c..a0c1443 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -329,7 +329,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* | *-*-fuchsia*) - case "${target}" in -diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c -index 456be9e..79d8bd7 100644 ---- a/gas/config/tc-i386.c -+++ b/gas/config/tc-i386.c -@@ -437,7 +437,8 @@ const char extra_symbol_chars[] = "*%-([{}" - && !defined (TE_NETWARE) \ - && !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/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/gas/configure.tgt b/gas/configure.tgt -index 9d5e781..9c7c46b 100644 ---- a/gas/configure.tgt -+++ b/gas/configure.tgt -@@ -167,6 +167,7 @@ case ${generic_target} in - arm-*-pe) fmt=coff em=pe ;; - arm-*-riscix*) fmt=aout em=riscix ;; - arm-*-fuchsia*) fmt=elf ;; -+ arm-*-haiku*) fmt=elf em=haiku ;; - - avr-*-*) fmt=elf bfd_gas=yes ;; - -@@ -222,11 +223,12 @@ case ${generic_target} in - i386-ibm-aix*) fmt=coff em=i386aix ;; - i386-sequent-bsd*) fmt=aout em=dynix ;; - i386-*-beospe*) fmt=coff em=pe ;; -- i386-*-beos*) fmt=elf ;; -+ i386-*-beos*) fmt=elf em=beos ;; - i386-*-coff) fmt=coff ;; - 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 -@@ -329,6 +331,7 @@ case ${generic_target} in - m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;; - m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;; - m68k-*-psos*) fmt=elf em=psos;; -+ m68k-*-haiku*) fmt=elf em=haiku ;; - - mep-*-elf) fmt=elf ;; - -@@ -351,6 +354,7 @@ case ${generic_target} in - mips-*-elf*) fmt=elf ;; - mips-*-netbsd*) fmt=elf em=tmips ;; - mips-*-openbsd*) fmt=elf em=tmips ;; -+ mips*-*-haiku*) fmt=elf endian=little em=haiku ;; - - mmix-*-*) fmt=elf ;; - -@@ -388,9 +392,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 625347f..4c032b1 100644 ---- a/ld/Makefile.am -+++ b/ld/Makefile.am -@@ -174,6 +174,7 @@ ALL_EMULATION_SOURCES = \ - earmelf.c \ - earmelf_fbsd.c \ - earmelf_fuchsia.c \ -+ earmelf_haiku.c \ - earmelf_linux.c \ - earmelf_linux_eabi.c \ - earmelf_nacl.c \ -@@ -269,6 +270,7 @@ ALL_EMULATION_SOURCES = \ - eelf32or1k_linux.c \ - eelf32ppc.c \ - eelf32ppc_fbsd.c \ -+ eelf32ppchaiku.c \ - eelf32ppclinux.c \ - eelf32ppcnto.c \ - eelf32ppcsim.c \ -@@ -291,11 +293,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 \ - egld960.c \ - egld960coff.c \ -@@ -508,6 +512,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 \ -@@ -770,6 +775,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} -@@ -1268,6 +1277,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 \ -@@ -1354,6 +1369,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} - -@@ -1367,6 +1385,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} -@@ -2059,6 +2080,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 47c719c..a8e9ba3 100644 ---- a/ld/configure.tgt -+++ b/ld/configure.tgt -@@ -169,6 +169,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" - ;; -@@ -391,6 +392,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 - ;; -@@ -474,6 +478,8 @@ m68*-*-netbsdaout* | m68*-*-netbsd*) - targ_emul=m68knbsd - targ_extra_emuls="m68kelfnbsd m68k4knbsd" ;; - m68*-*-psos*) targ_emul=m68kpsos ;; -+m68*-*-haiku*) targ_emul=m68kelf -+ targ_extra_emuls=m68kcoff ;; - m8*-*-*) targ_emul=m88kbcs - ;; - mcore-*-pe) targ_emul=mcorepe ; -@@ -501,6 +507,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" - ;; -@@ -693,6 +702,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/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 - - -From 51083bbbd6eb8cbd7b2a9a1ce328dc8757593a2b Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= -Date: Sat, 5 Aug 2017 12:39:53 +0200 -Subject: Haiku: regenerate configure and Makefile.in. - - -diff --git a/bfd/configure b/bfd/configure -index 7c8ebb1..01cc462 100755 ---- a/bfd/configure -+++ b/bfd/configure -@@ -10632,7 +10632,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 e903709..49d41ef 100755 ---- a/binutils/configure -+++ b/binutils/configure -@@ -10430,7 +10430,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 be9dd89..d363241 100755 ---- a/configure -+++ b/configure -@@ -2955,7 +2955,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* | *-*-fuchsia*) - case "${target}" in -diff --git a/gas/configure b/gas/configure -index e78136c..ec294a3 100755 ---- a/gas/configure -+++ b/gas/configure -@@ -10191,7 +10191,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/ld/Makefile.in b/ld/Makefile.in -index ba25177..7ec088d 100644 ---- a/ld/Makefile.in -+++ b/ld/Makefile.in -@@ -543,6 +543,7 @@ ALL_EMULATION_SOURCES = \ - earmelf.c \ - earmelf_fbsd.c \ - earmelf_fuchsia.c \ -+ earmelf_haiku.c \ - earmelf_linux.c \ - earmelf_linux_eabi.c \ - earmelf_nacl.c \ -@@ -638,6 +639,7 @@ ALL_EMULATION_SOURCES = \ - eelf32or1k_linux.c \ - eelf32ppc.c \ - eelf32ppc_fbsd.c \ -+ eelf32ppchaiku.c \ - eelf32ppclinux.c \ - eelf32ppcnto.c \ - eelf32ppcsim.c \ -@@ -660,11 +662,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 \ - egld960.c \ - egld960coff.c \ -@@ -876,6 +880,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 \ -@@ -1156,6 +1161,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_nacl.Po@am__quote@ -@@ -1275,6 +1281,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@ -@@ -1321,6 +1328,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@ -@@ -1330,10 +1338,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)/egld960.Po@am__quote@ -@@ -2334,6 +2344,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} -@@ -2832,6 +2846,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 \ -@@ -2918,6 +2938,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} - -@@ -2931,6 +2954,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} -@@ -3623,6 +3649,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/opcodes/configure b/opcodes/configure -index 2bedc8d..fcc6e51 100755 ---- a/opcodes/configure -+++ b/opcodes/configure -@@ -10355,7 +10355,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 - diff --git a/sys-devel/binutils/patches/binutils-2.31.1.patchset b/sys-devel/binutils/patches/binutils-2.31.1.patchset deleted file mode 100644 index f1f026198..000000000 --- a/sys-devel/binutils/patches/binutils-2.31.1.patchset +++ /dev/null @@ -1,665 +0,0 @@ -From f3f36b04425b3d423af5454a862281fb8c68c8b5 Mon Sep 17 00:00:00 2001 -From: Ken Mays -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 - - -From c368003d273be47f9f3cc1e16a156645beabfd0e Mon Sep 17 00:00:00 2001 -From: Ken Mays -Date: Wed, 10 Oct 2018 18:21:36 +0000 -Subject: Haiku patches for Binutils 2.31.1 - suite - - -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 4345300..1eda810 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.19.1 -