diff options
author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-04-30 14:10:44 +0000 |
---|---|---|
committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2014-04-30 14:10:44 +0000 |
commit | fc99725b5d064bb3d49bbd47c014ed1d0cfb160a (patch) | |
tree | e993c7a0834ed9227be305f1d1ce69dab71d8321 /gcc/config/sparc | |
parent | 9e291c2595f80f2f11722afac49020213590adc1 (diff) | |
download | gcc-fc99725b5d064bb3d49bbd47c014ed1d0cfb160a.tar.gz |
Simplify Solaris 2 configuration
* config/sol2-10.h (TARGET_LIBC_HAS_FUNCTION): Move ...
* config/sol2.h: ... here.
* config/sol2-10.h: Remove.
* config/sol2-bi.h (WCHAR_TYPE, WCHAR_TYPE_SIZE, WINT_TYPE)
(WINT_TYPE_SIZE, MULTILIB_DEFAULTS, DEF_ARCH32_SPEC)
(DEF_ARCH64_SPEC, ASM_CPU_DEFAULT_SPEC, LINK_ARCH64_SPEC_BASE)
(LINK_ARCH64_SPEC, ARCH_DEFAULT_EMULATION, TARGET_LD_EMULATION)
(LINK_ARCH_SPEC, SUBTARGET_EXTRA_SPECS): Move ...
* config/sol2.h: ... here.
(SECTION_NAME_FORMAT): Don't redefine.
(STARTFILE_ARCH32_SPEC): Rename to ...
(STARTFILE_ARCH_SPEC): ... this.
(ASM_OUTPUT_ALIGNED_COMMON): Move ...
* config/sparc/sol2.h: ... here.
(SECTION_NAME_FORMAT): Don't undef.
* config/i386/sol2.h (ASM_CPU_DEFAULT_SPEC)
(SUBTARGET_EXTRA_SPECS): Remove.
* config/sparc/sol2.h (ASM_CPU_DEFAULT_SPEC): Remove.
* config/i386/sol2-bi.h (TARGET_SUBTARGET_DEFAULT)
(MD_STARTFILE_PREFIX): Remove.
(SUBTARGET_OPTIMIZATION_OPTIONS, ASM_CPU32_DEFAULT_SPEC)
(ASM_CPU64_DEFAULT_SPEC, ASM_CPU_SPEC, ASM_SPEC, DEFAULT_ARCH32_P)
(ARCH64_SUBDIR, ARCH32_EMULATION, ARCH64_EMULATION)
(ASM_COMMENT_START, JUMP_TABLES_IN_TEXT_SECTION)
(ASM_OUTPUT_DWARF_PCREL, ASM_OUTPUT_ALIGNED_COMMON)
(USE_IX86_FRAME_POINTER, USE_X86_64_FRAME_POINTER): Move ...
* config/i386/sol2.h: ... here.
(TARGET_SUBTARGET_DEFAULT, SIZE_TYPE, PTRDIFF_TYPE): Remove.
* config/i386/sol2-bi.h: Remove.
* config/sol2.h (MD_STARTFILE_PREFIX): Remove.
(LINK_ARCH32_SPEC_BASE): Remove /usr/ccs/lib/libp, /usr/ccs/lib.
* config/i386/t-sol2-64: Rename to ...
* config/i386/t-sol2: ... this.
* config/sparc/t-sol2-64: Rename to ...
* config/sparc/t-sol2: ... this.
* config.gcc (*-*-solaris2*): Split sol2_tm_file into
sol2_tm_file_head, sol2_tm_file_tail.
Include ${cpu_type}/sol2.h before sol2.h.
Remove sol2-10.h.
(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Include
i386/x86-64.h between sol2_tm_file_head and sol2_tm_file_tail.
Remove i386/sol2-bi.h, sol2-bi.h from tm_file.
Reflect i386/t-sol2-64 renaming.
(sparc*-*-solaris2*): Remove sol2-bi.h from tm_file.
Reflect sparc/t-sol2-64 renaming.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@209931 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sparc')
-rw-r--r-- | gcc/config/sparc/sol2.h | 32 | ||||
-rw-r--r-- | gcc/config/sparc/t-sol2 (renamed from gcc/config/sparc/t-sol2-64) | 0 |
2 files changed, 17 insertions, 15 deletions
diff --git a/gcc/config/sparc/sol2.h b/gcc/config/sparc/sol2.h index b50a937b26f..2fcdc85c81f 100644 --- a/gcc/config/sparc/sol2.h +++ b/gcc/config/sparc/sol2.h @@ -109,8 +109,6 @@ along with GCC; see the file COPYING3. If not see #define CPP_CPU64_DEFAULT_SPEC "" #undef ASM_CPU32_DEFAULT_SPEC #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plus" -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #endif #if TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc @@ -120,8 +118,6 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusa" #undef ASM_CPU64_DEFAULT_SPEC #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9a" -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #endif #if TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3 @@ -131,8 +127,6 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusb" #undef ASM_CPU64_DEFAULT_SPEC #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9b" -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #endif #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara @@ -142,8 +136,6 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusb" #undef ASM_CPU64_DEFAULT_SPEC #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9b" -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #endif #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara2 @@ -153,8 +145,6 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plusb" #undef ASM_CPU64_DEFAULT_SPEC #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9b" -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #endif #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara3 @@ -164,8 +154,6 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU32_DEFAULT_SPEC "-xarch=v8plus" AS_NIAGARA3_FLAG #undef ASM_CPU64_DEFAULT_SPEC #define ASM_CPU64_DEFAULT_SPEC "-xarch=v9" AS_NIAGARA3_FLAG -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #endif #if TARGET_CPU_DEFAULT == TARGET_CPU_niagara4 @@ -175,8 +163,6 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU32_DEFAULT_SPEC AS_SPARC32_FLAG AS_NIAGARA4_FLAG #undef ASM_CPU64_DEFAULT_SPEC #define ASM_CPU64_DEFAULT_SPEC AS_SPARC64_FLAG AS_NIAGARA4_FLAG -#undef ASM_CPU_DEFAULT_SPEC -#define ASM_CPU_DEFAULT_SPEC ASM_CPU32_DEFAULT_SPEC #endif #undef CPP_CPU_SPEC @@ -361,6 +347,23 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); } \ while (0) +/* Solaris as has a bug: a .common directive in .tbss or .tdata section + behaves as .tls_common rather than normal non-TLS .common. */ +#undef ASM_OUTPUT_ALIGNED_COMMON +#define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN) \ + do \ + { \ + if (TARGET_SUN_TLS \ + && in_section \ + && ((in_section->common.flags & SECTION_TLS) == SECTION_TLS)) \ + switch_to_section (bss_section); \ + fprintf ((FILE), "%s", COMMON_ASM_OP); \ + assemble_name ((FILE), (NAME)); \ + fprintf ((FILE), ","HOST_WIDE_INT_PRINT_UNSIGNED",%u\n", \ + (SIZE), (ALIGN) / BITS_PER_UNIT); \ + } \ + while (0) + #ifndef USE_GAS /* This is how to output an assembler line that says to advance the location counter to a multiple of 2**LOG bytes using the @@ -376,7 +379,6 @@ extern const char *host_detect_local_cpu (int argc, const char **argv); /* Sun as requires doublequoted section names on SPARC. While GNU as supports that, too, we prefer the standard variant. */ -#undef SECTION_NAME_FORMAT #define SECTION_NAME_FORMAT "\"%s\"" #endif /* !USE_GAS */ diff --git a/gcc/config/sparc/t-sol2-64 b/gcc/config/sparc/t-sol2 index ec7e4eba6fd..ec7e4eba6fd 100644 --- a/gcc/config/sparc/t-sol2-64 +++ b/gcc/config/sparc/t-sol2 |