[FFmpeg-devel] [PATCH] lavu: test for broken binutils on ARM

Derek Buitenhuis derek.buitenhuis at gmail.com
Sat Dec 15 23:57:12 CET 2012


On 15/12/2012 2:55 PM, Michael Niedermayer wrote:
> Some old gnu assemblers fail to assemble qdadd correctly
> Ideally we should check this at build time, but better to
> check at run time than mysteriously failing.
> 
> Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> ---
>  libavutil/utils.c |    5 +++++
>  1 file changed, 5 insertions(+)

I assume the reason we cannot check at build time is due to
needing to support cross-compilation... which is tricky,
indeed

> @@ -35,6 +35,11 @@ unsigned avutil_version(void)
>      av_assert0(LIBAVUTIL_VERSION_MICRO >= 100);
>      av_assert0(HAVE_MMX2 == HAVE_MMXEXT);
>  
> +    if (av_sat_dadd32(1, 2) != 5) {
> +        av_log(NULL, AV_LOG_FATAL, "Libavutil has been build with a broken binutils, please upgrade binutils and rebuild\n");
> +        abort();
> +    }

Perhaps this could go somewhere like an init function? A lot of people
who use embedded setups have their own code that calls libav*, and they
won't see this at all.

- Derek


More information about the ffmpeg-devel mailing list