summaryrefslogtreecommitdiff
path: root/gcc/config/s390/linux.h
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-30 19:47:22 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-30 19:47:22 +0000
commitb8c0043c7dc2199bf35c99ecf874cde086c2c3d5 (patch)
treed7081e2edcaaae25aaa2c0cdc2115d8f8931eae5 /gcc/config/s390/linux.h
parent53b2c31f6465e5c1c65a2e046b9673dcc72691cd (diff)
downloadgcc-b8c0043c7dc2199bf35c99ecf874cde086c2c3d5.tar.gz
* config.gcc [s390*-*-*]: Support --with-arch, --with-tune, and
--with-mode configure options. * config/s390/s390.h (OPTION_DEFAULT_SPECS): Define. (DRIVER_SELF_SPECS): Define. * config/s390/linux.h (ASM_SPEC): Pass architecture mode and cpu architecture to assembler. (LINK_SPEC): Merge 31-bit and 64-bit variants. (LINK_ARCH31_SPEC, LINK_ARCH64_SPEC, EXTRA_SPECS): Remove. * config/s390/s390.c (override_options): New default rules for architecture mode and cpu architecture selection. * doc/invoke.texi (-mesa, -mzarch, -march, -mtune): Document new default rules. * config/s390/s390.h (enum processor_type): Add PROCESSOR_2084_Z990. * config/s390/s390.md (attr "cpu"): Add "z990" processor type. * config/s390/s390.c (override_options): Add "z990" to processor_alias_table. * doc/invoke.texi (-march): Document "z990" processor type. * config/s390/s390.c (s390_tune_flags, s390_arch_flags): New variables. * config/s390/s390.h (s390_tune_flags, s390_arch_flags): Declare. (enum processor_flags, TARGET_CPU_IEEE_FLOAT, TARGET_CPU_ZARCH, TARGET_CPU_LONG_DISPLACEMENT, TARGET_LONG_DISPLACEMENT): New. * config/s390/s390.c (override_options): Replace enum pta_flags by enum processor_flags. Fill in s390_tune_flags and s390_arch_flags. * config/s390/s390.c (s390_cpu): Rename to ... (s390_tune): ... this. * config/s390/s390.h (s390_cpu, s390_tune): Likewise. * config/s390/s390.c (s390_issue_rate, override_options): Likewise. * config/s390/s390.md (attr "cpu"): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@68736 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/s390/linux.h')
-rw-r--r--gcc/config/s390/linux.h41
1 files changed, 7 insertions, 34 deletions
diff --git a/gcc/config/s390/linux.h b/gcc/config/s390/linux.h
index 83c8247e2f3..511ede559df 100644
--- a/gcc/config/s390/linux.h
+++ b/gcc/config/s390/linux.h
@@ -69,13 +69,8 @@ Boston, MA 02111-1307, USA. */
/* Target specific assembler settings. */
-#ifdef DEFAULT_TARGET_64BIT
-#undef ASM_SPEC
-#define ASM_SPEC "%{m31:-m31 -Aesa}"
-#else
#undef ASM_SPEC
-#define ASM_SPEC "%{m64:-m64 -Aesame}"
-#endif
+#define ASM_SPEC "%{m31&m64}%{mesa&mzarch}%{march=*}"
/* Target specific linker settings. */
@@ -86,40 +81,18 @@ Boston, MA 02111-1307, USA. */
#define MULTILIB_DEFAULTS { "m31" }
#endif
-#define LINK_ARCH31_SPEC \
- "-m elf_s390 \
- %{shared:-shared} \
- %{!shared: \
- %{static:-static} \
- %{!static: \
- %{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld.so.1}}}"
-
-#define LINK_ARCH64_SPEC \
- "-m elf64_s390 \
+#undef LINK_SPEC
+#define LINK_SPEC \
+ "%{m31:-m elf_s390}%{m64:-m elf64_s390} \
%{shared:-shared} \
%{!shared: \
%{static:-static} \
%{!static: \
%{rdynamic:-export-dynamic} \
- %{!dynamic-linker:-dynamic-linker /lib/ld64.so.1}}}"
-
-#ifdef DEFAULT_TARGET_64BIT
-#undef LINK_SPEC
-#define LINK_SPEC "%{m31:%(link_arch31)} %{!m31:%(link_arch64)}"
-#else
-#undef LINK_SPEC
-#define LINK_SPEC "%{m64:%(link_arch64)} %{!m64:%(link_arch31)}"
-#endif
-
-
-/* This macro defines names of additional specifications to put in the specs
- that can be used in various specifications like CC1_SPEC. Its definition
- is an initializer with a subgrouping for each command option. */
+ %{!dynamic-linker: \
+ %{m31:-dynamic-linker /lib/ld.so.1} \
+ %{m64:-dynamic-linker /lib/ld64.so.1}}}}"
-#define EXTRA_SPECS \
- { "link_arch31", LINK_ARCH31_SPEC }, \
- { "link_arch64", LINK_ARCH64_SPEC }, \
#define TARGET_ASM_FILE_END file_end_indicate_exec_stack