Fix multilib build of libgcc on Linux/sparc.

* configure.ac: Set host_address on sparc too.
	* configure: Regenerate.
	* config.host: Add sparc/t-linux64 and sparc/t-softmul conditionally
	based upon host_address.
	* config/sparc/t-linux64: Set CRTSTUFF_T_CFLAGS unconditionally.

From-SVN: r180818
This commit is contained in:
David S. Miller 2011-11-03 06:07:39 +00:00 committed by David S. Miller
parent d8c866e57c
commit d2a7d041b6
5 changed files with 31 additions and 11 deletions

View File

@ -1,3 +1,11 @@
2011-11-02 David S. Miller <davem@davemloft.net>
* configure.ac: Set host_address on sparc too.
* configure: Regenerate.
* config.host: Add sparc/t-linux64 and sparc/t-softmul conditionally
based upon host_address.
* config/sparc/t-linux64: Set CRTSTUFF_T_CFLAGS unconditionally.
2011-11-02 Jason Merrill <jason@redhat.com>
* config/rs6000/t-ppccomm: Add missing \.

View File

@ -1008,7 +1008,10 @@ sparc-*-elf*)
extra_parts="$extra_parts crti.o crtn.o crtfastmath.o"
;;
sparc-*-linux*) # SPARC's running GNU/Linux, libc6
tmake_file="${tmake_file} t-crtfm sparc/t-linux64"
tmake_file="${tmake_file} t-crtfm"
if test "${host_address}" = 64; then
tmake_file="$tmake_file sparc/t-linux64"
fi
case ${host} in
*-leon*)
tmake_file="${tmake_file} t-fdpbit"
@ -1021,7 +1024,9 @@ sparc-*-linux*) # SPARC's running GNU/Linux, libc6
*-leon[3-9]*)
;;
*)
tmake_file="$tmake_file sparc/t-softmul"
if test "${host_address}" = 32; then
tmake_file="$tmake_file sparc/t-softmul"
fi
;;
esac
extra_parts="$extra_parts crtfastmath.o"
@ -1052,7 +1057,13 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*)
;;
sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
extra_parts="$extra_parts crtfastmath.o"
tmake_file="${tmake_file} t-crtfm sparc/t-linux sparc/t-linux64"
tmake_file="${tmake_file} t-crtfm sparc/t-linux"
if test "${host_address}" = 64; then
tmake_file="${tmake_file} sparc/t-linux64"
fi
if test "${host_address}" = 32; then
tmake_file="${tmake_file} sparc/t-softmul"
fi
md_unwind_header=sparc/linux-unwind.h
;;
sparc64-*-netbsd*)

View File

@ -1,2 +1 @@
CRTSTUFF_T_CFLAGS = `if test x$$($(CC) -print-multi-os-directory) \
= x../lib64; then echo -mcmodel=medany; fi`
CRTSTUFF_T_CFLAGS = -mcmodel=medany

7
libgcc/configure vendored
View File

@ -4609,11 +4609,12 @@ fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $libgcc_cv_cfi" >&5
$as_echo "$libgcc_cv_cfi" >&6; }
# Check 32bit or 64bit for x86.
# Check 32bit or 64bit for x86 and sparc.
case ${host} in
i?86*-*-* | x86_64*-*-*)
i?86*-*-* | x86_64*-*-* | sparc*-*-*)
cat > conftest.c <<EOF
#ifdef __x86_64__
#if defined(__x86_64__) || \
(defined(__sparc__) && defined(__arch64__))
host_address=64
#else
host_address=32

View File

@ -255,11 +255,12 @@ AC_CACHE_CHECK([whether assembler supports CFI directives], [libgcc_cv_cfi],
[libgcc_cv_cfi=yes],
[libgcc_cv_cfi=no])])
# Check 32bit or 64bit for x86.
# Check 32bit or 64bit for x86 and sparc.
case ${host} in
i?86*-*-* | x86_64*-*-*)
i?86*-*-* | x86_64*-*-* | sparc*-*-*)
cat > conftest.c <<EOF
#ifdef __x86_64__
#if defined(__x86_64__) || \
(defined(__sparc__) && defined(__arch64__))
host_address=64
#else
host_address=32