http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55909
--- Comment #37 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2013-01-11 17:55:38 UTC --- > So tls DID exist and was being used. I think I can assume that tls support > didn't go away for sparc64 in later gcc releases. (I also threw the binary > against readelf -S > [root@localhost ~]# readelf -S /tmp/test | egrep "init|fini|array" > [11] .init PROGBITS 0000000000100608 00000608 > [13] .fini PROGBITS 0000000000100980 00000980 > > so the older fedora 4.4.6 gcc didn't use initfini-array (if it was even an > available option back then) My gut feeling is that --enable-initfini-array is completely broken. You need to find out where the .init_array section comes from for your recompiled libstdc++. This could be from the glibc, in which case you need to replace it.