summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/tls
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-01-06 22:59:25 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-01-06 22:59:25 +0000
commita36057b0935fea999a1c597eec45e103126132b9 (patch)
tree6ae43adb7de0ddcd2b1a1f5d7773a8c88c6f9029 /gcc/testsuite/gcc.dg/tls
parent9fb0071e8290a9920e4b6074dd121df6c45aba36 (diff)
downloadgcc-a36057b0935fea999a1c597eec45e103126132b9.tar.gz
* config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
properly when changing "local-ness". * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols. * gcc.dg/tls/alias-1.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@60961 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/testsuite/gcc.dg/tls')
-rw-r--r--gcc/testsuite/gcc.dg/tls/alias-1.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/tls/alias-1.c b/gcc/testsuite/gcc.dg/tls/alias-1.c
new file mode 100644
index 00000000000..3372da3d10c
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/tls/alias-1.c
@@ -0,0 +1,21 @@
+/* { dg-do link } */
+/* Test that encode_section_info handles the change from externally
+ defined to locally defined (via hidden). Extracted from glibc. */
+
+struct __res_state {
+ char x[123];
+};
+
+extern __thread struct __res_state bar
+ __attribute__ ((tls_model ("initial-exec")));
+
+int main()
+{
+ bar.x[0] = 0;
+ return 0;
+}
+
+__thread struct __res_state foo;
+extern __thread struct __res_state bar
+ __attribute__ ((alias ("foo")))
+ __attribute__ ((visibility ("hidden")));