Applying Haiku support.
git-svn-id: file:///srv/svn/repos/haiku/buildtools/trunk@29025 a95241bf-73f2-0310-859d-f6bbb57e9c96
Diff
binutils/libtool.m4 | 15 +++++++++++++++
binutils/bfd/config.bfd | 15 +++++++++++++++
binutils/bfd/elf32-ppc.c | 2 +-
binutils/gas/configure.tgt | 8 ++++++--
binutils/ld/Makefile.am | 13 +++++++++++++
binutils/ld/Makefile.in | 13 +++++++++++++
binutils/ld/configure.tgt | 7 ++++++-
binutils/gas/config/tc-i386.c | 3 ++-
8 files changed, 68 insertions(+), 8 deletions(-)
@@ -2211,6 +2211,15 @@
hardcode_into_libs=yes
;;
haiku*)
library_names_spec='${libname}.so'
dynamic_linker="$host_os ld.so"
shlibpath_var=LIBRARY_PATH
lt_cv_dlopen="load_add_on"
lt_cv_dlopen_libs=
lt_cv_dlopen_self=yes
;;
hpux9* | hpux10* | hpux11*)
# Give a soname corresponding to the major version so that dld.sl refuses to
# link against other versions.
@@ -2888,6 +2897,10 @@
;;
gnu*)
lt_cv_deplibs_check_method=pass_all
;;
haiku*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3110,7 +3123,7 @@
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin* | *-*-haiku*)
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
@@ -271,7 +271,7 @@
;;
arm-*-elf | arm-*-freebsd* | arm*-*-linux-* | arm*-*-conix* | \
arm*-*-uclinux* | arm-*-kfreebsd*-gnu | \
arm*-*-eabi* )
arm*-*-eabi* | arm*-*-haiku*)
targ_defvec=bfd_elf32_littlearm_vec
targ_selvecs=bfd_elf32_bigarm_vec
;;
@@ -652,6 +652,9 @@
targ_defvec=bfd_elf32_i386_vec
targ_selvecs="i386pe_vec i386pei_vec"
;;
i[3-7]86-*-haiku*)
targ_defvec=bfd_elf32_i386_vec
;;
i[3-7]86-*-interix*)
targ_defvec=i386pei_vec
targ_selvecs="i386pe_vec"
@@ -833,7 +836,10 @@
targ_selvecs=ieee_vec
targ_underscore=yes
;;
m68*-*-haiku*)
targ_defvec=bfd_elf32_m68k_vec
targ_selvecs="m68kcoff_vec ieee_vec"
;;
m88*-harris-cxux* | m88*-*-dgux* | m88*-*-sysv4*)
targ_defvec=bfd_elf32_m88k_vec
targ_selvecs=m88kbcs_vec
@@ -1119,6 +1125,11 @@
targ_defvec=mach_o_be_vec
targ_selvecs="mach_o_be_vec mach_o_le_vec mach_o_fat_vec pef_vec pef_xlib_vec sym_vec"
targ_archs="bfd_powerpc_arch bfd_rs6000_arch bfd_i386_arch"
;;
powerpc-*-haiku*)
targ_defvec=bfd_elf32_powerpc_vec
targ_selvecs="rs6000coff_vec bfd_elf32_powerpcle_vec pef_vec pef_xlib_vec pmac_xcoff_vec ppcboot_vec"
targ_cflags=-D__HAIKU_TARGET__
;;
powerpc-*-macos*)
targ_defvec=pmac_xcoff_vec
@@ -8054,7 +8054,7 @@
#define TARGET_BIG_NAME "elf32-powerpc"
#define ELF_ARCH bfd_arch_powerpc
#define ELF_MACHINE_CODE EM_PPC
#ifdef __QNXTARGET__
#if defined(__QNXTARGET__) || defined(__HAIKU_TARGET__)
#define ELF_MAXPAGESIZE 0x1000
#else
#define ELF_MAXPAGESIZE 0x10000
@@ -123,6 +123,7 @@
arm-wince-pe | arm-*-wince) fmt=coff em=wince-pe ;;
arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
arm-*-riscix*) fmt=aout em=riscix ;;
arm-*-haiku*) fmt=elf em=haiku ;;
avr-*-*) fmt=elf bfd_gas=yes ;;
@@ -174,9 +175,10 @@
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-*-elf) fmt=elf ;;
i386-*-haiku*) fmt=elf em=haiku ;;
i386-*-kaos*) fmt=elf ;;
i386-*-bsd*) fmt=aout em=386bsd ;;
i386-*-netbsd0.8) fmt=aout em=386bsd ;;
@@ -262,6 +264,7 @@
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 ;;
maxq-*-coff) fmt=coff bfd_gas=yes ;;
@@ -318,9 +321,10 @@
ppc-*-aix5.[01]) fmt=coff em=aix5 ;;
ppc-*-aix5.*) fmt=coff em=aix5 ;;
ppc-*-aix*) fmt=coff ;;
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 ;;
@@ -121,6 +121,7 @@
earmelf.o \
earmelfb.o \
earmelf_fbsd.o \
earmelf_haiku.o \
earmelf_linux.o \
earmelf_linux_eabi.o \
earmelfb_linux.o \
@@ -208,7 +209,9 @@
eelf_i386_be.o \
eelf_i386_chaos.o \
eelf_i386_fbsd.o \
eelf_i386_haiku.o \
eelf_i386_ldso.o \
eelf_ppc_haiku.o \
eelf_i386_vxworks.o \
eelf_s390.o \
egld960.o \
@@ -539,6 +542,10 @@
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_fbsd "$(tdir_armelf_fbsd)"
earmelf_haiku.c: $(srcdir)/emulparams/armelf_haiku.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_haiku "$(tdir_armelf_haiku)"
earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
@@ -1023,9 +1030,15 @@
$(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_fbsd "$(tdir_elf_i386_fbsd)"
eelf_i386_haiku.c: $(srcdir)/emulparams/elf_i386_haiku.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_haiku "$(tdir_elf_i386_haiku)"
eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)"
eelf_ppc_haiku.c: $(srcdir)/emulparams/elf_ppc_haiku.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_ppc_haiku "$(tdir_elf_ppc_haiku)"
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}
@@ -372,6 +372,7 @@
earmelf.o \
earmelfb.o \
earmelf_fbsd.o \
earmelf_haiku.o \
earmelf_linux.o \
earmelf_linux_eabi.o \
earmelfb_linux.o \
@@ -459,7 +460,9 @@
eelf_i386_be.o \
eelf_i386_chaos.o \
eelf_i386_fbsd.o \
eelf_i386_haiku.o \
eelf_i386_ldso.o \
eelf_ppc_haiku.o \
eelf_i386_vxworks.o \
eelf_s390.o \
egld960.o \
@@ -1369,6 +1372,10 @@
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_fbsd "$(tdir_armelf_fbsd)"
earmelf_haiku.c: $(srcdir)/emulparams/armelf_haiku.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} armelf_haiku "$(tdir_armelf_haiku)"
earmelf_linux.c: $(srcdir)/emulparams/armelf_linux.sh \
$(ELF_DEPS) $(srcdir)/emultempl/armelf.em \
$(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
@@ -1853,9 +1860,15 @@
$(srcdir)/emulparams/elf_i386.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_fbsd "$(tdir_elf_i386_fbsd)"
eelf_i386_haiku.c: $(srcdir)/emulparams/elf_i386_haiku.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_haiku "$(tdir_elf_i386_haiku)"
eelf_i386_ldso.c: $(srcdir)/emulparams/elf_i386_ldso.sh \
$(ELF_DEPS) $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_i386_ldso "$(tdir_elf_i386_ldso)"
eelf_ppc_haiku.c: $(srcdir)/emulparams/elf_ppc_haiku.sh \
$(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS}
${GENSCRIPTS} elf_ppc_haiku "$(tdir_elf_ppc_haiku)"
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}
@@ -93,6 +93,7 @@
;;
arm-*-vxworks) targ_emul=armelf_vxworks ;;
arm*-*-conix*) targ_emul=armelf ;;
arm*-*-haiku*) targ_emul=armelf_haiku; targ_extra_emuls=armelf ;;
thumb-*-linux-* | thumb-*-uclinux*) targ_emul=armelf_linux; targ_extra_emuls=armelf ;;
strongarm-*-coff) targ_emul=armcoff ;;
strongarm-*-elf) targ_emul=armelf ;;
@@ -274,6 +275,7 @@
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 ;;
i[3-7]86-*-vxworks*) targ_emul=elf_i386_vxworks ;;
i[3-7]86-*-chaos) targ_emul=elf_i386_chaos
;;
@@ -340,7 +342,9 @@
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
;;
@@ -485,6 +489,7 @@
powerpc-*-aix5*) targ_emul=aix5ppc ;;
powerpc-*-aix*) targ_emul=aixppc ;;
powerpc-*-beos*) targ_emul=aixppc ;;
powerpc-*-haiku*) targ_emul=elf_ppc_haiku ;;
powerpc-*-windiss*) targ_emul=elf32ppcwindiss ;;
powerpc-*-lynxos*) targ_emul=ppclynx ;;
rs6000-*-aix5*) targ_emul=aix5rs6 ;;
@@ -319,7 +319,8 @@
&& !defined (TE_LINUX) \
&& !defined (TE_NETWARE) \
&& !defined (TE_FreeBSD) \
&& !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. */