[asio][android][clang-x86] cannot locate symbol "___tls_get_addr"
As you can see at http://www.boost.org/development/tests/master/developer/asio.html, there 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
On 27 Mar 2015 at 12:44, Dmitry Moskalchuk wrote:
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.
Boost.ASIO is auto generated from standalone ASIO and therefore won't take patches downstream. Try rebasing them onto standalone ASIO at https://github.com/chriskohlhoff/asio develop branch. No changes will enter 1.58 as Boost.ASIO lags standalone ASIO. Chris does cherry pick bug fixes into Boost.ASIO from ASIO though. Do ask if he will consider this for the 1.58 release in any pull request. If it's Android only, it may be possible. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
On 27/03/15 16:31, Niall Douglas wrote:
Boost.ASIO is auto generated from standalone ASIO and therefore won't take patches downstream. Try rebasing them onto standalone ASIO at https://github.com/chriskohlhoff/asio develop branch.
No changes will enter 1.58 as Boost.ASIO lags standalone ASIO. Chris does cherry pick bug fixes into Boost.ASIO from ASIO though. Do ask if he will consider this for the 1.58 release in any pull request. If it's Android only, it may be possible.
Ok, got it. Thanks for explanation. Is this ASIO-only or some other libraries follow the same process? I'm asking just to understand how I should make pull requests in the future. -- Dmitry Moskalchuk
On 27 Mar 2015 at 17:02, Dmitry Moskalchuk wrote:
On 27/03/15 16:31, Niall Douglas wrote:
Boost.ASIO is auto generated from standalone ASIO and therefore won't take patches downstream. Try rebasing them onto standalone ASIO at https://github.com/chriskohlhoff/asio develop branch.
No changes will enter 1.58 as Boost.ASIO lags standalone ASIO. Chris does cherry pick bug fixes into Boost.ASIO from ASIO though. Do ask if he will consider this for the 1.58 release in any pull request. If it's Android only, it may be possible.
Ok, got it. Thanks for explanation. Is this ASIO-only or some other libraries follow the same process? I'm asking just to understand how I should make pull requests in the future.
It's an ASIO only thing. Niall -- ned Productions Limited Consulting http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/
participants (2)
-
Dmitry Moskalchuk
-
Niall Douglas