Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- $ cat a.c a.s
- __thread int n__thread;
- _Thread_local int n_Thread_local;
- int main(void)
- {
- ++n__thread;
- --n_Thread_local;
- n__thread += n_Thread_local;
- n_Thread_local += n__thread;
- }
- .file "a.c"
- .globl n__thread
- .section .tbss,"awT",@nobits
- .align 4
- .type n__thread, @object
- .size n__thread, 4
- n__thread:
- .zero 4
- .globl n_Thread_local
- .align 4
- .type n_Thread_local, @object
- .size n_Thread_local, 4
- n_Thread_local:
- .zero 4
- .text
- .globl main
- .type main, @function
- main:
- .LFB0:
- .cfi_startproc
- pushl %ebp
- .cfi_def_cfa_offset 8
- .cfi_offset 5, -8
- movl %esp, %ebp
- .cfi_def_cfa_register 5
- movl %gs:n__thread@ntpoff, %eax
- addl $1, %eax
- movl %eax, %gs:n__thread@ntpoff
- movl %gs:n_Thread_local@ntpoff, %eax
- subl $1, %eax
- movl %eax, %gs:n_Thread_local@ntpoff
- movl %gs:n__thread@ntpoff, %edx
- movl %gs:n_Thread_local@ntpoff, %eax
- addl %edx, %eax
- movl %eax, %gs:n__thread@ntpoff
- movl %gs:n_Thread_local@ntpoff, %edx
- movl %gs:n__thread@ntpoff, %eax
- addl %edx, %eax
- movl %eax, %gs:n_Thread_local@ntpoff
- popl %ebp
- .cfi_restore 5
- .cfi_def_cfa 4, 4
- ret
- .cfi_endproc
- .LFE0:
- .size main, .-main
- .ident "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
- .section .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement