http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59364
--- Comment #2 from Conrad <conradsand.arma at gmail dot com> --- I wouldn't call the method presented in the comments to bug #55800 as a workaround. Quote: "at least adding .globl _ZTWN3xyz3blaE _ZTWN3xyz3blaE = __tls_init manually at the end of the assembly seems to make the code do what it is supposed to" Editing the assembly is not a workaround -- it's a one off hack.