With post-2.19.90 glibcs the GDB patch posted below still works but it is needlessly incorrect - it depends on assumption glibc assigns module id 1 to static executables. GDB fix post for compatibility with pre-2.19.90 glibcs: [patch] Fix TLS access for -static -pthread https://sourceware.org/ml/gdb-patches/2014-04/msg00155.html glibc fix in glibc-2.19.90: PR libc/16831 https://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=f737dfd071f12584316ef90f2c71e33c2dc9801e Original post (IMO obsolete now): TLS variables access for -static -lpthread executables https://sourceware.org/ml/libc-help/2014-03/msg00024.html
Created attachment 7605 [details] GDB patch - it works but it is not acceptable as is. Functionality gets tested by existing: gdb.threads/staticthreads.exp: tlsvar in thread gdb.threads/staticthreads.exp: tlsvar in main