thread_local storage on 10.6.8 (and earlier) with clang-7.0
Ken Cunningham
ken.cunningham.webuse at gmail.com
Sat Dec 8 22:29:17 UTC 2018
On 2018-12-08, at 10:24 AM, Ken Cunningham wrote:
>
>> At present I don't seem to know enough about the underpinnings to see how to change the visibility settings on the emutls objects from libclang_rt when placed into the executable.
> So perhaps having emutls.c in libclang_rt can never actually work...maybe the emutls.o code needs to exist in a separate dylib (like it does in libgcc).
>
> So putting it into libc++abi.dylib might indeed be the only workable method, assuming each executable would get it's own copy in memory and they wouldn't all collide together.
>
And I sorted it out.
We are building libc++abi with nodefaultlibs . The emutls.o symbols indeed belong right in libc++abi, and I will either compile them in with emutls.c or link them in manually by adding that library.
And then we should be in business, and all systems will have thread_local .
Ken
More information about the macports-dev
mailing list