mirror of git://gcc.gnu.org/git/gcc.git
config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes.
gcc/ * config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes. (sparc*-*-linux*): Use linux.h in tm_file. (sparc-*-linux*): If 'enabled_targets' is 'all', build a bi-arch compiler defaulting to 32-bit. (sparc*-*-*): Remove explicit target settings of need_64bit_hwint, no longer needed. * config/sparc/linux.h: Remove definitions now obtained properly from linux.h * config/sparc/linux64.h: Likewise. (ASM_CPU_DEFAULT_SPEC): Change this to ASM_CPU64_DEFAULT_SPEC, we don't want this setting for 32-bit builds in a biarch compiler. * doc/install.texi: Add sparc-linux to list of targets supporting --enable-targets=all. libcpp/ * configure.ac (sparc*-*-*): Always set need_64bit_hwint to yes. * configure: Regenerate. From-SVN: r134929
This commit is contained in:
parent
9e6dca7594
commit
5f7ca34bf5
|
@ -1,3 +1,19 @@
|
||||||
|
2008-05-04 David S. Miller <davem@davemloft.net>
|
||||||
|
|
||||||
|
* config.gcc (sparc*-*-*): Always set need_64bit_hwint to yes.
|
||||||
|
(sparc*-*-linux*): Use linux.h in tm_file.
|
||||||
|
(sparc-*-linux*): If 'enabled_targets' is 'all', build a bi-arch
|
||||||
|
compiler defaulting to 32-bit.
|
||||||
|
(sparc*-*-*): Remove explicit target settings of need_64bit_hwint,
|
||||||
|
no longer needed.
|
||||||
|
* config/sparc/linux.h: Remove definitions now obtained
|
||||||
|
properly from linux.h
|
||||||
|
* config/sparc/linux64.h: Likewise.
|
||||||
|
(ASM_CPU_DEFAULT_SPEC): Change this to ASM_CPU64_DEFAULT_SPEC, we
|
||||||
|
don't want this setting for 32-bit builds in a biarch compiler.
|
||||||
|
* doc/install.texi: Add sparc-linux to list of targets
|
||||||
|
supporting --enable-targets=all.
|
||||||
|
|
||||||
2008-05-03 Andrew Pinski <pinskia@gmail.com>
|
2008-05-03 Andrew Pinski <pinskia@gmail.com>
|
||||||
|
|
||||||
* Makefile.in (tree-ssa-phiprop.o): Fix dependencies.
|
* Makefile.in (tree-ssa-phiprop.o): Fix dependencies.
|
||||||
|
|
|
@ -358,12 +358,9 @@ rs6000*-*-*)
|
||||||
score*-*-*)
|
score*-*-*)
|
||||||
cpu_type=score
|
cpu_type=score
|
||||||
;;
|
;;
|
||||||
sparc64*-*-*)
|
|
||||||
cpu_type=sparc
|
|
||||||
need_64bit_hwint=yes
|
|
||||||
;;
|
|
||||||
sparc*-*-*)
|
sparc*-*-*)
|
||||||
cpu_type=sparc
|
cpu_type=sparc
|
||||||
|
need_64bit_hwint=yes
|
||||||
;;
|
;;
|
||||||
spu*-*-*)
|
spu*-*-*)
|
||||||
cpu_type=spu
|
cpu_type=spu
|
||||||
|
@ -2357,9 +2354,15 @@ sparc-*-elf*)
|
||||||
use_fixproto=yes
|
use_fixproto=yes
|
||||||
;;
|
;;
|
||||||
sparc-*-linux*) # SPARC's running GNU/Linux, libc6
|
sparc-*-linux*) # SPARC's running GNU/Linux, libc6
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h"
|
||||||
extra_options="${extra_options} sparc/long-double-switch.opt"
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
||||||
|
if test x$enable_targets = xall; then
|
||||||
|
tm_file="sparc/biarch64.h ${tm_file} sparc/linux64.h"
|
||||||
|
tmake_file="${tmake_file} sparc/t-linux64 sparc/t-crtfm"
|
||||||
|
else
|
||||||
|
tm_file="${tm_file} sparc/linux.h"
|
||||||
tmake_file="${tmake_file} sparc/t-linux sparc/t-crtfm"
|
tmake_file="${tmake_file} sparc/t-linux sparc/t-crtfm"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
sparc-*-rtems*)
|
sparc-*-rtems*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/sp-elf.h sparc/rtemself.h rtems.h"
|
||||||
|
@ -2396,7 +2399,6 @@ sparc64-*-solaris2* | sparcv9-*-solaris2*)
|
||||||
"":yes:* | yes:yes:* ) thread_file=posix ;;
|
"":yes:* | yes:yes:* ) thread_file=posix ;;
|
||||||
"":*:yes | yes:*:yes ) thread_file=solaris ;;
|
"":*:yes | yes:*:yes ) thread_file=solaris ;;
|
||||||
esac
|
esac
|
||||||
need_64bit_hwint=yes
|
|
||||||
;;
|
;;
|
||||||
sparc-*-solaris2*)
|
sparc-*-solaris2*)
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
|
tm_file="${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sol2.h"
|
||||||
|
@ -2437,7 +2439,6 @@ sparc-*-solaris2*)
|
||||||
fi
|
fi
|
||||||
tm_file="${tm_file} tm-dwarf2.h"
|
tm_file="${tm_file} tm-dwarf2.h"
|
||||||
tmake_file="$tmake_file sparc/t-sol2-64"
|
tmake_file="$tmake_file sparc/t-sol2-64"
|
||||||
need_64bit_hwint=yes
|
|
||||||
test x$with_cpu != x || with_cpu=v9
|
test x$with_cpu != x || with_cpu=v9
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -2488,10 +2489,9 @@ sparc64-*-freebsd*|ultrasparc-*-freebsd*)
|
||||||
x) with_cpu=ultrasparc ;;
|
x) with_cpu=ultrasparc ;;
|
||||||
*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
|
*) echo "$with_cpu not supported for freebsd target"; exit 1 ;;
|
||||||
esac
|
esac
|
||||||
need_64bit_hwint=yes
|
|
||||||
;;
|
;;
|
||||||
sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
|
sparc64-*-linux*) # 64-bit SPARC's running GNU/Linux
|
||||||
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h sparc/linux64.h"
|
tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h svr4.h sparc/sysv4.h linux.h sparc/linux64.h"
|
||||||
extra_options="${extra_options} sparc/long-double-switch.opt"
|
extra_options="${extra_options} sparc/long-double-switch.opt"
|
||||||
tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
|
tmake_file="${tmake_file} sparc/t-linux sparc/t-linux64 sparc/t-crtfm"
|
||||||
;;
|
;;
|
||||||
|
|
|
@ -22,39 +22,12 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
#define TARGET_OS_CPP_BUILTINS() \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
builtin_define_std ("unix"); \
|
LINUX_TARGET_OS_CPP_BUILTINS(); \
|
||||||
builtin_define_std ("linux"); \
|
|
||||||
builtin_define ("__gnu_linux__"); \
|
|
||||||
builtin_assert ("system=linux"); \
|
|
||||||
builtin_assert ("system=unix"); \
|
|
||||||
builtin_assert ("system=posix"); \
|
|
||||||
if (TARGET_LONG_DOUBLE_128) \
|
if (TARGET_LONG_DOUBLE_128) \
|
||||||
builtin_define ("__LONG_DOUBLE_128__"); \
|
builtin_define ("__LONG_DOUBLE_128__"); \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
/* Don't assume anything about the header files. */
|
|
||||||
#define NO_IMPLICIT_EXTERN_C
|
|
||||||
|
|
||||||
#undef MD_EXEC_PREFIX
|
|
||||||
#undef MD_STARTFILE_PREFIX
|
|
||||||
|
|
||||||
/* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
|
|
||||||
the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
|
|
||||||
provides part of the support for getting C++ file-scope static
|
|
||||||
object constructed before entering `main'. */
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
#if defined HAVE_LD_PIE
|
|
||||||
#define STARTFILE_SPEC \
|
|
||||||
"%{!shared: %{pg|p:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\
|
|
||||||
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
|
|
||||||
#else
|
|
||||||
#define STARTFILE_SPEC \
|
|
||||||
"%{!shared: %{pg|p:gcrt1.o%s;:crt1.o%s}}\
|
|
||||||
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on
|
/* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on
|
||||||
the GNU/Linux magical crtend.o file (see crtstuff.c) which
|
the GNU/Linux magical crtend.o file (see crtstuff.c) which
|
||||||
provides part of the support for getting C++ file-scope static
|
provides part of the support for getting C++ file-scope static
|
||||||
|
@ -63,8 +36,8 @@ along with GCC; see the file COPYING3. If not see
|
||||||
|
|
||||||
#undef ENDFILE_SPEC
|
#undef ENDFILE_SPEC
|
||||||
#define ENDFILE_SPEC \
|
#define ENDFILE_SPEC \
|
||||||
"%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s} \
|
"%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s\
|
||||||
%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s"
|
%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
|
||||||
|
|
||||||
/* This is for -profile to use -lc_p instead of -lc. */
|
/* This is for -profile to use -lc_p instead of -lc. */
|
||||||
#undef CC1_SPEC
|
#undef CC1_SPEC
|
||||||
|
@ -75,10 +48,6 @@ along with GCC; see the file COPYING3. If not see
|
||||||
%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
|
%{mv8:-mcpu=v8} %{msupersparc:-mcpu=supersparc} \
|
||||||
"
|
"
|
||||||
|
|
||||||
/* The GNU C++ standard library requires that these macros be defined. */
|
|
||||||
#undef CPLUSPLUS_CPP_SPEC
|
|
||||||
#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
#undef TARGET_VERSION
|
||||||
#define TARGET_VERSION fprintf (stderr, " (sparc GNU/Linux with ELF)");
|
#define TARGET_VERSION fprintf (stderr, " (sparc GNU/Linux with ELF)");
|
||||||
|
|
||||||
|
@ -98,12 +67,6 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#define CPP_SUBTARGET_SPEC \
|
#define CPP_SUBTARGET_SPEC \
|
||||||
"%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
|
"%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}"
|
||||||
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC \
|
|
||||||
"%{pthread:-lpthread} \
|
|
||||||
%{shared:-lc} \
|
|
||||||
%{!shared:%{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}"
|
|
||||||
|
|
||||||
/* Provide a LINK_SPEC appropriate for GNU/Linux. Here we provide support
|
/* Provide a LINK_SPEC appropriate for GNU/Linux. Here we provide support
|
||||||
for the special GCC options -static and -shared, which allow us to
|
for the special GCC options -static and -shared, which allow us to
|
||||||
link things in one of these three modes by applying the appropriate
|
link things in one of these three modes by applying the appropriate
|
||||||
|
@ -121,15 +84,6 @@ along with GCC; see the file COPYING3. If not see
|
||||||
/* If ELF is the default format, we should not use /lib/elf. */
|
/* If ELF is the default format, we should not use /lib/elf. */
|
||||||
|
|
||||||
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
||||||
#define UCLIBC_DYNAMIC_LINKER "/lib/ld-uClibc.so.0"
|
|
||||||
#if UCLIBC_DEFAULT
|
|
||||||
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
|
|
||||||
#else
|
|
||||||
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:%{mglibc:%e-mglibc and -muclibc used together}" U ";:" G "}"
|
|
||||||
#endif
|
|
||||||
#define LINUX_DYNAMIC_LINKER \
|
|
||||||
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER, UCLIBC_DYNAMIC_LINKER)
|
|
||||||
|
|
||||||
|
|
||||||
#undef LINK_SPEC
|
#undef LINK_SPEC
|
||||||
#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
|
#define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \
|
||||||
|
@ -191,10 +145,6 @@ do { \
|
||||||
|
|
||||||
#undef DITF_CONVERSION_LIBFUNCS
|
#undef DITF_CONVERSION_LIBFUNCS
|
||||||
#define DITF_CONVERSION_LIBFUNCS 1
|
#define DITF_CONVERSION_LIBFUNCS 1
|
||||||
|
|
||||||
#if defined(HAVE_LD_EH_FRAME_HDR)
|
|
||||||
#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_AS_TLS
|
#ifdef HAVE_AS_TLS
|
||||||
#undef TARGET_SUN_TLS
|
#undef TARGET_SUN_TLS
|
||||||
|
@ -203,31 +153,10 @@ do { \
|
||||||
#define TARGET_GNU_TLS 1
|
#define TARGET_GNU_TLS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Don't be different from other Linux platforms in this regard. */
|
|
||||||
#define HANDLE_PRAGMA_PACK_PUSH_POP
|
|
||||||
|
|
||||||
/* We use GNU ld so undefine this so that attribute((init_priority)) works. */
|
/* We use GNU ld so undefine this so that attribute((init_priority)) works. */
|
||||||
#undef CTORS_SECTION_ASM_OP
|
#undef CTORS_SECTION_ASM_OP
|
||||||
#undef DTORS_SECTION_ASM_OP
|
#undef DTORS_SECTION_ASM_OP
|
||||||
|
|
||||||
/* Determine whether the entire c99 runtime is present in the
|
|
||||||
runtime library. */
|
|
||||||
#define TARGET_C99_FUNCTIONS (OPTION_GLIBC)
|
|
||||||
|
|
||||||
/* Whether we have sincos that follows the GNU extension. */
|
|
||||||
#define TARGET_HAS_SINCOS (OPTION_GLIBC)
|
|
||||||
|
|
||||||
#define TARGET_POSIX_IO
|
|
||||||
|
|
||||||
#undef LINK_GCC_C_SEQUENCE_SPEC
|
|
||||||
#define LINK_GCC_C_SEQUENCE_SPEC \
|
|
||||||
"%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
|
|
||||||
|
|
||||||
/* Use --as-needed -lgcc_s for eh support. */
|
|
||||||
#ifdef HAVE_LD_AS_NEEDED
|
|
||||||
#define USE_LD_AS_NEEDED 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MD_UNWIND_SUPPORT "config/sparc/linux-unwind.h"
|
#define MD_UNWIND_SUPPORT "config/sparc/linux-unwind.h"
|
||||||
|
|
||||||
/* Linux currently uses RMO in uniprocessor mode, which is equivalent to
|
/* Linux currently uses RMO in uniprocessor mode, which is equivalent to
|
||||||
|
|
|
@ -22,24 +22,15 @@ along with GCC; see the file COPYING3. If not see
|
||||||
#define TARGET_OS_CPP_BUILTINS() \
|
#define TARGET_OS_CPP_BUILTINS() \
|
||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
builtin_define_std ("unix"); \
|
LINUX_TARGET_OS_CPP_BUILTINS(); \
|
||||||
builtin_define_std ("linux"); \
|
if (TARGET_ARCH64) \
|
||||||
builtin_define ("_LONGLONG"); \
|
builtin_define ("_LONGLONG"); \
|
||||||
builtin_define ("__gnu_linux__"); \
|
if (TARGET_ARCH32 \
|
||||||
builtin_assert ("system=linux"); \
|
&& TARGET_LONG_DOUBLE_128) \
|
||||||
builtin_assert ("system=unix"); \
|
|
||||||
builtin_assert ("system=posix"); \
|
|
||||||
if (TARGET_ARCH32 && TARGET_LONG_DOUBLE_128) \
|
|
||||||
builtin_define ("__LONG_DOUBLE_128__"); \
|
builtin_define ("__LONG_DOUBLE_128__"); \
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
/* Don't assume anything about the header files. */
|
|
||||||
#define NO_IMPLICIT_EXTERN_C
|
|
||||||
|
|
||||||
#undef MD_EXEC_PREFIX
|
|
||||||
#undef MD_STARTFILE_PREFIX
|
|
||||||
|
|
||||||
#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
|
#if TARGET_CPU_DEFAULT == TARGET_CPU_v9 \
|
||||||
|| TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc \
|
|| TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc \
|
||||||
|| TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3 \
|
|| TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3 \
|
||||||
|
@ -54,25 +45,10 @@ along with GCC; see the file COPYING3. If not see
|
||||||
+ MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128)
|
+ MASK_STACK_BIAS + MASK_APP_REGS + MASK_FPU + MASK_LONG_DOUBLE_128)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#undef ASM_CPU_DEFAULT_SPEC
|
/* This must be v9a not just v9 because by default we enable
|
||||||
#define ASM_CPU_DEFAULT_SPEC "-Av9a"
|
-mvis. */
|
||||||
|
#undef ASM_CPU64_DEFAULT_SPEC
|
||||||
/* Provide a STARTFILE_SPEC appropriate for GNU/Linux. Here we add
|
#define ASM_CPU64_DEFAULT_SPEC "-Av9a"
|
||||||
the GNU/Linux magical crtbegin.o file (see crtstuff.c) which
|
|
||||||
provides part of the support for getting C++ file-scope static
|
|
||||||
object constructed before entering `main'. */
|
|
||||||
|
|
||||||
#undef STARTFILE_SPEC
|
|
||||||
|
|
||||||
#ifdef HAVE_LD_PIE
|
|
||||||
#define STARTFILE_SPEC \
|
|
||||||
"%{!shared:%{pg|p:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}}\
|
|
||||||
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbeginS.o%s}"
|
|
||||||
#else
|
|
||||||
#define STARTFILE_SPEC \
|
|
||||||
"%{!shared:%{pg|p:gcrt1.o%s;:crt1.o%s}}\
|
|
||||||
crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbeginS.o%s}"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on
|
/* Provide a ENDFILE_SPEC appropriate for GNU/Linux. Here we tack on
|
||||||
the GNU/Linux magical crtend.o file (see crtstuff.c) which
|
the GNU/Linux magical crtend.o file (see crtstuff.c) which
|
||||||
|
@ -81,15 +57,10 @@ along with GCC; see the file COPYING3. If not see
|
||||||
GNU/Linux "finalizer" file, `crtn.o'. */
|
GNU/Linux "finalizer" file, `crtn.o'. */
|
||||||
|
|
||||||
#undef ENDFILE_SPEC
|
#undef ENDFILE_SPEC
|
||||||
|
|
||||||
#define ENDFILE_SPEC \
|
#define ENDFILE_SPEC \
|
||||||
"%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s\
|
"%{shared|pie:crtendS.o%s;:crtend.o%s} crtn.o%s\
|
||||||
%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
|
%{ffast-math|funsafe-math-optimizations:crtfastmath.o%s}"
|
||||||
|
|
||||||
/* The GNU C++ standard library requires that these macros be defined. */
|
|
||||||
#undef CPLUSPLUS_CPP_SPEC
|
|
||||||
#define CPLUSPLUS_CPP_SPEC "-D_GNU_SOURCE %(cpp)"
|
|
||||||
|
|
||||||
#undef TARGET_VERSION
|
#undef TARGET_VERSION
|
||||||
#define TARGET_VERSION fprintf (stderr, " (sparc64 GNU/Linux with ELF)");
|
#define TARGET_VERSION fprintf (stderr, " (sparc64 GNU/Linux with ELF)");
|
||||||
|
|
||||||
|
@ -122,12 +93,6 @@ along with GCC; see the file COPYING3. If not see
|
||||||
%{pthread:-D_REENTRANT} \
|
%{pthread:-D_REENTRANT} \
|
||||||
"
|
"
|
||||||
|
|
||||||
#undef LIB_SPEC
|
|
||||||
#define LIB_SPEC \
|
|
||||||
"%{pthread:-lpthread} \
|
|
||||||
%{shared:-lc} \
|
|
||||||
%{!shared: %{mieee-fp:-lieee} %{profile:-lc_p}%{!profile:-lc}}"
|
|
||||||
|
|
||||||
/* Provide a LINK_SPEC appropriate for GNU/Linux. Here we provide support
|
/* Provide a LINK_SPEC appropriate for GNU/Linux. Here we provide support
|
||||||
for the special GCC options -static and -shared, which allow us to
|
for the special GCC options -static and -shared, which allow us to
|
||||||
link things in one of these three modes by applying the appropriate
|
link things in one of these three modes by applying the appropriate
|
||||||
|
@ -146,17 +111,6 @@ along with GCC; see the file COPYING3. If not see
|
||||||
|
|
||||||
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
#define GLIBC_DYNAMIC_LINKER32 "/lib/ld-linux.so.2"
|
||||||
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
|
#define GLIBC_DYNAMIC_LINKER64 "/lib64/ld-linux.so.2"
|
||||||
#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
|
|
||||||
#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
|
|
||||||
#if UCLIBC_DEFAULT
|
|
||||||
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{mglibc:%{muclibc:%e-mglibc and -muclibc used together}" G ";:" U "}"
|
|
||||||
#else
|
|
||||||
#define CHOOSE_DYNAMIC_LINKER(G, U) "%{muclibc:%{mglibc:%e-mglibc and -muclibc used together}" U ";:" G "}"
|
|
||||||
#endif
|
|
||||||
#define LINUX_DYNAMIC_LINKER32 \
|
|
||||||
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER32, UCLIBC_DYNAMIC_LINKER32)
|
|
||||||
#define LINUX_DYNAMIC_LINKER64 \
|
|
||||||
CHOOSE_DYNAMIC_LINKER (GLIBC_DYNAMIC_LINKER64, UCLIBC_DYNAMIC_LINKER64)
|
|
||||||
|
|
||||||
#ifdef SPARC_BI_ARCH
|
#ifdef SPARC_BI_ARCH
|
||||||
|
|
||||||
|
@ -203,7 +157,7 @@ along with GCC; see the file COPYING3. If not see
|
||||||
|
|
||||||
#undef CC1_SPEC
|
#undef CC1_SPEC
|
||||||
#if DEFAULT_ARCH32_P
|
#if DEFAULT_ARCH32_P
|
||||||
#define CC1_SPEC "\
|
#define CC1_SPEC "%{profile:-p} \
|
||||||
%{sun4:} %{target:} \
|
%{sun4:} %{target:} \
|
||||||
%{mcypress:-mcpu=cypress} \
|
%{mcypress:-mcpu=cypress} \
|
||||||
%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
|
%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
|
||||||
|
@ -214,7 +168,7 @@ along with GCC; see the file COPYING3. If not see
|
||||||
%{!mno-vis:%{!mcpu=v9:-mvis}}} \
|
%{!mno-vis:%{!mcpu=v9:-mvis}}} \
|
||||||
"
|
"
|
||||||
#else
|
#else
|
||||||
#define CC1_SPEC "\
|
#define CC1_SPEC "%{profile:-p} \
|
||||||
%{sun4:} %{target:} \
|
%{sun4:} %{target:} \
|
||||||
%{mcypress:-mcpu=cypress} \
|
%{mcypress:-mcpu=cypress} \
|
||||||
%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
|
%{msparclite:-mcpu=sparclite} %{mf930:-mcpu=f930} %{mf934:-mcpu=f934} \
|
||||||
|
@ -324,10 +278,6 @@ do { \
|
||||||
|
|
||||||
#undef DITF_CONVERSION_LIBFUNCS
|
#undef DITF_CONVERSION_LIBFUNCS
|
||||||
#define DITF_CONVERSION_LIBFUNCS 1
|
#define DITF_CONVERSION_LIBFUNCS 1
|
||||||
|
|
||||||
#if defined(HAVE_LD_EH_FRAME_HDR)
|
|
||||||
#define LINK_EH_SPEC "%{!static:--eh-frame-hdr} "
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_AS_TLS
|
#ifdef HAVE_AS_TLS
|
||||||
#undef TARGET_SUN_TLS
|
#undef TARGET_SUN_TLS
|
||||||
|
@ -336,31 +286,10 @@ do { \
|
||||||
#define TARGET_GNU_TLS 1
|
#define TARGET_GNU_TLS 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Don't be different from other Linux platforms in this regard. */
|
|
||||||
#define HANDLE_PRAGMA_PACK_PUSH_POP
|
|
||||||
|
|
||||||
/* We use GNU ld so undefine this so that attribute((init_priority)) works. */
|
/* We use GNU ld so undefine this so that attribute((init_priority)) works. */
|
||||||
#undef CTORS_SECTION_ASM_OP
|
#undef CTORS_SECTION_ASM_OP
|
||||||
#undef DTORS_SECTION_ASM_OP
|
#undef DTORS_SECTION_ASM_OP
|
||||||
|
|
||||||
/* Determine whether the entire c99 runtime is present in the
|
|
||||||
runtime library. */
|
|
||||||
#define TARGET_C99_FUNCTIONS (OPTION_GLIBC)
|
|
||||||
|
|
||||||
/* Whether we have sincos that follows the GNU extension. */
|
|
||||||
#define TARGET_HAS_SINCOS (OPTION_GLIBC)
|
|
||||||
|
|
||||||
#define TARGET_POSIX_IO
|
|
||||||
|
|
||||||
#undef LINK_GCC_C_SEQUENCE_SPEC
|
|
||||||
#define LINK_GCC_C_SEQUENCE_SPEC \
|
|
||||||
"%{static:--start-group} %G %L %{static:--end-group}%{!static:%G}"
|
|
||||||
|
|
||||||
/* Use --as-needed -lgcc_s for eh support. */
|
|
||||||
#ifdef HAVE_LD_AS_NEEDED
|
|
||||||
#define USE_LD_AS_NEEDED 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define MD_UNWIND_SUPPORT "config/sparc/linux-unwind.h"
|
#define MD_UNWIND_SUPPORT "config/sparc/linux-unwind.h"
|
||||||
|
|
||||||
/* Linux currently uses RMO in uniprocessor mode, which is equivalent to
|
/* Linux currently uses RMO in uniprocessor mode, which is equivalent to
|
||||||
|
|
|
@ -1201,7 +1201,8 @@ powerpc-linux for powerpc64-linux, only generates 32-bit code. This
|
||||||
option enables the 32-bit target to be a bi-arch compiler, which is
|
option enables the 32-bit target to be a bi-arch compiler, which is
|
||||||
useful when you want a bi-arch compiler that defaults to 32-bit, and
|
useful when you want a bi-arch compiler that defaults to 32-bit, and
|
||||||
you are building a bi-arch or multi-arch binutils in a combined tree.
|
you are building a bi-arch or multi-arch binutils in a combined tree.
|
||||||
Currently, this option only affects powerpc-linux and x86-linux.
|
Currently, this option only affects sparc-linux, powerpc-linux and
|
||||||
|
x86-linux.
|
||||||
|
|
||||||
@item --enable-secureplt
|
@item --enable-secureplt
|
||||||
This option enables @option{-msecure-plt} by default for powerpc-linux.
|
This option enables @option{-msecure-plt} by default for powerpc-linux.
|
||||||
|
|
|
@ -8329,9 +8329,7 @@ case $target in
|
||||||
powerpc*-*-* | \
|
powerpc*-*-* | \
|
||||||
rs6000*-*-* | \
|
rs6000*-*-* | \
|
||||||
s390*-*-* | \
|
s390*-*-* | \
|
||||||
sparc64*-*-* | ultrasparc-*-freebsd* | \
|
sparc*-*-* | \
|
||||||
sparcv9-*-solaris2* | \
|
|
||||||
sparc-*-solaris2.[789] | sparc-*-solaris2.1[0-9]* | \
|
|
||||||
spu-*-* | \
|
spu-*-* | \
|
||||||
sh[123456789lbe]*-*-* | sh-*-*)
|
sh[123456789lbe]*-*-* | sh-*-*)
|
||||||
need_64bit_hwint=yes ;;
|
need_64bit_hwint=yes ;;
|
||||||
|
|
|
@ -126,9 +126,7 @@ case $target in
|
||||||
powerpc*-*-* | \
|
powerpc*-*-* | \
|
||||||
rs6000*-*-* | \
|
rs6000*-*-* | \
|
||||||
s390*-*-* | \
|
s390*-*-* | \
|
||||||
sparc64*-*-* | ultrasparc-*-freebsd* | \
|
sparc*-*-* | \
|
||||||
sparcv9-*-solaris2* | \
|
|
||||||
sparc-*-solaris2.[789] | sparc-*-solaris2.1[0-9]* | \
|
|
||||||
spu-*-* | \
|
spu-*-* | \
|
||||||
sh[123456789lbe]*-*-* | sh-*-*)
|
sh[123456789lbe]*-*-* | sh-*-*)
|
||||||
need_64bit_hwint=yes ;;
|
need_64bit_hwint=yes ;;
|
||||||
|
|
Loading…
Reference in New Issue