diff options
Diffstat (limited to 'gdb/findvar.c')
-rw-r--r-- | gdb/findvar.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gdb/findvar.c b/gdb/findvar.c index e48ccc6..9eff168 100644 --- a/gdb/findvar.c +++ b/gdb/findvar.c @@ -542,6 +542,23 @@ addresses have not been bound by the dynamic loader. Try again when executable i break; } + case LOC_THREAD_LOCAL_STATIC: + { + /* We want to let the target / ABI-specific code construct + this value for us, so we need to dispose of the value + allocated for us above. */ + if (target_get_thread_local_address_p ()) + addr = target_get_thread_local_address (inferior_ptid, + SYMBOL_OBJFILE (var), + SYMBOL_VALUE_ADDRESS (var)); + /* It wouldn't be wrong here to try a gdbarch method, too; + finding TLS is an ABI-specific thing. But we don't do that + yet. */ + else + error ("Cannot find thread-local variables on this target"); + break; + } + case LOC_TYPEDEF: error ("Cannot look up value of a typedef"); break; |