aboutsummaryrefslogtreecommitdiff
path: root/gdb/symtab.h
diff options
context:
space:
mode:
authorPhilippe Waroquiers <philippe.waroquiers@skynet.be>2015-09-15 21:02:15 +0200
committerPhilippe Waroquiers <philippe.waroquiers@skynet.be>2015-09-15 21:12:39 +0200
commit5382cfab6110741b8ba36965b30334c00d8f9409 (patch)
tree957171c8f248954789ffbd0ec8539e3bef008d48 /gdb/symtab.h
parente68fa6f07666ec4726cfef59f641a81244cc2e00 (diff)
downloadgdb-5382cfab6110741b8ba36965b30334c00d8f9409.zip
gdb-5382cfab6110741b8ba36965b30334c00d8f9409.tar.gz
gdb-5382cfab6110741b8ba36965b30334c00d8f9409.tar.bz2
Fix PR/18564 - regression in showing __thread so extern variable
Ensure tls variable address is not relocated, as the msym addr is an offset in the thread local storage of the shared library/object.
Diffstat (limited to 'gdb/symtab.h')
-rw-r--r--gdb/symtab.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 4ff8ae7..e6fc174 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -584,7 +584,13 @@ enum address_class
not find it in the full symbol table. But a reference to an external
symbol in a local block shadowing other definition requires full symbol
without possibly having its address available for LOC_STATIC. Testcase
- is provided as `gdb.dwarf2/dw2-unresolved.exp'. */
+ is provided as `gdb.dwarf2/dw2-unresolved.exp'.
+
+ This is also used for thread local storage (TLS) variables. In this case,
+ the address of the TLS variable must be determined when the variable is
+ referenced, from the MSYMBOL_VALUE_RAW_ADDRESS, which is the offset
+ of the TLS variable in the thread local storage of the shared
+ library/object. */
LOC_UNRESOLVED,