Message ID | 20220817083512.53915-1-christophe.lyon@arm.com |
---|---|
State | New |
Headers | show |
Series | arm: Define with_float to hard when target name ends with hf | expand |
On 17/08/2022 09:35, Christophe Lyon via Gcc-patches wrote: > On arm, the --with-float= configure option is used to define include > files search path (among other things). However, when targeting > arm-linux-gnueabihf, one would expect to automatically default to the > hard-float ABI, but this is not the case. As a consequence, GCC > bootstrap fails on an arm-linux-gnueabihf target if --with-float=hard > is not used. > > This patch checks if the target name ends with 'hf' and defines > with_float to hard if not already defined. This is achieved in > gcc/config.gcc, just before selecting the default CPU depending on the > $with_float value. > > 2022-08-17 Christophe Lyon <christophe.lyon@arm.com> > > gcc/ > * config.gcc (arm): Define with_float to hard if target name ends > with 'hf'. > --- > gcc/config.gcc | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/gcc/config.gcc b/gcc/config.gcc > index 4e3b15bb5e9..02f58970db0 100644 > --- a/gcc/config.gcc > +++ b/gcc/config.gcc > @@ -1314,6 +1314,13 @@ arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) > tm_file="$tm_file arm/uclinuxfdpiceabi.h" > ;; > esac > + # Define with_float to "hard" if not already defined and > + # target name ends with "hf" > + case $target:$with_float in > + arm*-*-*hf:) > + with_float=hard > + ;; > + esac > # Generation of floating-point instructions requires at least ARMv5te. > if [ "$with_float" = "hard" -o "$with_float" = "softfp" ] ; then > target_cpu_cname="arm10e" OK. R.
diff --git a/gcc/config.gcc b/gcc/config.gcc index 4e3b15bb5e9..02f58970db0 100644 --- a/gcc/config.gcc +++ b/gcc/config.gcc @@ -1314,6 +1314,13 @@ arm*-*-linux-* | arm*-*-uclinuxfdpiceabi) tm_file="$tm_file arm/uclinuxfdpiceabi.h" ;; esac + # Define with_float to "hard" if not already defined and + # target name ends with "hf" + case $target:$with_float in + arm*-*-*hf:) + with_float=hard + ;; + esac # Generation of floating-point instructions requires at least ARMv5te. if [ "$with_float" = "hard" -o "$with_float" = "softfp" ] ; then target_cpu_cname="arm10e"