summaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authoramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-10 16:07:29 +0000
committeramylaar <amylaar@138bc75d-0d04-0410-961f-82ee72b054a4>2006-03-10 16:07:29 +0000
commit65a1f1e95e79080373d5a6e99455bcac551182ec (patch)
treeda1af479bab73b775b87e67236bf605bafd47ccc /gcc/config.gcc
parent626791f9b6f7b122502728abfd6de34d7beeb8d4 (diff)
downloadgcc-65a1f1e95e79080373d5a6e99455bcac551182ec.tar.gz
* config.gcc (sh*-superh-elf, sh*elf (newlib)): Use newlib.h
when building with libgloss. (sh*elf): Implement --without-fp option. (sh64-superh-linux*): Don't multilib. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111933 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc29
1 files changed, 28 insertions, 1 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index e9d46c1a027..2255830ab4d 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1940,7 +1940,16 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
sh*-*-kaos*) tm_file="${tm_file} sh/embed-elf.h kaos.h sh/kaos-sh.h"
;;
sh*-*-netbsd*) tm_file="${tm_file} netbsd.h netbsd-elf.h sh/netbsd-elf.h" ;;
- *) tm_file="${tm_file} sh/embed-elf.h" ;;
+ sh*-superh-elf) if test x$with_libgloss != xno; then
+ with_libgloss=yes
+ tm_file="${tm_file} sh/newlib.h"
+ fi
+ tm_file="${tm_file} sh/embed-elf.h" ;;
+ *) if test x$with_newlib = xyes \
+ && test x$with_libgloss = xyes; then
+ tm_file="${tm_file} sh/newlib.h"
+ fi
+ tm_file="${tm_file} sh/embed-elf.h" ;;
esac
case ${target} in
sh5*-*-netbsd*)
@@ -1994,6 +2003,20 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
sh2*) sh_cpu_target=sh2 ;;
*) sh_cpu_target=sh1 ;;
esac
+ # did the user say --without-fp ?
+ if test x$with_fp = xno; then
+ case ${sh_cpu_target} in
+ sh5-*media) sh_cpu_target=${sh_cpu_target}-nofpu ;;
+ sh4al | sh1) ;;
+ sh4a* ) sh_cpu_target=sh4a-nofpu ;;
+ sh4*) sh_cpu_target=sh4-nofpu ;;
+ sh3*) sh_cpu_target=sh3 ;;
+ sh2a*) sh_cpu_target=sh2a-nofpu ;;
+ sh2*) sh_cpu_target=sh2 ;;
+ *) echo --without-fp not available for $target: ignored
+ esac
+ tm_defines="$tm_defines STRICT_NOFPU=1"
+ fi
sh_cpu_default="`echo $with_cpu|sed s/^m/sh/|tr A-Z_ a-z-`"
case $sh_cpu_default in
sh5-64media-nofpu | sh5-64media | \
@@ -2008,6 +2031,7 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
sh_multilibs=${with_multilib_list}
if test x${sh_multilibs} = x ; then
case ${target} in
+ sh64-superh-linux* | \
sh[1234]*) sh_multilibs=${sh_cpu_target} ;;
sh64* | sh5*) sh_multilibs=m5-32media,m5-32media-nofpu,m5-compact,m5-compact-nofpu,m5-64media,m5-64media-nofpu ;;
sh-superh-*) sh_multilibs=m4,m4-single,m4-single-only,m4-nofpu ;;
@@ -2015,6 +2039,9 @@ sh-*-symbianelf* | sh[12346l]*-*-symbianelf* | \
sh*-*-netbsd*) sh_multilibs=m3,m3e,m4 ;;
*) sh_multilibs=m1,m2,m2e,m4,m4-single,m4-single-only,m2a,m2a-single ;;
esac
+ if test x$with_fp = xno; then
+ sh_multilibs="`echo $sh_multilibs|sed -e s/m4/sh4-nofpu/ -e s/,m4-[^,]*//g -e s/,m[23]e// -e s/m2a,m2a-single/m2a-nofpu/ -e s/m5-..m....,//g`"
+ fi
fi
target_cpu_default=SELECT_`echo ${sh_cpu_default}|tr a-z- A-Z_`
tm_defines=${tm_defines}' SH_MULTILIB_CPU_DEFAULT=\"'`echo $sh_cpu_default|sed s/sh/m/`'\"'