__emutls_get_address link problem

Christian Maeder Christian.Maeder at dfki.de
Wed Aug 25 11:37:03 EDT 2010

Christian Maeder schrieb:
> Simon Marlow schrieb:
>> On 23/08/2010 17:45, Brandon S Allbery KF8NH wrote:
>>> Hash: SHA1
>>> On 8/23/10 11:57 , Christian Maeder wrote:
>>>> However, when I try to compile the simplest source with on older
>>>> gcc-3.4.4 I get the link error below, but only for the threaded rts!
>>>> With ghc-6.12.1 and gcc-4.x.y (x<  3) I did not have such a problem when
>>>> switching to a machine that only has gcc-3.4.4.
>>> You got lucky; mixing GCC major versions like that is not expected (much
>>> less guaranteed) to work in general.  GCC evidently changed the way it
>>> implements some thread support routines between gcc3 and gcc4.

Why should it not be possible to create object files (like also dynamic
libs) with (very) different compilers?

>> In particular, thread-local variables, which are used by the parallel GC.
> I'm just testing if I get runtime problems, but the linking error goes
> away, if I put libgcc_eh.a from gcc-4.3.3 into ghc's libdir.

The hack seems to work, although it looks dangerous regarding other
symbols from libgcc_eh.a that should be in sync with the used gcc-3.4.4.


More information about the Glasgow-haskell-users mailing list