aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2003-04-09 15:14:23 +0000
committerNick Clifton <nickc@gcc.gnu.org>2003-04-09 15:14:23 +0000
commit66d6bf1fcc3d18137df6a61d6152a6e0fd3891db (patch)
tree2e5a2326a5e9b0709de6d5974928e80cb8b88d94 /gcc
parent988bb94bb5e6f7c323bb7a40ee79bb11d9afd29e (diff)
downloadgcc-66d6bf1fcc3d18137df6a61d6152a6e0fd3891db.zip
gcc-66d6bf1fcc3d18137df6a61d6152a6e0fd3891db.tar.gz
gcc-66d6bf1fcc3d18137df6a61d6152a6e0fd3891db.tar.bz2
install.texi: Note that ARM toolchains need binutils 2.13 or newer.
* doc/install.texi: Note that ARM toolchains need binutils 2.13 or newer. * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa instead of -mno-fpu. * config/arm/semi.h (ASM_SPEC): Likewise. * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise, but only if -msoft-float is specified pass. Otherwise pass -mfpu=softvfp. From-SVN: r65398
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog11
-rw-r--r--gcc/config/arm/elf.h2
-rw-r--r--gcc/config/arm/semi.h2
-rw-r--r--gcc/config/arm/xscale-elf.h25
-rw-r--r--gcc/doc/install.texi8
5 files changed, 44 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5f9e694..8ab168c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,14 @@
+2003-04-09 Nick Clifton <nickc@redhat.com>
+
+ * doc/install.texi: Note that ARM toolchains need binutils 2.13 or
+ newer.
+ * config/arm/elf.h (SUBTARGET_ASM_FLOAT_SPEC): Pass -mfpu=softfpa
+ instead of -mno-fpu.
+ * config/arm/semi.h (ASM_SPEC): Likewise.
+ * config/arm/xscale-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise,
+ but only if -msoft-float is specified pass. Otherwise pass
+ -mfpu=softvfp.
+
2003-04-09 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
* function.c (purge_addressof): Use free_INSN_LIST_node instead of
diff --git a/gcc/config/arm/elf.h b/gcc/config/arm/elf.h
index cc00bab..c8fd842 100644
--- a/gcc/config/arm/elf.h
+++ b/gcc/config/arm/elf.h
@@ -46,7 +46,7 @@
#ifndef SUBTARGET_ASM_FLOAT_SPEC
#define SUBTARGET_ASM_FLOAT_SPEC "\
-%{mapcs-float:-mfloat} %{msoft-float:-mno-fpu}"
+%{mapcs-float:-mfloat} %{msoft-float:-mfpu=softfpa}"
#endif
#ifndef ASM_SPEC
diff --git a/gcc/config/arm/semi.h b/gcc/config/arm/semi.h
index 68fd835..a7addee 100644
--- a/gcc/config/arm/semi.h
+++ b/gcc/config/arm/semi.h
@@ -64,7 +64,7 @@
%{mcpu=*:-mcpu=%*} \
%{march=*:-march=%*} \
%{mapcs-float:-mfloat} \
-%{msoft-float:-mno-fpu} \
+%{msoft-float:-mfpu=softfpa} \
%{mthumb-interwork:-mthumb-interwork} \
%(subtarget_extra_asm_spec)"
#endif
diff --git a/gcc/config/arm/xscale-elf.h b/gcc/config/arm/xscale-elf.h
index d975677..ffa29e2 100644
--- a/gcc/config/arm/xscale-elf.h
+++ b/gcc/config/arm/xscale-elf.h
@@ -28,7 +28,30 @@
#define SUBTARGET_CPU_DEFAULT TARGET_CPU_xscale
#endif
-#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} %{!mhard-float:-mno-fpu}"
+/* Note - there are three possible -mfpu= arguments that can be passed to
+ the assembler:
+
+ -mfpu=softvfp This is the default. It indicates thats doubles are
+ stored in a format compatable with the VFP
+ specification. This is the newer double format, whereby
+ the endian-ness of the doubles matches the endian-ness
+ of the memory architecture.
+
+ -mfpu=fpa This is when -mhard-float is specified.
+ [It is not known if any XScale's have been made with
+ hardware floating point support, but nevertheless this
+ is what happens].
+
+ -mfpu=softfpa This is when -msoft-float is specified.
+ This is the normal beahviour of other arm configurations,
+ which for backwards compatability purposes default to
+ supporting the old FPA format which was always big
+ endian, regardless of the endian-ness of the memory
+ system. */
+
+#define SUBTARGET_EXTRA_ASM_SPEC "%{!mcpu=*:-mcpu=xscale} \
+ %{mhard-float:-mfpu=fpa} \
+ %{!mhard-float: %{msoft-float:-mfpu=softfpa;:-mfpu=softvfp}}"
#ifndef MULTILIB_DEFAULTS
#define MULTILIB_DEFAULTS \
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index f14581b..e78979b 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1918,13 +1918,19 @@ configuration.
@end html
@heading @anchor{arm-*-elf}arm-*-elf
This configuration is intended for embedded systems.
+We require GNU binutils 2.13 or newer.
@html
<hr />
@end html
@heading @anchor{arm*-*-linux-gnu}arm*-*-linux-gnu
+We require GNU binutils 2.13 or newer.
-We require GNU binutils 2.10 or newer.
+@html
+<hr />
+@end html
+@heading @anchor{xscale-*-elf}xscale-*-elf
+We require GNU binutils 2.13 or newer.
@html
<hr />