From 66d6bf1fcc3d18137df6a61d6152a6e0fd3891db Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Wed, 9 Apr 2003 15:14:23 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 11 +++++++++++ gcc/config/arm/elf.h | 2 +- gcc/config/arm/semi.h | 2 +- gcc/config/arm/xscale-elf.h | 25 ++++++++++++++++++++++++- gcc/doc/install.texi | 8 +++++++- 5 files changed, 44 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5f9e6943b99..8ab168ce101 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2003-04-09 Nick Clifton + + * 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 * 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 cc00bab31b5..c8fd8421350 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 68fd835937e..a7addee574e 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 d975677caf2..ffa29e22043 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 f14581b96fb..e78979baa0c 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
@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 +
+@end html +@heading @anchor{xscale-*-elf}xscale-*-elf +We require GNU binutils 2.13 or newer. @html
-- 2.30.2