diff options
author | Philippe Waroquiers <philippe.waroquiers@skynet.be> | 2015-09-15 21:02:15 +0200 |
---|---|---|
committer | Philippe Waroquiers <philippe.waroquiers@skynet.be> | 2015-09-15 21:12:39 +0200 |
commit | 5382cfab6110741b8ba36965b30334c00d8f9409 (patch) | |
tree | 957171c8f248954789ffbd0ec8539e3bef008d48 /gdb/symtab.h | |
parent | e68fa6f07666ec4726cfef59f641a81244cc2e00 (diff) | |
download | gdb-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.h | 8 |
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, |