https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113874
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- (In reply to H.J. Lu from comment #4) > (In reply to H.J. Lu from comment #3) > > Created attachment 57385 [details] > > A patch > > > > Try this. > > This doesn't work properly. To work around in ld.so, _dl_tlsdesc_dynamic > needs > to save and restore ALL registers, which can be expensive. Or it could be compiled with options to make sure it doesn't use vector registers etc., and only save/restore if it needs to call into some code where libc can't afford that (say allocate memory).