aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ"orn Rennecke <joern.rennecke@st.com>2006-03-10 16:07:29 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2006-03-10 16:07:29 +0000
commit8c1aaf261ba3d7306ae295fe06d5b25470e89f2e (patch)
treeda1af479bab73b775b87e67236bf605bafd47ccc
parent9a7ab578fb581fd0885c7841706876315b1bbc4b (diff)
downloadgcc-8c1aaf261ba3d7306ae295fe06d5b25470e89f2e.zip
gcc-8c1aaf261ba3d7306ae295fe06d5b25470e89f2e.tar.gz
gcc-8c1aaf261ba3d7306ae295fe06d5b25470e89f2e.tar.bz2
config.gcc (sh*-superh-elf, [...]): Use newlib.h when building with libgloss.
* 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. From-SVN: r111933
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config.gcc29
2 files changed, 35 insertions, 1 deletions
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 <joern.rennecke@st.com>
+ * 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 <joern.rennecke@st.com>
+
* struct-equiv.c (rtx_equiv_p): Fix POST_MODIFY case.
2006-03-09 Andrew Pinski <pinskia@physics.uc.edu>
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/`'\"'