Advertisement
Guest User

Untitled

a guest
Jun 9th, 2025
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.32 KB | None | 0 0
  1. .file "concurrency.c"
  2. .text
  3. .p2align 4
  4. .type t2, @function
  5. t2:
  6. .LFB26:
  7. .cfi_startproc
  8. pushq %rbp
  9. .cfi_def_cfa_offset 16
  10. .cfi_offset 6, -16
  11. movq %rdi, %rbp
  12. pushq %rbx
  13. .cfi_def_cfa_offset 24
  14. .cfi_offset 3, -24
  15. leaq 5(%rdi), %rbx
  16. subq $8, %rsp
  17. .cfi_def_cfa_offset 32
  18. movb $1, 5(%rdi)
  19. jmp .L2
  20. .p2align 4,,10
  21. .p2align 3
  22. .L3:
  23. movb $0, (%rbx)
  24. call thrd_yield@PLT
  25. movb $1, (%rbx)
  26. .L2:
  27. movzbl 4(%rbp), %eax
  28. testb %al, %al
  29. jne .L3
  30. movl 0(%rbp), %eax
  31. addl $1, %eax
  32. movl %eax, 0(%rbp)
  33. xorl %eax, %eax
  34. movb $0, 5(%rbp)
  35. addq $8, %rsp
  36. .cfi_def_cfa_offset 24
  37. popq %rbx
  38. .cfi_def_cfa_offset 16
  39. popq %rbp
  40. .cfi_def_cfa_offset 8
  41. ret
  42. .cfi_endproc
  43. .LFE26:
  44. .size t2, .-t2
  45. .p2align 4
  46. .type t1, @function
  47. t1:
  48. .LFB25:
  49. .cfi_startproc
  50. pushq %rbp
  51. .cfi_def_cfa_offset 16
  52. .cfi_offset 6, -16
  53. movq %rdi, %rbp
  54. pushq %rbx
  55. .cfi_def_cfa_offset 24
  56. .cfi_offset 3, -24
  57. leaq 4(%rdi), %rbx
  58. subq $8, %rsp
  59. .cfi_def_cfa_offset 32
  60. movb $1, 4(%rdi)
  61. jmp .L7
  62. .p2align 4,,10
  63. .p2align 3
  64. .L8:
  65. movb $0, (%rbx)
  66. call thrd_yield@PLT
  67. movb $1, (%rbx)
  68. .L7:
  69. movzbl 5(%rbp), %eax
  70. testb %al, %al
  71. jne .L8
  72. movl 0(%rbp), %eax
  73. addl $1, %eax
  74. movl %eax, 0(%rbp)
  75. xorl %eax, %eax
  76. movb $0, 4(%rbp)
  77. addq $8, %rsp
  78. .cfi_def_cfa_offset 24
  79. popq %rbx
  80. .cfi_def_cfa_offset 16
  81. popq %rbp
  82. .cfi_def_cfa_offset 8
  83. ret
  84. .cfi_endproc
  85. .LFE25:
  86. .size t1, .-t1
  87. .section .rodata.str1.1,"aMS",@progbits,1
  88. .LC0:
  89. .string "%d\n"
  90. .section .text.startup,"ax",@progbits
  91. .p2align 4
  92. .globl main
  93. .type main, @function
  94. main:
  95. .LFB27:
  96. .cfi_startproc
  97. pushq %rbx
  98. .cfi_def_cfa_offset 16
  99. .cfi_offset 3, -16
  100. subq $32, %rsp
  101. .cfi_def_cfa_offset 48
  102. movq %fs:40, %rdi
  103. movq %rdi, 24(%rsp)
  104. movl $8, %edi
  105. call malloc@PLT
  106. testq %rax, %rax
  107. je .L13
  108. movl $0, (%rax)
  109. movq %rax, %rbx
  110. leaq 8(%rsp), %rdi
  111. movq %rax, %rdx
  112. movb $0, 4(%rax)
  113. leaq t1(%rip), %rsi
  114. movb $0, 5(%rax)
  115. call thrd_create@PLT
  116. movq %rbx, %rdx
  117. leaq 16(%rsp), %rdi
  118. leaq t2(%rip), %rsi
  119. call thrd_create@PLT
  120. movq 8(%rsp), %rdi
  121. xorl %esi, %esi
  122. call thrd_join@PLT
  123. movq 16(%rsp), %rdi
  124. xorl %esi, %esi
  125. call thrd_join@PLT
  126. movl (%rbx), %esi
  127. leaq .LC0(%rip), %rdi
  128. xorl %eax, %eax
  129. call printf@PLT
  130. movq %rbx, %rdi
  131. call free@PLT
  132. xorl %eax, %eax
  133. .L10:
  134. movq 24(%rsp), %rdx
  135. subq %fs:40, %rdx
  136. jne .L15
  137. addq $32, %rsp
  138. .cfi_remember_state
  139. .cfi_def_cfa_offset 16
  140. popq %rbx
  141. .cfi_def_cfa_offset 8
  142. ret
  143. .L13:
  144. .cfi_restore_state
  145. movl $1, %eax
  146. jmp .L10
  147. .L15:
  148. call __stack_chk_fail@PLT
  149. .cfi_endproc
  150. .LFE27:
  151. .size main, .-main
  152. .ident "GCC: (GNU) 15.1.1 20250425"
  153. .section .note.GNU-stack,"",@progbits
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement