https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77285
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jason at gcc dot gnu.org --- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> --- The reference to the TLS init function in main.o doesn't have the abi_tag: nm a.o U _GLOBAL_OFFSET_TABLE_ 0000000000000000 B _Z13gFeelingLuckyB5cxx11 U _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC1Ev U _ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED1Ev 0000000000000000 r _ZStL19piecewise_construct 0000000000000000 T _ZTH13gFeelingLuckyB5cxx11 U __cxa_thread_atexit U __dso_handle 0000000000000020 b __tls_guard 0000000000000000 t __tls_init nm main.o U _GLOBAL_OFFSET_TABLE_ U _Z13gFeelingLuckyB5cxx11 U _ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6lengthEv 0000000000000000 r _ZStL19piecewise_construct U _ZTH13gFeelingLucky 0000000000000000 W _ZTW13gFeelingLucky 0000000000000000 T main Compare _ZTH13gFeelingLuckyB5cxx11 and _ZTH13gFeelingLucky The TLS wrapper function (_ZTW) also doesn't have the abi tag.