diff options
author | J"orn Rennecke <joern.rennecke@superh.com> | 2002-06-13 19:23:28 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2002-06-13 20:23:28 +0100 |
commit | 8bc6e1018593f8525674f79fac6a80d23cb25efb (patch) | |
tree | ac852537679adff99161af6ecade740d86547372 /gcc/config.gcc | |
parent | 93f7aeea7ac79573748c5f2632059aa6b50d74e2 (diff) | |
download | gcc-8bc6e1018593f8525674f79fac6a80d23cb25efb.zip gcc-8bc6e1018593f8525674f79fac6a80d23cb25efb.tar.gz gcc-8bc6e1018593f8525674f79fac6a80d23cb25efb.tar.bz2 |
Individual processor configurations for sh-elf / sh-linux:
gcc:
* config.gcc: Add support for sh[234]*-*-elf*, sh[2346lbe]*-*-linux*.
* config/sh/linux.h (TARGET_DEFAULT): Use TARGET_CPU_DEFAULT.
* sh.h (SELECT_SH1, SELECT_SH2, SELECT_SH3, SELECT_SH3E): New macros.
(SELECT_SH4_NOFPU, SELECT_SH4_SINGLE_ONLY, SELECT_SH4): Likewise.
(SELECT_SH4_SINGLE, SELECT_SH5_64, SELECT_SH5_64_NOFPU): Likewise.
(SELECT_SH5_32, SELECT_SH5_32_NOFPU, SELECT_SH5_COMPACT): Likewise.
(SELECT_SH5_COMPACT_NOFPU): Likewise.
(TARGET_SWITCHES): Use them.
(TARGET_CPU_DEFAULT): Define if not already defined.
(TARGET_DEFAULT): Use it.
(LINK_DEFAULT_CPU_EMUL): Value now depends on TARGET_CPU_DEFAULT.
* config/sh/t-linux (MULTILIB_OPTIONS): Use MULTILIB_ENDIAN.
* config/sh/t-monolib: New file.
bfd:
config.bfd: Add support for sh[1234]l*-*-elf* | sh3el*-*-elf*,
sh[1234]*-elf*.
ld:
* configure.tgt: Add support for sh[1234]*le*-*-elf, sh[1234]*-*-elf.
Still outstanding:
config.sub:
* config.sub: Add support for sh[12], sh3e, sh[1234]le, sh3ele,
shle, sh[1234]le, sh3ele, sh64le.
From-SVN: r54598
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r-- | gcc/config.gcc | 44 |
1 files changed, 40 insertions, 4 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc index 25cc1ac..38b7adc 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -2184,7 +2184,7 @@ s390x-*-linux*) thread_file='posix' fi ;; -sh-*-elf* | shl*-*-elf* | sh64*-*-elf*) +sh-*-elf* | sh[2346l]*-*-elf*) tmake_file="sh/t-sh sh/t-elf" case $machine in shl* | sh64l*) @@ -2204,6 +2204,14 @@ sh-*-elf* | shl*-*-elf* | sh64*-*-elf*) target_requires_64bit_host_wide_int=yes fi ;; + sh4_single*) target_cpu_default="SELECT_SH4_SINGLE" ;; + sh4*) target_cpu_default="SELECT_SH4" ;; + sh3e*) target_cpu_default="SELECT_SH3E" ;; + sh3*) target_cpu_default="SELECT_SH3" ;; + sh2*) target_cpu_default="SELECT_SH2" ;; + esac + case $machine in + sh[234]*) tmake_file="${tmake_file} sh/t-monolib" ;; esac ;; sh-*-rtemself*) @@ -2224,14 +2232,42 @@ sh-*-rtems*) thread_file='rtems' fi ;; -sh-*-linux*) - tm_file="sh/little.h ${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h" - tmake_file="sh/t-sh sh/t-elf sh/t-le sh/t-linux" +sh-*-linux* | sh[2346lbe]*-*-linux*) + tmake_file="sh/t-sh sh/t-elf sh/t-linux" + case $machine in + sh*be-*-* | sh*eb-*-*) ;; + *) + tm_file="sh/little.h ${tm_file}" + tmake_file="${tmake_file} sh/t-le" + ;; + esac + tm_file="${tm_file} dbxelf.h elfos.h svr4.h sh/elf.h sh/linux.h" gas=yes gnu_ld=yes if test x$enable_threads = xyes; then thread_file='posix' fi float_format=sh + case $machine in + sh64*) + tmake_file="${tmake_file} sh/t-sh64" + tm_file="${tm_file} sh/sh64.h" + extra_headers="shmedia.h ushmedia.h sshmedia.h" + # Not strictly necessary to check this, but a good idea anyway. + if test $machine = $target; then + target_requires_64bit_host_wide_int=yes + fi + ;; + sh4_single*) target_cpu_default="SELECT_SH4_SINGLE" ;; + sh4*) target_cpu_default="SELECT_SH4" ;; + sh3e[lb]e*) target_cpu_default="SELECT_SH3E" ;; + sh3e[lb]*) target_cpu_default="SELECT_SH3" ;; + sh3e*) target_cpu_default="SELECT_SH3E" ;; + sh3*) target_cpu_default="SELECT_SH3" ;; + sh2*) target_cpu_default="SELECT_SH2" ;; + esac + case $machine in + sh[234]*) tmake_file="${tmake_file} sh/t-monolib" ;; + esac ;; sh-*-netbsdelf* | shl*-*-netbsdelf* | sh5-*-netbsd* | sh5l*-*-netbsd* | \ sh64-*-netbsd* | sh64l*-*-netbsd*) |