diff options
| author | Tim Northover <tnorthover@apple.com> | 2016-04-25 21:12:04 +0000 |
|---|---|---|
| committer | Tim Northover <tnorthover@apple.com> | 2016-04-25 21:12:04 +0000 |
| commit | 5c3140f7458a980af71d9fcea30ee688c7df2831 (patch) | |
| tree | 3f427246ec2bbc470e28c7be8a54f9f9b50cd812 /llvm/test/MC | |
| parent | 8407f5b3bdc129a795df6b58a03e917a69eb4094 (diff) | |
| download | bcm5719-llvm-5c3140f7458a980af71d9fcea30ee688c7df2831.tar.gz bcm5719-llvm-5c3140f7458a980af71d9fcea30ee688c7df2831.zip | |
ARM: put extern __thread stubs in a special section.
The linker needs to know that the symbols are thread-local to do its job
properly.
llvm-svn: 267473
Diffstat (limited to 'llvm/test/MC')
| -rw-r--r-- | llvm/test/MC/ARM/tls-directives.s | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/llvm/test/MC/ARM/tls-directives.s b/llvm/test/MC/ARM/tls-directives.s new file mode 100644 index 00000000000..c0e9f6cc142 --- /dev/null +++ b/llvm/test/MC/ARM/tls-directives.s @@ -0,0 +1,46 @@ +@ RUN: llvm-mc -triple thumbv7-apple-ios -filetype=obj -o %t %s +@ RUN: llvm-objdump -p %t | FileCheck %s + +@ CHECK: sectname __thread_data +@ CHECK: segname __DATA +@ CHECK: type S_THREAD_LOCAL_REGULAR + +@ CHECK: sectname __thread_vars +@ CHECK: segname __DATA +@ CHECK: type S_THREAD_LOCAL_VARIABLES + +@ CHECK: sectname __thread_bss +@ CHECK: segname __DATA +@ CHECK: type S_THREAD_LOCAL_ZEROFILL + +@ CHECK: sectname __thread_ptr +@ CHECK: segname __DATA +@ CHECK: type S_THREAD_LOCAL_VARIABLE_POINTERS + + + .section __DATA,__thread_data,thread_local_regular + .p2align 2 +_b$tlv$init: + .long 42 + + .section __DATA,__thread_vars,thread_local_variables + .globl _b +_b: + .long __tlv_bootstrap + .long 0 + .long _b$tlv$init + +.tbss _c$tlv$init, 4, 2 @ @c + + .globl _c +_c: + .long __tlv_bootstrap + .long 0 + .long _c$tlv$init + + + .section __DATA,__thread_ptr,thread_local_variable_pointers + .p2align 2 +L_a$non_lazy_ptr: + .indirect_symbol _a + .long 0 |

