diff options
author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-30 19:47:22 +0000 |
---|---|---|
committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-30 19:47:22 +0000 |
commit | b8c0043c7dc2199bf35c99ecf874cde086c2c3d5 (patch) | |
tree | d7081e2edcaaae25aaa2c0cdc2115d8f8931eae5 /gcc/config/s390/linux.h | |
parent | 53b2c31f6465e5c1c65a2e046b9673dcc72691cd (diff) | |
download | gcc-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.h | 41 |
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 |