858 .file "ex2.c" .version "01.01" gcc2_compiled.: ..text .align 16 ..globl process1 .type process1,@function process1: pushl %ebp movl %esp,%ebp movl boo,%eax .align 4 ..L5: incl val testl %eax,%eax je .L5 xorl %eax,%eax movl %ebp,%esp popl %ebp ret ..Lfe1: .size process1,.Lfe1-process1 .align 16 ..globl process2 .type process2,@function process2: pushl %ebp movl %esp,%ebp movl _IO_stdin_+8,%eax cmpl %eax,_IO_stdin_+4 jb .L9 pushl $_IO_stdin_ call __uflow jmp .L10 .align 16 ..L9: incl _IO_stdin_+4 ..L10: incl boo xorl %eax,%eax movl %ebp,%esp popl %ebp ret ..Lfe2: .size process2,.Lfe2-process2 ..section .rodata ..LC0: .string "a" ..LC1: .string "create a failed %d\n" ..LC2: .string "b" ..LC3: .string "join a failed %d\n" ..LC4: .string "%d\n" ..text .align 16 ..globl main .type main,@function main: pushl %ebp movl %esp,%ebp subl $12,%esp pushl %ebx pushl $.LC0 pushl $process1 pushl $0 leal -4(%ebp),%eax pushl %eax call pthread_create addl $16,%esp testl %eax,%eax je .L12 pushl %eax pushl $.LC1 pushl $_IO_stderr_ call fprintf addl $12,%esp ..L12: pushl $.LC2 pushl $process2 pushl $0 leal -8(%ebp),%eax pushl %eax call pthread_create addl $16,%esp testl %eax,%eax je .L13 pushl %eax pushl $.LC1 pushl $_IO_stderr_ call fprintf addl $12,%esp ..L13: leal -12(%ebp),%ebx pushl %ebx movl -4(%ebp),%eax pushl %eax call pthread_join addl $8,%esp testl %eax,%eax je .L14 pushl %eax pushl $.LC3 pushl $_IO_stderr_ call fprintf addl $12,%esp ..L14: pushl %ebx movl -8(%ebp),%eax pushl %eax call pthread_join addl $8,%esp testl %eax,%eax je .L15 pushl %eax pushl $.LC3 pushl $_IO_stderr_ call fprintf addl $12,%esp ..L15: movl val,%eax pushl %eax pushl $.LC4 call printf movl boo,%eax pushl %eax pushl $.LC4 call printf xorl %eax,%eax movl -16(%ebp),%ebx movl %ebp,%esp popl %ebp ret ..Lfe3: .size main,.Lfe3-main .comm val,4,4 .comm boo,4,4 .ident "GCC: (GNU) 2.7.2.3" . 0