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