Subject: [boost] [asio][android][clang-x86] cannot locate symbol "___tls_get_addr"
From: Dmitry Moskalchuk (dm_at_[hidden])
Date: 2015-03-27 05:44:55
As you can see at
are many fails on Android/x86, when tests are built by clang.
There was ticket filed to CrystaX NDK tracker about that:
https://tracker.crystax.net/issues/912. After some research, I've found
reason of fails and created pull request for Boost.Asio:
https://github.com/boostorg/asio/pull/17. Shortly speaking, there is
intersection of several bugs - one is inability of clang to emulate
thread-local variables without support from underlying runtime (gcc can
do that), and second is misconfiguration in Boost.Asio headers.
I've tested locally with change from
https://github.com/boostorg/asio/pull/17 and all '___tls_get_addr'
errors disappeared. Now I'm waiting for that pull request to be merged
into upstream, but I don't see any activity in Boost.Asio repository. Is
there something wrong with my pull request? It's very simple so I wonder
why it not yet merged?
I'd like to see it merged to the upstream (including 'master') before
1.58 release - just because this bug cause not only Boost.Asio fails,
but several others libraries too.
-- Dmitry Moskalchuk
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk