[oe] [PATCH] cairo: disable native atomic operations, conflicts with libatomics-ops
Denys Dmytriyenko
denis at denix.org
Thu Mar 17 19:17:48 UTC 2011
On Thu, Mar 17, 2011 at 03:12:21PM +0100, Henning Heinold wrote:
> Hi,
>
> I looked deeper into the problem.
> Cairo looks first for:
>
> return __sync_fetch_and_add
> __sync_val_compare_and_swap
>
> and defines it as cairo_cv_atomic_primitives="Intel".
>
> According to http://gcc.gnu.org/wiki/Atomic
> arm and sh3/4 should work too.
>
> If the configure compile fails
> cairo is looking for libatomic-ops
> support.
Similar to what I observed (if not reversed):
* If libatomic-ops is not available (no atomic_ops.h), it chooses/falls back
to "Intel" provider (i.e. kernel/gcc), which also works on ARM. It's similar
to --disable-atomic
* If it finds atomic_ops.h previously staged, it chooses that as a provider,
but since libatomic-ops was not built with emulated CAS for ARM, it later
fails with the build error.
> The libatomic-ops in oe is very old and misses diffrent bug fixes and is only
> needed for ppc and mips.
>
> I will try to clean the stuff up this evening, which proably applies to
> pulse-audio too.
If you are going to update libatomic-ops anyway, I won't bother adding
AO_REQUIRE_CAS define myself. Thanks for looking into it.
--
Denys
More information about the Openembedded-devel
mailing list