diff options
author | David S. Miller <davem@davemloft.net> | 2008-05-04 11:25:04 +0000 |
---|---|---|
committer | David S. Miller <davem@gcc.gnu.org> | 2008-05-04 04:25:04 -0700 |
commit | 5f7ca34bf522bcfaac6978ffa31e75158995c468 (patch) | |
tree | 77825252122b1baace646c37e71adb238ad09dfc /gcc/config/sparc/linux.h | |
parent | 9e6dca75944c1d711ef62e4d7d2befa9179e166b (diff) | |
download | gcc-5f7ca34bf522bcfaac6978ffa31e75158995c468.zip gcc-5f7ca34bf522bcfaac6978ffa31e75158995c468.tar.gz gcc-5f7ca34bf522bcfaac6978ffa31e75158995c468.tar.bz2 |
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
Diffstat (limited to 'gcc/config/sparc/linux.h')
-rw-r--r-- | gcc/config/sparc/linux.h | 77 |
1 files changed, 3 insertions, 74 deletions
diff --git a/gcc/config/sparc/linux.h b/gcc/config/sparc/linux.h index bd3b1f5..67b6412 100644 --- a/gcc/config/sparc/linux.h +++ b/gcc/config/sparc/linux.h @@ -22,39 +22,12 @@ along with GCC; see the file COPYING3. If not see #define TARGET_OS_CPP_BUILTINS() \ do \ { \ - builtin_define_std ("unix"); \ - builtin_define_std ("linux"); \ - builtin_define ("__gnu_linux__"); \ - builtin_assert ("system=linux"); \ - builtin_assert ("system=unix"); \ - builtin_assert ("system=posix"); \ + LINUX_TARGET_OS_CPP_BUILTINS(); \ if (TARGET_LONG_DOUBLE_128) \ builtin_define ("__LONG_DOUBLE_128__"); \ } \ 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 the GNU/Linux magical crtend.o file (see crtstuff.c) which 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 #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. */ #undef CC1_SPEC @@ -75,10 +48,6 @@ along with GCC; see the file COPYING3. If not see %{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 #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 \ "%{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 for the special GCC options -static and -shared, which allow us to 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. */ #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 #define LINK_SPEC "-m elf32_sparc -Y P,/usr/lib %{shared:-shared} \ @@ -191,10 +145,6 @@ do { \ #undef DITF_CONVERSION_LIBFUNCS #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 #undef TARGET_SUN_TLS @@ -203,31 +153,10 @@ do { \ #define TARGET_GNU_TLS 1 #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. */ #undef CTORS_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" /* Linux currently uses RMO in uniprocessor mode, which is equivalent to |