Displaying 5 results from an estimated 5 matches for "tls_object".
2010 Nov 11
2
[LLVMdev] problem with __thread on linux/x86_64
...> .globl i
> .align 4
> i:
> .long 7 # 0x7
> .size i, 4
>
> ... is given ELF symbol type STT_TLS by gcc's assembler, but
> STT_OBJECT by clang's assembler.
The .type directive should probably specify type "tls_object" rather
than just "object". But I think gas infers that this is a TLS symbol
anyway, because it is mentioned in TLS-related relocations. See this
thread and follow-ups:
http://www.cygwin.com/ml/binutils/2002-11/msg00409.html
Jay.
2010 Feb 12
2
[LLVMdev] [PATCH] Fix off-by-one errors in the doxygen documentation
...directives in alphabetical order.
- MCSA_ELF_TypeFunction, /// .type _foo, STT_FUNC # aka @function
- MCSA_ELF_TypeIndFunction, /// .type _foo, STT_GNU_IFUNC
- MCSA_ELF_TypeObject, /// .type _foo, STT_OBJECT # aka @object
- MCSA_ELF_TypeTLS, /// .type _foo, STT_TLS # aka @tls_object
- MCSA_ELF_TypeCommon, /// .type _foo, STT_COMMON # aka @common
- MCSA_ELF_TypeNoType, /// .type _foo, STT_NOTYPE # aka @notype
- MCSA_Global, /// .globl
- MCSA_Hidden, /// .hidden (ELF)
- MCSA_IndirectSymbol, /// .indirect_symbol (MachO)
- MCSA_Inte...
2010 Nov 11
0
[LLVMdev] problem with __thread on linux/x86_64
On 9 November 2010 16:42, Jay Foad <jay.foad at gmail.com> wrote:
> Hi,
>
> On Ubuntu Linux/x86_64, I get:
>
> $ cat t.c
> #include <stdio.h>
> __thread int i = 7;
> int main() { printf("%d\n", i); }
> $ clang -o t t.c
> $ ./t
> Segmentation fault
>
> (gdb) disas
> Dump of assembler code for function main:
> 0x0000000000400560
2010 Nov 11
0
[LLVMdev] problem with __thread on linux/x86_64
... .align 4
>> i:
>> .long 7 # 0x7
>> .size i, 4
>>
>> ... is given ELF symbol type STT_TLS by gcc's assembler, but
>> STT_OBJECT by clang's assembler.
>
> The .type directive should probably specify type "tls_object" rather
> than just "object".
The attached patch fixes this, and it makes my favourite (proprietary)
app work on Linux when compiled with clang.
> But I think gas infers that this is a TLS symbol
> anyway, because it is mentioned in TLS-related relocations.
I still think...
2010 Nov 09
2
[LLVMdev] problem with __thread on linux/x86_64
Hi,
On Ubuntu Linux/x86_64, I get:
$ cat t.c
#include <stdio.h>
__thread int i = 7;
int main() { printf("%d\n", i); }
$ clang -o t t.c
$ ./t
Segmentation fault
(gdb) disas
Dump of assembler code for function main:
0x0000000000400560 <+0>: push %rbp
0x0000000000400561 <+1>: mov %rsp,%rbp
0x0000000000400564 <+4>: sub $0x10,%rsp