------- Comment #10 from davek at gcc dot gnu dot org 2009-09-15 14:24 ------- (In reply to comment #9) > (In reply to comment #8) > > (In reply to comment #6) > > > (In reply to comment #1) > > > > The cause is that DW_TAG_variable references gomp_tls_data instead of > > > > ___emutls_v.gomp_tls_data. > > > > > > > > > > Here's an example: > > > > No, that's not it, that's not it at all, sorry. Here's the relevant part > > of > > the debug info from iter.s in the libgomp build dir, with a bit of > > surrounding > > context: > > > > .ascii "thr\0" > > .byte 0x1 > > .byte 0x92 > > vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv > > .long 0xa79 > > .long _gomp_tls_data > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > Yeah, this is what I found. When var-tracking generates debug_insn, it should > use ___emutls_v.gomp_tls_data as normal insn is expanded. >
I'm just debugging add_location_or_const_value_attribute() which is where the value gets added. Not sure how to export knowledge of tls prefix from varasm.c yet though. We could punt on trying to attach a const value to the DIE altogether, although that seems a shame since it's potentially knowable. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41357