https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100354
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- In this particular case it is: (note 38 19 20 (var_location p (unspec:DI [ (const_int 0 [0]) ] UNSPEC_TLS)) NOTE_INSN_VAR_LOCATION) where p's value should be equal to that __builtin_thread_pointer () aka the base of the TLS region. I wonder if it could be represented as DW_OP_lit0 DW_OP_form_tls_address, one would need to test that in debugger. And if it works, figure out some target independent way or perhaps a target hook that would propagate this case from the target dependent UNSPEC_TLS to dwarf2out.cc that it could emit such location.