aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.threads/tls.c
diff options
context:
space:
mode:
authorJan Kratochvil <jan.kratochvil@redhat.com>2008-12-02 14:51:01 +0000
committerJan Kratochvil <jan.kratochvil@redhat.com>2008-12-02 14:51:01 +0000
commite0740f779c1471fbc565ceedae93dea09bc0eadf (patch)
tree2a5d38d0d285c60457f1be35f6b5ef641c863e8f /gdb/testsuite/gdb.threads/tls.c
parentc29235ac9f1b955c3f4c89c5c8bc4ea4d4f80ae1 (diff)
downloadgdb-e0740f779c1471fbc565ceedae93dea09bc0eadf.zip
gdb-e0740f779c1471fbc565ceedae93dea09bc0eadf.tar.gz
gdb-e0740f779c1471fbc565ceedae93dea09bc0eadf.tar.bz2
gdb/
Fix resolving external references to TLS variables. * findvar.c: Include `objfiles.h'. (read_var_value <LOC_UNRESOLVED>): New variable `obj_section'. Handle SEC_THREAD_LOCAL variables. * printcmd.c (address_info <LOC_UNRESOLVED>): Handle SEC_THREAD_LOCAL variables. gdb/testsuite/ Test resolving external references to TLS variables. * gdb.threads/tls.exp: New tests to examine A_THREAD_LOCAL and FILE2_THREAD_LOCAL. (testfile2, srcfile2): New variables. * gdb.threads/tls.c (file2_thread_local) (function_referencing_file2_thread_local): New. * gdb.threads/tls2.c: New file.
Diffstat (limited to 'gdb/testsuite/gdb.threads/tls.c')
-rw-r--r--gdb/testsuite/gdb.threads/tls.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.threads/tls.c b/gdb/testsuite/gdb.threads/tls.c
index 9b2145e..8f2443c 100644
--- a/gdb/testsuite/gdb.threads/tls.c
+++ b/gdb/testsuite/gdb.threads/tls.c
@@ -20,6 +20,9 @@
__thread int a_thread_local;
__thread int another_thread_local;
+/* psymtabs->symtabs resolving check. */
+extern __thread int file2_thread_local;
+
/* Global variable just for info addr in gdb. */
int a_global;
@@ -119,6 +122,12 @@ void *spin( vp )
}
void
+function_referencing_file2_thread_local (void)
+{
+ file2_thread_local = file2_thread_local;
+}
+
+void
do_pass()
{
int i;