From 65a1f1e95e79080373d5a6e99455bcac551182ec Mon Sep 17 00:00:00 2001 From: amylaar Date: Fri, 10 Mar 2006 16:07:29 +0000 Subject: [PATCH] * 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 --- gcc/ChangeLog | 7 +++++++ gcc/config.gcc | 29 ++++++++++++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bac513f..d1f4a0c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,12 @@ 2006-03-10 J"orn Rennecke + * 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. + +2006-03-10 J"orn Rennecke + * struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case. 2006-03-09 Andrew Pinski diff --git a/gcc/config.gcc b/gcc/config.gcc index e9d46c1..2255830 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/`'\"' -- 2.7.4