https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96200
--- Comment #2 from Carlos O'Donell <carlos at redhat dot com> --- (In reply to Florian Weimer from comment #1) > __builtin_set_thread_pointer has little value from a glibc perspective > because when used in application code, it will always result in undefined > behavior. Correct, but it's useful for a C library implemetnation. In glibc the aarch64 tls.h is made quite clean by the use of __builtin_thread_pointer and __builtin_set_thread_pointer.