[FFmpeg-devel] [PATCH] configure: arm: Don't add -march= to the compiler if no preference was passed

Gianfranco Costamagna costamagna.gianfranco at gmail.com
Mon Sep 20 22:00:39 EEST 2021


Hello, thanks!
this fixes nicely my problem, and makes useless the two patches I posted
here:

please remove and drop:
https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=4892
https://patchwork.ffmpeg.org/project/ffmpeg/list/?series=4890
and accept this one whenever possible!

thanks

Gianfranco

Il giorno lun 20 set 2021 alle ore 12:00 Martin Storsjö <martin at martin.st>
ha scritto:

> If no --cpu= option was passed to configure, we detect what the
> compiler defaults to. This detected value was then fed back to the
> rest of the configure logic, as if it was an explicit choice.
>
> This breaks on Ubuntu 21.10 with GCC 11.1.
>
> Since GCC 8, it's possible to add configure extra features via the
> -march option, like e.g. -march=armv7-a+neon. If the -mfpu= option
> is configured to default to 'auto', the fpu setting gets taken
> from the -march option.
>
> GCC 11.1 in Ubuntu seems to be configured to use -mfpu=auto. This
> has the effect of breaking any compilation command that specifies
> -march=armv7-a, because the driver implicitly also adds -mfloat-abi=hard,
> and that combination results in this error:
>
>     cc1: error: ‘-mfloat-abi=hard’: selected processor lacks an FPU
>
> Therefore, restructure configure. If no specific preference was set
> (and the 'cpu' configure variable was set as the output of
> probe_arm_arch), the value we tried to set via -march= was the same
> value that we just tried to detect as the compiler default.
>
> So instead, just try to detect what the compiler defaults to, with
> to allow setting other configure settings (such as 'fast_unaligned'),
> but don't try to spell out the compiler's default via the -march flag.
>
> Signed-off-by: Martin Storsjö <martin at martin.st>
> ---
>  configure | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index 9249254b70..3a05b8294b 100755
> --- a/configure
> +++ b/configure
> @@ -5009,9 +5009,11 @@ elif enabled arm; then
>          fi
>      }
>
> -    [ "$cpu" = generic ] && cpu=$(probe_arm_arch)
>
>      case $cpu in
> +        generic)
> +            subarch=$(probe_arm_arch | sed 's/[^a-z0-9]//g')
> +        ;;
>          armv*)
>              cpuflags="-march=$cpu"
>              subarch=$(echo $cpu | sed 's/[^a-z0-9]//g')
> --
> 2.25.1
>
>


More information about the ffmpeg-devel mailing list