[MacPorts] #38814: libstdcxx and binaries linked against it can have conflicting emutls (one copy in libstdc++.dylib and one copy in libgcc_s.dylib)
MacPorts
noreply at macports.org
Mon Apr 15 13:06:39 PDT 2013
#38814: libstdcxx and binaries linked against it can have conflicting emutls (one
copy in libstdc++.dylib and one copy in libgcc_s.dylib)
------------------------+------------------------
Reporter: howarth@… | Owner: jeremyhu@…
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version: 2.1.3
Resolution: | Keywords:
Port: libstdcxx |
------------------------+------------------------
Comment (by jeremyhu@…):
Without being able to look at how FSF implements emutls (due to it being
GPL3), I can only assume that the issue here is that one copy registers
some data in its TLD and the other copy is trying to find that data in its
TLD. It therefore misses, and the application crashes.
This would similarly be the case if you tried to cross between gcc46's
libgcc_s.dylib and gcc47's libgcc_s.dylib's emutls support.
Thus I think the best solution is probably to have libstdc++.dylib link
against a dynamic libgcc runtime instead of statically.
That being said, I don't think that libgcc should be provided by the
libstdcxx port. It should be provided by a libgcc subport.
I will wait to do this work until after gcc48 is stable and gcc49 is added
to MacPorts.
--
Ticket URL: <https://trac.macports.org/ticket/38814#comment:9>
MacPorts <http://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list