.section __TEXT,__text_cold,regular,pure_instructions LCOLDB0: .text LHOTB0: .align 4,0x90 .globl _p _p: LFB0: movq _wants_to_enter@GOTPCREL(%rip), %rax movq _turn@GOTPCREL(%rip), %rdx cmpb $0, 1(%rax) movb $1, (%rax) movzbl (%rdx), %ecx je L2 testb %cl, %cl jne L3 L4: jmp L4 .align 4,0x90 L3: movb $0, (%rax) L5: jmp L5 .align 4,0x90 L2: movq _counter@GOTPCREL(%rip), %rcx movb $1, (%rdx) movb $0, (%rax) addq $1, (%rcx) ret LFE0: .section __TEXT,__text_cold,regular,pure_instructions LCOLDE0: .text LHOTE0: .section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support EH_frame1: .set L$set$0,LECIE1-LSCIE1 .long L$set$0 LSCIE1: .long 0 .byte 0x1 .ascii "zR\0" .byte 0x1 .byte 0x78 .byte 0x10 .byte 0x1 .byte 0x10 .byte 0xc .byte 0x7 .byte 0x8 .byte 0x90 .byte 0x1 .align 3 LECIE1: LSFDE1: .set L$set$1,LEFDE1-LASFDE1 .long L$set$1 LASFDE1: .long LASFDE1-EH_frame1 .quad LFB0-. .set L$set$2,LFE0-LFB0 .quad L$set$2 .byte 0 .align 3 LEFDE1: .subsections_via_symbols