gcc 4.7.3: fix remaining Haiku issues.
Diff
gcc/configure | 17 ++++++++++++++++-
gcc/gcc/config.gcc | 4 ----
gcc/libgcc/Makefile.in | 2 +-
gcc/libgcc/config.host | 10 ++++++++++
gcc/libgcc/crtstuff.c | 2 ++
gcc/gcc/config/haiku.h | 6 ++++++
gcc/gcc/config/i386/haiku64.h | 6 ------
7 files changed, 31 insertions(+), 16 deletions(-)
@@ -2946,6 +2946,9 @@
i[3456789]86-*-msdosdjgpp*)
noconfigdirs="$noconfigdirs tcl tk itcl"
;;
*-*-haiku*)
noconfigdirs="$noconfigdirs tk itcl libgui gdb"
;;
esac
@@ -3185,6 +3188,9 @@
x86_64-*-darwin[912]*)
;;
*-*-darwin*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
*-*-haiku*)
noconfigdirs="$noconfigdirs ${libgcj}"
;;
*-*-netware*)
@@ -3348,6 +3354,9 @@
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
*-*-freebsd*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
*-*-haiku*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
@@ -3402,6 +3411,9 @@
&& test -f /usr/local/include/gmp.h; then
with_gmp=/usr/local
fi
;;
*-*-haiku*)
noconfigdirs="$noconfigdirs gdb target-libiberty"
;;
*-*-kaos*)
# Remove unsupported stuff on all kaOS configurations.
@@ -3631,11 +3643,6 @@
;;
vax-*-*)
noconfigdirs="$noconfigdirs target-newlib target-libgloss"
;;
*-*-haiku*)
noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
;;
*-*-linux* | *-*-gnu* | *-*-k*bsd*-gnu | *-*-kopensolaris*-gnu)
;;
esac
@@ -850,7 +850,6 @@
arm*-*-haiku*)
tmake_file="${tmake_file} t-haiku arm/t-arm arm/t-arm-elf arm/t-bpabi arm/t-haiku"
tm_file="dbxelf.h elfos.h haiku.h arm/elf.h arm/bpabi.h arm/haiku.h"
tm_file="$tm_file ../../libgcc/config/arm/bpabi-lib.h"
# The BPABI long long divmod functions return a 128-bit value in
# registers r0-r3. Correctly modeling that requires the use of
# TImode.
@@ -1236,12 +1235,10 @@
i[34567]86-*-haiku*)
tmake_file='t-haiku i386/t-crtpic'
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h haiku.h i386/haiku.h"
extra_parts='crtbegin.o crtend.o'
;;
x86_64-*-haiku*)
tmake_file='t-haiku i386/t-haiku64'
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h haiku.h i386/haiku64.h"
extra_parts='crtbegin.o crtend.o'
;;
i[34567]86-*-netbsdelf*)
tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h netbsd.h netbsd-elf.h i386/netbsd-elf.h"
@@ -1934,7 +1931,6 @@
mipsel-*-haiku*)
tmake_file='mips/t-elf t-haiku'
tm_file="elfos.h ${tm_file} haiku.h mips/haiku.h"
extra_parts='crtbegin.o crtend.o'
;;
mips64-*-elf* | mips64el-*-elf*)
tm_file="elfos.h newlib-stdint.h ${tm_file} mips/elf.h"
@@ -121,7 +121,7 @@
.PHONY: all clean
clean:
-rm -f config.h libgcc_tm.h stamp-h stmp-ldirs libgcc.map
-rm -f config.h libgcc_tm.h stamp-h stmp-ldirs libgcc.map libgcc_tm.stamp
-rm -f *$(objext)
-rm -f *.dep
-rm -f *.a
@@ -325,6 +325,11 @@
tmake_file="$tmake_file arm/t-arm arm/t-netbsd t-slibgcc-gld-nover"
;;
arm-*-haiku*)
tmake_file="${tmake_file} arm/t-arm arm/t-elf arm/t-bpabi"
tmake_file="$tmake_file t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
tm_file="${tm_file} arm/bpabi-lib.h"
unwind_header=config/arm/unwind-arm.h
extra_parts="crtbegin.o crtend.o"
;;
arm*-*-linux*) # ARM GNU/Linux with ELF
tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix"
@@ -535,8 +540,12 @@
tmake_file="${tmake_file} i386/t-freebsd i386/t-crtstuff"
;;
i[34567]86-*-haiku*)
tmake_file="${tmake_file} i386/t-crtstuff t-libgcc-pic"
extra_parts="crtbegin.o crtend.o"
;;
x86_64-*-haiku*)
tmake_file="${tmake_file} i386/t-crtstuff t-libgcc-pic"
extra_parts="crtbegin.o crtend.o"
;;
i[34567]86-*-netbsdelf*)
;;
@@ -767,6 +776,7 @@
mips*-*-openbsd*)
;;
mips*-*-haiku*)
extra_parts="crtbegin.o crtend.o"
;;
mips*-sde-elf*)
tmake_file="$tmake_file mips/t-crtstuff mips/t-mips16"
@@ -104,7 +104,9 @@
&& defined(HAVE_LD_EH_FRAME_HDR) \
&& !defined(inhibit_libc) && !defined(CRTSTUFFT_O) \
&& defined(__GLIBC__) && __GLIBC__ >= 2
#ifndef __HAIKU__
#include <link.h>
#endif
/* uClibc pretends to be glibc 2.2 and DT_CONFIG is defined in its link.h.
But it doesn't use PT_GNU_EH_FRAME ELF segment currently. */
# if !defined(__UCLIBC__) \
@@ -177,3 +177,9 @@
#ifndef TARGET_LIBC_PROVIDES_SSP
#define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all:-lssp}"
#endif
#define TARGET_USE_JCR_SECTION 0
#define USE_TM_CLONE_REGISTRY 0
@@ -20,12 +20,6 @@
Boston, MA 02111-1307, USA. */
#if TARGET_64BIT_DEFAULT
#define TARGET_VERSION fprintf (stderr, " (x86-64 Haiku/ELF)");
#else
#define TARGET_VERSION fprintf (stderr, " (i386 Haiku/ELF)");
#endif
#undef ASM_COMMENT_START
#define ASM_COMMENT_START " #"