Advertisement
Guest User

Untitled

a guest
Aug 27th, 2015
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.23 KB | None | 0 0
  1. $ cat a.c a.s
  2. __thread int n__thread;
  3. _Thread_local int n_Thread_local;
  4.  
  5. int main(void)
  6. {
  7.   ++n__thread;
  8.   --n_Thread_local;
  9.   n__thread += n_Thread_local;
  10.   n_Thread_local += n__thread;
  11. }
  12.     .file   "a.c"
  13.     .globl  n__thread
  14.     .section    .tbss,"awT",@nobits
  15.     .align 4
  16.     .type   n__thread, @object
  17.     .size   n__thread, 4
  18. n__thread:
  19.     .zero   4
  20.     .globl  n_Thread_local
  21.     .align 4
  22.     .type   n_Thread_local, @object
  23.     .size   n_Thread_local, 4
  24. n_Thread_local:
  25.     .zero   4
  26.     .text
  27.     .globl  main
  28.     .type   main, @function
  29. main:
  30. .LFB0:
  31.     .cfi_startproc
  32.     pushl   %ebp
  33.     .cfi_def_cfa_offset 8
  34.     .cfi_offset 5, -8
  35.     movl    %esp, %ebp
  36.     .cfi_def_cfa_register 5
  37.     movl    %gs:n__thread@ntpoff, %eax
  38.     addl    $1, %eax
  39.     movl    %eax, %gs:n__thread@ntpoff
  40.     movl    %gs:n_Thread_local@ntpoff, %eax
  41.     subl    $1, %eax
  42.     movl    %eax, %gs:n_Thread_local@ntpoff
  43.     movl    %gs:n__thread@ntpoff, %edx
  44.     movl    %gs:n_Thread_local@ntpoff, %eax
  45.     addl    %edx, %eax
  46.     movl    %eax, %gs:n__thread@ntpoff
  47.     movl    %gs:n_Thread_local@ntpoff, %edx
  48.     movl    %gs:n__thread@ntpoff, %eax
  49.     addl    %edx, %eax
  50.     movl    %eax, %gs:n_Thread_local@ntpoff
  51.     popl    %ebp
  52.     .cfi_restore 5
  53.     .cfi_def_cfa 4, 4
  54.     ret
  55.     .cfi_endproc
  56. .LFE0:
  57.     .size   main, .-main
  58.     .ident  "GCC: (Ubuntu 4.9.2-10ubuntu13) 4.9.2"
  59.     .section    .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement