[MPlayer-cvslog] r38197 - trunk/configure

KO Myung-Hun komh78 at gmail.com
Sun Oct 11 10:26:42 EEST 2020


Hi/2.

reimar wrote:
> Author: reimar
> Date: Sun Aug 30 20:44:21 2020
> New Revision: 38197
> 
> Log:
> configure: check that stdatomic.h actually works correctly.
> 
> In particular, that it does not create e.g. dependencies on
> libatomic. In that case the compat fallback will actually work better.
> 
> Modified:
>    trunk/configure
> 
> Modified: trunk/configure
> ==============================================================================
> --- trunk/configure	Sun Aug 30 18:54:24 2020	(r38196)
> +++ trunk/configure	Sun Aug 30 20:44:21 2020	(r38197)
> @@ -3960,7 +3960,9 @@ echores "$_fast_inttypes"
>  
>  echocheck "stdatomic.h"
>  stdatomic_h=no
> -header_check stdatomic.h && stdatomic_h=yes
> +# need to use statement_check because some implementations (Rasbian) create a dependency
> +# on libatomic, in which case we rather want to use the fallback
> +statement_check stdatomic.h "atomic_int_least64_t a; atomic_fetch_add_explicit(&a, 5, memory_order_relaxed)" && stdatomic_h=yes
>  echores "$stdatomic_h"
>  if test "$stdatomic_h" = no ; then
>    CFLAGS="-Icompat/atomics/gcc $CFLAGS"

This breaks OS/2 builds with --enable-runtime-cpudetection using gcc v9.1.

First, the above test fails because -march=i486 is used if
--enable-runtime-cpudetection is used without --target like:

    Undefined symbol ___atomic_fetch_add_8 referenced from text segment

__atomic_fetch_and_add_n builtins are supported on -march=i586 or later.

Second, compat/atomic/gcc/stdatomic.h uses __sync builtins.

However, some __sync builtins are supported on i586 or later, too.

As a result, linkage fails like:

    undefined symbol ___sync_fetch_and_add_8
    undefined symbol ___sync_fetch_and_sub_8


-- 
KO Myung-Hun

Using Mozilla SeaMonkey 2.7.2
Under OS/2 Warp 4 for Korean with FixPak #15
In VirtualBox v6.1.10 on Intel Core i7-3615QM 2.30GHz with 8GB RAM

Korean OS/2 User Community : http://www.os2.kr/



More information about the MPlayer-cvslog mailing list