[MacPorts] #52585: libcxxabi -- attempts to add thread-local-storage (TLS) to <10.9
#52585: libcxxabi -- attempts to add thread-local-storage (TLS) to <10.9 -------------------------------------+-------------------------------- Reporter: ken.cunningham.webuse@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Keywords: | Port: libcxxabi -------------------------------------+-------------------------------- As per the mailing list discussion, a few ports are requesting TLS which is not available on systems prior to 10.9. This functionality is implemented in libcxxabi, and there are current efforts to provide a fallback mechanism for this detailed on the llvm website's libcxxxabi pages. < https://reviews.llvm.org/D21803>. This ticket hopes to follow the attempts to get this to work. First thing I notice is that the patches above appear to apply to libcxxabi @3.9.0, and we're currently running @3.7.0. I first tried to build @3.9.0 by updating the portfile, but ran into some attempts to rebuild clang-3.7 which I assume to be the dependency cycle mentioned in the libcxxabi portfile. I could drop back to clang-3.4 and try to build it, I presume -- but rather than do that, I attempted to backport the changes into libcxxabi @3.7.0 instead. Almost all the changes are in one file, src/cxa_thread_atexit.cpp, which is basically completely rewritten. I was unable to apply the patch from the website cleanly due to changes in that file from @3.7.0, so I did it manually, and hopefully without error. The changes cxa_thread_atexit.cpp file is attached. Sadly, when building the replacement libcxxabi that is supposed to provide a fallback for TLS, I now get the error saying to build the file, the system requires TLS -- which of course is sort of a catch-22. So, working on that idea further while I post progress so far. -- Ticket URL: <https://trac.macports.org/ticket/52585> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#52585: libcxxabi -- attempts to add thread-local-storage (TLS) to <10.9 --------------------------------------+-------------------------------- Reporter: ken.cunningham.webuse@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: libcxxabi | --------------------------------------+-------------------------------- Comment (by larryv@…): As the fallback implementation has already been [http://llvm.org/viewvc /llvm-project?view=revision&revision=283988 committed to libc++abi trunk] and will be released at some point (probably in 4.0), I think backporting it would be a waste of time. It would be more useful to sort out the build issues with 3.9, since those will have to be addressed for 4.0 anyway. -- Ticket URL: <https://trac.macports.org/ticket/52585#comment:1> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#52585: libcxxabi -- attempts to add thread-local-storage (TLS) to <10.9 --------------------------------------+-------------------------------- Reporter: ken.cunningham.webuse@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: libcxxabi | --------------------------------------+-------------------------------- Comment (by ken.cunningham.webuse@…): Heh -- 6 hours ago! You're on top of things, my friend :> If jeremy is about to update libcxxabi anytime soon, then sure, I'll wait for that. I didn't think that was on his (exceptionally full) dance card at the moment, though, and he had asked me to see if I could do it this way. -- K -- Ticket URL: <https://trac.macports.org/ticket/52585#comment:2> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#52585: libcxxabi -- attempts to add thread-local-storage (TLS) to <10.9 --------------------------------------+-------------------------------- Reporter: ken.cunningham.webuse@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: libcxxabi | --------------------------------------+-------------------------------- Comment (by ken.cunningham.webuse@…): Thinking about it 10 minutes more (which I tell myself I always should do before replying, of course) .. perhaps I will take your suggestion then, and devote the effort to building 3.9.0 -- you're quite right, it would be a more efficient use of time. And I'm not sure that it will work in @3.7.0 anyway, as there are many changes since then. Thanks! -- Ticket URL: <https://trac.macports.org/ticket/52585#comment:3> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
#52585: libcxxabi -- attempts to add thread-local-storage (TLS) to <10.9 --------------------------------------+-------------------------------- Reporter: ken.cunningham.webuse@… | Owner: macports-tickets@… Type: defect | Status: new Priority: Normal | Milestone: Component: ports | Version: 2.3.4 Resolution: | Keywords: Port: libcxxabi | --------------------------------------+-------------------------------- Comment (by jeremyhu@…): I haven’t spent too much time trying to update libcxxabi and libcxx to newer builds, but I agree that is a better approach than backporting. IIRC, 3.8.0 had an issue when I tried it and I just never had time to dig into it. -- Ticket URL: <https://trac.macports.org/ticket/52585#comment:4> MacPorts <https://www.macports.org/> Ports system for the Mac operating system
participants (1)
-
MacPorts