diff options
author | Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> | 2011-06-21 08:53:06 +0000 |
---|---|---|
committer | Rainer Orth <ro@gcc.gnu.org> | 2011-06-21 08:53:06 +0000 |
commit | 7ecfa34f84cdb9ed7f9063089a567968b6031dda (patch) | |
tree | 54e754d7718349903f64502e7344f614091edde2 /gcc/config.gcc | |
parent | 1795c28e175fbdf2a23d8bf0293f95794c7167bd (diff) | |
download | gcc-7ecfa34f84cdb9ed7f9063089a567968b6031dda.zip gcc-7ecfa34f84cdb9ed7f9063089a567968b6031dda.tar.gz gcc-7ecfa34f84cdb9ed7f9063089a567968b6031dda.tar.bz2 |
usegld.h: New file.
* config/usegld.h: New file.
* config/sol2.h (PREFERRED_DEBUGGING_TYPE): Remove.
(CPP_SUBTARGET_SPEC): Remove -compat-bsd support.
(LIB_SPEC): Likewise.
Search /lib.
(LINK_ARCH32_SPEC_BASE): Remove -compat-bsd support.
(RDYNAMIC_SPEC): Handle GNU ld.
[HAVE_LD_EH_FRAME_HDR && TARGET_DL_ITERATE_PHDR] (LINK_EH_SPEC): Define.
(SUPPORTS_INIT_PRIORITY): Only disable for Sun ld.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Define.
[!USE_GAS] (NO_DBX_BNSYM_ENSYM): Redefine.
(STACK_CHECK_STATIC_BUILTIN): Define.
* config/sol2.opt (compat-bsd): Remove.
* config/sol2-10.h (TARGET_C99_FUNCTIONS): Remove undef.
* config/sol2-bi.h: New file.
* config/sol2-gld.h: Remove.
* config/i386/sol2.h (TLS_COMMON_ASM_OP): Only define if !USE_GAS.
(NO_DBX_BNSYM_ENSYM): Remove.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
(STACK_CHECK_STATIC_BUILTIN): Remove.
Test USE_GLD instead of TARGET_GNU_LD.
* config/i386/sol2-10.h: Rename to ...
* config/i386/sol2-bi.h .. this.
(SUBTARGET_EXTRA_SPECS): Redefine.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Remove.
(MULTILIB_DEFAULTS): Remove.
(DEFAULT_ARCH32_P): Define.
(LINK_ARCH64_SPEC_BASE, LINK_ARCH64_SPEC): Remove.
(ARCH64_SUBDIR): Define.
Test USE_GLD instead of TARGET_GNU_LD.
(I386_EMULATION): Rename to ...
(ARCH32_EMULATION): ... this.
(X86_64_EMULATION): Rename to ...
(ARCH64_EMULATION): ... this.
(TARGET_LD_EMULATION): Remove.
(LINK_ARCH_SPEC): Remove.
* config/i386/sol2-gas.h: Remove.
* config/i386/t-sol2-10: Rename to ...
* config/i386/t-sol2-64: ... this.
* config/sparc/sol2.h (SPARC_DEFAULT_CMODEL): Redefine.
(AS_SPARC64_FLAG): Define.
(ASM_CPU32_DEFAULT_SPEC, ASM_CPU64_DEFAULT_SPEC): Redefine.
(CPP_CPU64_DEFAULT_SPEC, ASM_CPU32_DEFAULT_SPEC): Redefine
depending on TARGET_CPU_DEFAULT.
(CPP_CPU_SPEC): Redefine.
(ASM_CPU_SPEC): Handle DEFAULT_ARCH32_P.
(CPP_CPU_DEFAULT_SPEC, ASM_CPU_DEFAULT_SPEC): Redefine.
(CPP_ARCH32_SPEC, CPP_ARCH64_SPEC, CPP_ARCH_SPEC): Redefine.
(ASM_ARCH_SPEC, ASM_ARCH32_SPEC, ASM_ARCH64_SPEC,
ASM_ARCH_DEFAULT_SPEC): Redefine.
(SUBTARGET_EXTRA_SPECS): Add LINK_ARCH32_SPEC, LINK_ARCH64_SPEC,
LINK_ARCH_DEFAULT_SPEC.
[USE_GLD] (ARCH32_EMULATION, ARCH64_EMULATION): Define.
[USE_GLD] (LINK_ARCH32_SPEC, LINK_ARCH64_SPEC): Redefine.
(ARCH64_SUBDIR): Define.
(LINK_ARCH64_SPEC): Redefine.
(CC1_SPEC): Redefine.
(OPTION_DEFAULT_SPECS): Redefine.
(MULTILIB_DEFAULTS): Define.
(WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE, WINT_TYPE_SIZE): Redefine.
[USE_GAS && HAVE_AS_TLS] (TARGET_SUN_TLS, TARGET_GNU_TLS): Redefine.
[USE_GLD] (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Undef.
(NO_DBX_BNSYM_ENSYM): Remove.
(SUBTARGET_INSERT_ATTRIBUTES, SUBTARGET_ATTRIBUTE_TABLE): Remove.
(ASM_OUTPUT_ALIGN_WITH_NOP): Only define if !USE_GAS.
(TARGET_ASM_NAMED_SECTION): Likewise.
(STACK_CHECK_STATIC_BUILTIN): Remove.
* config/sparc/sol2-bi.h: Remove.
* config/sparc/sol2-gas-bi.h: Remove.
* config/sparc/sol2-gas.h: Remove.
* config/sparc/sol2-gld-bi.h: Remove.
* config.gcc (i[34567]86-*-solaris2*, sparc*-*-solaris2*): Move
common parts ...
(*-*-solaris2*): ... here.
From-SVN: r175245
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 101 |
1 files changed, 33 insertions, 68 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 2cf92d2..11714aa 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -686,7 +686,35 @@ case ${target} in tm_defines="$tm_defines DEFAULT_LIBC=LIBC_UCLIBC SINGLE_LIBC" ;; *-*-solaris2*) + # i?86-*-solaris2* needs to insert headers between cpu default and + # Solaris 2 specific ones. + sol2_tm_file="dbxelf.h elfos.h ${cpu_type}/sysv4.h sol2.h ${cpu_type}/sol2.h" + case ${target} in + *-*-solaris2.1[0-9]*) + sol2_tm_file="${sol2_tm_file} sol2-10.h" + use_gcc_stdint=wrap + ;; + *) + use_gcc_stdint=provide + ;; + esac + if test x$gnu_ld = xyes; then + tm_file="usegld.h ${tm_file}" + fi + if test x$gas = xyes; then + tm_file="usegas.h ${tm_file}" + fi + tm_p_file="${tm_p_file} sol2-protos.h" + tmake_file="${tmake_file} t-sol2 t-slibgcc-dummy" + c_target_objs="${c_target_objs} sol2-c.o" + cxx_target_objs="${cxx_target_objs} sol2-c.o" + extra_objs="sol2.o" extra_options="${extra_options} sol2.opt" + case ${enable_threads}:${have_pthread_h}:${have_thread_h} in + "":yes:* | yes:yes:* ) + thread_file=posix + ;; + esac ;; *-*-*vms*) extra_options="${extra_options} vms/vms.opt" @@ -1335,7 +1363,7 @@ i[34567]86-*-rtems*) tmake_file="${tmake_file} i386/t-rtems t-rtems" ;; i[34567]86-*-solaris2*) - tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h i386/sysv4.h sol2.h" + tm_file="${tm_file} i386/unix.h i386/att.h ${sol2_tm_file}" # Set default arch_32 to pentium4, tune_32 to generic like the other # i386 targets, although config.guess defaults to i386-pc-solaris2*. case ${target} in @@ -1351,36 +1379,11 @@ i[34567]86-*-solaris2*) with_tune_32=${with_tune_32:-generic} case ${target} in *-*-solaris2.1[0-9]*) - tm_file="${tm_file} sol2-10.h" - ;; - esac - tm_file="${tm_file} i386/sol2.h" - if test x$gnu_ld = xyes; then - tm_file="${tm_file} sol2-gld.h" - fi - if test x$gas = xyes; then - tm_file="${tm_file} i386/sol2-gas.h" - fi - tmake_file="${tmake_file} t-sol2 t-slibgcc-dummy" - c_target_objs="${c_target_objs} sol2-c.o" - cxx_target_objs="${cxx_target_objs} sol2-c.o" - extra_objs="sol2.o" - tm_p_file="${tm_p_file} sol2-protos.h" - if test x$gnu_ld = xyes; then - tm_defines="${tm_defines} TARGET_GNU_LD=1" - fi - if test x$gas = xyes; then - tm_file="usegas.h ${tm_file}" - fi - tm_file="$tm_file tm-dwarf2.h" - case ${target} in - *-*-solaris2.1[0-9]*) - tm_file="${tm_file} i386/x86-64.h i386/sol2-10.h" + tm_file="${tm_file} i386/x86-64.h i386/sol2-bi.h sol2-bi.h" tm_defines="${tm_defines} TARGET_BI_ARCH=1" - tmake_file="$tmake_file i386/t-sol2-10" + tmake_file="$tmake_file i386/t-sol2-64" need_64bit_hwint=yes need_64bit_isa=yes - use_gcc_stdint=wrap case X"${with_cpu}" in Xgeneric|Xatom|Xcore2|Xcorei7|Xcorei7-avx|Xnocona|Xx86-64|Xbdver1|Xbtver1|Xamdfam10|Xbarcelona|Xk8|Xopteron|Xathlon64|Xathlon-fx|Xathlon64-sse3|Xk8-sse3|Xopteron-sse3) ;; @@ -1396,14 +1399,6 @@ i[34567]86-*-solaris2*) ;; esac ;; - *) - use_gcc_stdint=provide - ;; - esac - case ${enable_threads}:${have_pthread_h}:${have_thread_h} in - "":yes:* | yes:yes:* ) - thread_file=posix - ;; esac ;; i[4567]86-wrs-vxworks|i[4567]86-wrs-vxworksae) @@ -2479,17 +2474,7 @@ sparc-*-netbsdelf*) extra_options="${extra_options} sparc/long-double-switch.opt" ;; sparc*-*-solaris2*) - tm_file="sparc/biarch64.h ${tm_file} dbxelf.h elfos.h sparc/sysv4.h sol2.h" - case ${target} in - *-*-solaris2.1[0-9]*) - tm_file="${tm_file} sol2-10.h" - use_gcc_stdint=wrap - ;; - *) - use_gcc_stdint=provide - ;; - esac - tm_file="${tm_file} sparc/sol2.h" + tm_file="sparc/biarch64.h ${tm_file} ${sol2_tm_file} sol2-bi.h" case ${target} in sparc64-*-* | sparcv9-*-*) tm_file="${tm_file} sparc/sol2-64.h" @@ -2498,27 +2483,7 @@ sparc*-*-solaris2*) test x$with_cpu != x || with_cpu=v9 ;; esac - tm_file="${tm_file} sparc/sol2-bi.h" - if test x$gas = xyes; then - tm_file="${tm_file} sparc/sol2-gas.h sparc/sol2-gas-bi.h" - fi - if test x$gnu_ld = xyes; then - tm_file="${tm_file} sol2-gld.h sparc/sol2-gld-bi.h" - fi - tm_file="${tm_file} tm-dwarf2.h" - tmake_file="t-sol2 t-slibgcc-dummy sparc/t-sol2-64" - if test x$gas = xyes; then - tm_file="usegas.h ${tm_file}" - fi - c_target_objs="sol2-c.o" - cxx_target_objs="sol2-c.o" - extra_objs="sol2.o" - tm_p_file="${tm_p_file} sol2-protos.h" - case ${enable_threads}:${have_pthread_h}:${have_thread_h} in - "":yes:* | yes:yes:* ) - thread_file=posix - ;; - esac + tmake_file="${tmake_file} sparc/t-sol2-64" ;; sparc-wrs-vxworks) tm_file="${tm_file} elfos.h sparc/sysv4.h vx-common.h vxworks.h sparc/vxworks.h" |