[OpenWrt-Devel] Fwd: MIPS libatomic

Alexandru Ardelean ardeleanalex at gmail.com
Wed Jan 21 03:30:57 EST 2015


I don't think libatomic exports that symbol.
It looks like that symbol should be in the standard gcc.

You can try to add +libatomic to the DEPENDS section of czmq to see if that
helps.
But note that the libatomic package was added in this commit:
7edd1ccebaf00db527fcbb1c6e75827722cfdc21

I'd say to pull a clone of the latest OpenWRT trunk and compare.
I don't know what the toolchain version of Barrier Breaker is.

Here's on the latest trunk (I don't have a MIPS build right now):
build_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/gcc-linaro-4.8-2014.04-final/x86_64-openwrt-linux-uclibc/libgcc/libgcc-std.ver:
__sync_add_and_fetch_1
build_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/gcc-linaro-4.8-2014.04-final/x86_64-openwrt-linux-uclibc/libgcc/libgcc-std.ver:
__sync_add_and_fetch_2
build_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/gcc-linaro-4.8-2014.04-final/x86_64-openwrt-linux-uclibc/libgcc/libgcc-std.ver:
__sync_add_and_fetch_4
build_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/gcc-linaro-4.8-2014.04-final/x86_64-openwrt-linux-uclibc/libgcc/libgcc-std.ver:
__sync_add_and_fetch_8
build_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/gcc-linaro-4.8-2014.04-final/x86_64-openwrt-linux-uclibc/libgcc/libgcc-std.ver:
__sync_add_and_fetch_16

And the Changelog says:
build_dir/toolchain-x86_64_gcc-4.8-linaro_uClibc-0.9.33.2/gcc-linaro-4.8-2014.04/libgcc/ChangeLog:

2014-01-25  Walter Lee  <walt at tilera.com>

    Backport from mainline
    2014-01-25  Walter Lee  <walt at tilera.com>

    * config/tilepro/atomic.c (pre_atomic_barrier): Mark inline.
    (post_atomic_barrier): Ditto.
    (__fetch_and_do): New macro.
    (__atomic_fetch_and_do): Use __fetch_and_do.
    (__sync_fetch_and_do): New macro.
    (__sync_fetch_and_add_4): New function.
    (__sync_fetch_and_sub_4): New function.
    (__sync_fetch_and_or_4): New function.
    (__sync_fetch_and_and_4): New function.
    (__sync_fetch_and_xor_4): New function.
    (__sync_fetch_and_nand_4): New function.


If you do find these symbols in your gcc toolchain, I'd say to look for
flags to enable them.
They might be disabled by default.




On Wed, Jan 21, 2015 at 7:10 AM, Santiago Regusci <santicomp2 at gmail.com>
wrote:

> Hi
>
> I am having trouble building a package czmq with barrier breaker for
> Mips24kc.
> i get src/.libs/libczmq.so: undefined reference to `__sync_add_and_fetch_8'
> do i have to add libatomic in the makefile toolchain. or has did anyone
> have a similar problem.
>
> how i can i fix this?
>
> thank you
> Santi
>
>
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel at lists.openwrt.org
> https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20150121/ac74ba4d/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list