Created
September 5, 2012 00:28
-
-
Save liweinan/3628503 to your computer and use it in GitHub Desktop.
lock-free-queue
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ./main: file format elf64-x86-64 | |
| Disassembly of section .init: | |
| 0000000000400600 <_init>: | |
| 400600: 48 83 ec 08 sub $0x8,%rsp | |
| 400604: e8 e3 00 00 00 callq 4006ec <call_gmon_start> | |
| 400609: e8 62 01 00 00 callq 400770 <frame_dummy> | |
| 40060e: e8 dd 06 00 00 callq 400cf0 <__do_global_ctors_aux> | |
| 400613: 48 83 c4 08 add $0x8,%rsp | |
| 400617: c3 retq | |
| Disassembly of section .plt: | |
| 0000000000400618 <printf@plt-0x10>: | |
| 400618: ff 35 ea 0b 20 00 pushq 0x200bea(%rip) # 601208 <_GLOBAL_OFFSET_TABLE_+0x8> | |
| 40061e: ff 25 ec 0b 20 00 jmpq *0x200bec(%rip) # 601210 <_GLOBAL_OFFSET_TABLE_+0x10> | |
| 400624: 0f 1f 40 00 nopl 0x0(%rax) | |
| 0000000000400628 <printf@plt>: | |
| 400628: ff 25 ea 0b 20 00 jmpq *0x200bea(%rip) # 601218 <_GLOBAL_OFFSET_TABLE_+0x18> | |
| 40062e: 68 00 00 00 00 pushq $0x0 | |
| 400633: e9 e0 ff ff ff jmpq 400618 <_init+0x18> | |
| 0000000000400638 <malloc@plt>: | |
| 400638: ff 25 e2 0b 20 00 jmpq *0x200be2(%rip) # 601220 <_GLOBAL_OFFSET_TABLE_+0x20> | |
| 40063e: 68 01 00 00 00 pushq $0x1 | |
| 400643: e9 d0 ff ff ff jmpq 400618 <_init+0x18> | |
| 0000000000400648 <__libc_start_main@plt>: | |
| 400648: ff 25 da 0b 20 00 jmpq *0x200bda(%rip) # 601228 <_GLOBAL_OFFSET_TABLE_+0x28> | |
| 40064e: 68 02 00 00 00 pushq $0x2 | |
| 400653: e9 c0 ff ff ff jmpq 400618 <_init+0x18> | |
| 0000000000400658 <free@plt>: | |
| 400658: ff 25 d2 0b 20 00 jmpq *0x200bd2(%rip) # 601230 <_GLOBAL_OFFSET_TABLE_+0x30> | |
| 40065e: 68 03 00 00 00 pushq $0x3 | |
| 400663: e9 b0 ff ff ff jmpq 400618 <_init+0x18> | |
| 0000000000400668 <pthread_create@plt>: | |
| 400668: ff 25 ca 0b 20 00 jmpq *0x200bca(%rip) # 601238 <_GLOBAL_OFFSET_TABLE_+0x38> | |
| 40066e: 68 04 00 00 00 pushq $0x4 | |
| 400673: e9 a0 ff ff ff jmpq 400618 <_init+0x18> | |
| 0000000000400678 <sleep@plt>: | |
| 400678: ff 25 c2 0b 20 00 jmpq *0x200bc2(%rip) # 601240 <_GLOBAL_OFFSET_TABLE_+0x40> | |
| 40067e: 68 05 00 00 00 pushq $0x5 | |
| 400683: e9 90 ff ff ff jmpq 400618 <_init+0x18> | |
| 0000000000400688 <pthread_join@plt>: | |
| 400688: ff 25 ba 0b 20 00 jmpq *0x200bba(%rip) # 601248 <_GLOBAL_OFFSET_TABLE_+0x48> | |
| 40068e: 68 06 00 00 00 pushq $0x6 | |
| 400693: e9 80 ff ff ff jmpq 400618 <_init+0x18> | |
| 0000000000400698 <__gxx_personality_v0@plt>: | |
| 400698: ff 25 b2 0b 20 00 jmpq *0x200bb2(%rip) # 601250 <_GLOBAL_OFFSET_TABLE_+0x50> | |
| 40069e: 68 07 00 00 00 pushq $0x7 | |
| 4006a3: e9 70 ff ff ff jmpq 400618 <_init+0x18> | |
| 00000000004006a8 <_Unwind_Resume@plt>: | |
| 4006a8: ff 25 aa 0b 20 00 jmpq *0x200baa(%rip) # 601258 <_GLOBAL_OFFSET_TABLE_+0x58> | |
| 4006ae: 68 08 00 00 00 pushq $0x8 | |
| 4006b3: e9 60 ff ff ff jmpq 400618 <_init+0x18> | |
| Disassembly of section .text: | |
| 00000000004006c0 <_start>: | |
| 4006c0: 31 ed xor %ebp,%ebp | |
| 4006c2: 49 89 d1 mov %rdx,%r9 | |
| 4006c5: 5e pop %rsi | |
| 4006c6: 48 89 e2 mov %rsp,%rdx | |
| 4006c9: 48 83 e4 f0 and $0xfffffffffffffff0,%rsp | |
| 4006cd: 50 push %rax | |
| 4006ce: 54 push %rsp | |
| 4006cf: 49 c7 c0 50 0c 40 00 mov $0x400c50,%r8 | |
| 4006d6: 48 c7 c1 60 0c 40 00 mov $0x400c60,%rcx | |
| 4006dd: 48 c7 c7 40 09 40 00 mov $0x400940,%rdi | |
| 4006e4: e8 5f ff ff ff callq 400648 <__libc_start_main@plt> | |
| 4006e9: f4 hlt | |
| 4006ea: 90 nop | |
| 4006eb: 90 nop | |
| 00000000004006ec <call_gmon_start>: | |
| 4006ec: 48 83 ec 08 sub $0x8,%rsp | |
| 4006f0: 48 8b 05 01 0b 20 00 mov 0x200b01(%rip),%rax # 6011f8 <_DYNAMIC+0x1d0> | |
| 4006f7: 48 85 c0 test %rax,%rax | |
| 4006fa: 74 02 je 4006fe <call_gmon_start+0x12> | |
| 4006fc: ff d0 callq *%rax | |
| 4006fe: 48 83 c4 08 add $0x8,%rsp | |
| 400702: c3 retq | |
| 400703: 90 nop | |
| 400704: 90 nop | |
| 400705: 90 nop | |
| 400706: 90 nop | |
| 400707: 90 nop | |
| 400708: 90 nop | |
| 400709: 90 nop | |
| 40070a: 90 nop | |
| 40070b: 90 nop | |
| 40070c: 90 nop | |
| 40070d: 90 nop | |
| 40070e: 90 nop | |
| 40070f: 90 nop | |
| 0000000000400710 <__do_global_dtors_aux>: | |
| 400710: 55 push %rbp | |
| 400711: 48 89 e5 mov %rsp,%rbp | |
| 400714: 53 push %rbx | |
| 400715: 48 83 ec 08 sub $0x8,%rsp | |
| 400719: 80 3d 50 0b 20 00 00 cmpb $0x0,0x200b50(%rip) # 601270 <completed.6145> | |
| 400720: 75 44 jne 400766 <__do_global_dtors_aux+0x56> | |
| 400722: b8 18 10 60 00 mov $0x601018,%eax | |
| 400727: 48 2d 10 10 60 00 sub $0x601010,%rax | |
| 40072d: 48 c1 f8 03 sar $0x3,%rax | |
| 400731: 48 8d 58 ff lea -0x1(%rax),%rbx | |
| 400735: 48 8b 05 2c 0b 20 00 mov 0x200b2c(%rip),%rax # 601268 <dtor_idx.6147> | |
| 40073c: 48 39 c3 cmp %rax,%rbx | |
| 40073f: 76 1e jbe 40075f <__do_global_dtors_aux+0x4f> | |
| 400741: 48 83 c0 01 add $0x1,%rax | |
| 400745: 48 89 05 1c 0b 20 00 mov %rax,0x200b1c(%rip) # 601268 <dtor_idx.6147> | |
| 40074c: ff 14 c5 10 10 60 00 callq *0x601010(,%rax,8) | |
| 400753: 48 8b 05 0e 0b 20 00 mov 0x200b0e(%rip),%rax # 601268 <dtor_idx.6147> | |
| 40075a: 48 39 c3 cmp %rax,%rbx | |
| 40075d: 77 e2 ja 400741 <__do_global_dtors_aux+0x31> | |
| 40075f: c6 05 0a 0b 20 00 01 movb $0x1,0x200b0a(%rip) # 601270 <completed.6145> | |
| 400766: 48 83 c4 08 add $0x8,%rsp | |
| 40076a: 5b pop %rbx | |
| 40076b: c9 leaveq | |
| 40076c: c3 retq | |
| 40076d: 0f 1f 00 nopl (%rax) | |
| 0000000000400770 <frame_dummy>: | |
| 400770: 55 push %rbp | |
| 400771: 48 83 3d a7 08 20 00 cmpq $0x0,0x2008a7(%rip) # 601020 <__JCR_END__> | |
| 400778: 00 | |
| 400779: 48 89 e5 mov %rsp,%rbp | |
| 40077c: 74 16 je 400794 <frame_dummy+0x24> | |
| 40077e: b8 00 00 00 00 mov $0x0,%eax | |
| 400783: 48 85 c0 test %rax,%rax | |
| 400786: 74 0c je 400794 <frame_dummy+0x24> | |
| 400788: bf 20 10 60 00 mov $0x601020,%edi | |
| 40078d: 49 89 c3 mov %rax,%r11 | |
| 400790: c9 leaveq | |
| 400791: 41 ff e3 jmpq *%r11 | |
| 400794: c9 leaveq | |
| 400795: c3 retq | |
| 400796: 90 nop | |
| 400797: 90 nop | |
| 400798: 90 nop | |
| 400799: 90 nop | |
| 40079a: 90 nop | |
| 40079b: 90 nop | |
| 40079c: 90 nop | |
| 40079d: 90 nop | |
| 40079e: 90 nop | |
| 40079f: 90 nop | |
| 00000000004007a0 <_Z5debugv>: | |
| 4007a0: f3 c3 repz retq | |
| 4007a2: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
| 4007a9: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
| 00000000004007b0 <_Z3popPv>: | |
| 4007b0: 53 push %rbx | |
| 4007b1: 48 89 fb mov %rdi,%rbx | |
| 4007b4: 48 8b 43 10 mov 0x10(%rbx),%rax | |
| 4007b8: 48 2b 43 08 sub 0x8(%rbx),%rax | |
| 4007bc: 48 83 f8 14 cmp $0x14,%rax | |
| 4007c0: 0f 86 9a 00 00 00 jbe 400860 <_Z3popPv+0xb0> | |
| 4007c6: b8 01 00 00 00 mov $0x1,%eax | |
| 4007cb: f0 0f c1 43 08 lock xadd %eax,0x8(%rbx) | |
| 4007d0: 48 89 c1 mov %rax,%rcx | |
| 4007d3: 81 e1 ff ff ff 01 and $0x1ffffff,%ecx | |
| 4007d9: 48 8d 04 cd 00 00 00 lea 0x0(,%rcx,8),%rax | |
| 4007e0: 00 | |
| 4007e1: 48 03 43 18 add 0x18(%rbx),%rax | |
| 4007e5: 48 8b 30 mov (%rax),%rsi | |
| 4007e8: 48 85 f6 test %rsi,%rsi | |
| 4007eb: 74 7f je 40086c <_Z3popPv+0xbc> | |
| 4007ed: 48 ba db 34 b6 d7 82 movabs $0x431bde82d7b634db,%rdx | |
| 4007f4: de 1b 43 | |
| 4007f7: 48 89 c8 mov %rcx,%rax | |
| 4007fa: 48 f7 e2 mul %rdx | |
| 4007fd: 48 c1 ea 12 shr $0x12,%rdx | |
| 400801: 48 69 d2 40 42 0f 00 imul $0xf4240,%rdx,%rdx | |
| 400808: 48 39 d1 cmp %rdx,%rcx | |
| 40080b: 75 a7 jne 4007b4 <_Z3popPv+0x4> | |
| 40080d: 0f 31 rdtsc | |
| 40080f: 41 89 d1 mov %edx,%r9d | |
| 400812: 41 89 c0 mov %eax,%r8d | |
| 400815: 0f 31 rdtsc | |
| 400817: 89 d1 mov %edx,%ecx | |
| 400819: 4c 89 ca mov %r9,%rdx | |
| 40081c: 89 c7 mov %eax,%edi | |
| 40081e: 48 c1 e2 20 shl $0x20,%rdx | |
| 400822: 44 89 c0 mov %r8d,%eax | |
| 400825: 48 09 c2 or %rax,%rdx | |
| 400828: 48 29 f2 sub %rsi,%rdx | |
| 40082b: 78 44 js 400871 <_Z3popPv+0xc1> | |
| 40082d: f3 48 0f 2a c2 cvtsi2ss %rdx,%xmm0 | |
| 400832: f3 0f 5e 05 36 05 00 divss 0x536(%rip),%xmm0 # 400d70 <__dso_handle+0x30> | |
| 400839: 00 | |
| 40083a: 48 89 ca mov %rcx,%rdx | |
| 40083d: 89 f8 mov %edi,%eax | |
| 40083f: 48 c1 e2 20 shl $0x20,%rdx | |
| 400843: bf 48 0d 40 00 mov $0x400d48,%edi | |
| 400848: 48 09 c2 or %rax,%rdx | |
| 40084b: b8 01 00 00 00 mov $0x1,%eax | |
| 400850: f3 0f 5a c0 cvtss2sd %xmm0,%xmm0 | |
| 400854: e8 cf fd ff ff callq 400628 <printf@plt> | |
| 400859: e9 56 ff ff ff jmpq 4007b4 <_Z3popPv+0x4> | |
| 40085e: 66 90 xchg %ax,%ax | |
| 400860: 31 ff xor %edi,%edi | |
| 400862: e8 11 fe ff ff callq 400678 <sleep@plt> | |
| 400867: e9 48 ff ff ff jmpq 4007b4 <_Z3popPv+0x4> | |
| 40086c: 5b pop %rbx | |
| 40086d: 0f 1f 00 nopl (%rax) | |
| 400870: c3 retq | |
| 400871: 48 89 d0 mov %rdx,%rax | |
| 400874: 83 e2 01 and $0x1,%edx | |
| 400877: 48 d1 e8 shr %rax | |
| 40087a: 48 09 d0 or %rdx,%rax | |
| 40087d: f3 48 0f 2a c0 cvtsi2ss %rax,%xmm0 | |
| 400882: f3 0f 58 c0 addss %xmm0,%xmm0 | |
| 400886: eb aa jmp 400832 <_Z3popPv+0x82> | |
| 400888: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1) | |
| 40088f: 00 | |
| 0000000000400890 <_Z8push_endPv>: | |
| 400890: 31 c9 xor %ecx,%ecx | |
| 400892: ba 01 00 00 00 mov $0x1,%edx | |
| 400897: 48 89 d0 mov %rdx,%rax | |
| 40089a: f0 0f c1 47 10 lock xadd %eax,0x10(%rdi) | |
| 40089f: 25 ff ff ff 01 and $0x1ffffff,%eax | |
| 4008a4: 83 c1 01 add $0x1,%ecx | |
| 4008a7: 48 c1 e0 03 shl $0x3,%rax | |
| 4008ab: 48 03 47 18 add 0x18(%rdi),%rax | |
| 4008af: 81 f9 e8 03 00 00 cmp $0x3e8,%ecx | |
| 4008b5: 48 c7 00 00 00 00 00 movq $0x0,(%rax) | |
| 4008bc: 75 d9 jne 400897 <_Z8push_endPv+0x7> | |
| 4008be: f3 c3 repz retq | |
| 00000000004008c0 <_Z4pushPv>: | |
| 4008c0: 31 f6 xor %esi,%esi | |
| 4008c2: b9 01 00 00 00 mov $0x1,%ecx | |
| 4008c7: 0f 31 rdtsc | |
| 4008c9: 48 c1 e2 20 shl $0x20,%rdx | |
| 4008cd: 89 c0 mov %eax,%eax | |
| 4008cf: 48 09 c2 or %rax,%rdx | |
| 4008d2: 48 89 c8 mov %rcx,%rax | |
| 4008d5: f0 0f c1 47 10 lock xadd %eax,0x10(%rdi) | |
| 4008da: 25 ff ff ff 01 and $0x1ffffff,%eax | |
| 4008df: 48 c1 e0 03 shl $0x3,%rax | |
| 4008e3: 48 03 47 18 add 0x18(%rdi),%rax | |
| 4008e7: 48 89 10 mov %rdx,(%rax) | |
| 4008ea: 48 89 c8 mov %rcx,%rax | |
| 4008ed: f0 0f c1 47 10 lock xadd %eax,0x10(%rdi) | |
| 4008f2: 25 ff ff ff 01 and $0x1ffffff,%eax | |
| 4008f7: 48 c1 e0 03 shl $0x3,%rax | |
| 4008fb: 48 03 47 18 add 0x18(%rdi),%rax | |
| 4008ff: 48 89 10 mov %rdx,(%rax) | |
| 400902: 48 89 c8 mov %rcx,%rax | |
| 400905: f0 0f c1 47 10 lock xadd %eax,0x10(%rdi) | |
| 40090a: 25 ff ff ff 01 and $0x1ffffff,%eax | |
| 40090f: 48 c1 e0 03 shl $0x3,%rax | |
| 400913: 48 03 47 18 add 0x18(%rdi),%rax | |
| 400917: 48 89 10 mov %rdx,(%rax) | |
| 40091a: 48 89 c8 mov %rcx,%rax | |
| 40091d: f0 0f c1 47 10 lock xadd %eax,0x10(%rdi) | |
| 400922: 25 ff ff ff 01 and $0x1ffffff,%eax | |
| 400927: 83 c6 01 add $0x1,%esi | |
| 40092a: 48 c1 e0 03 shl $0x3,%rax | |
| 40092e: 48 03 47 18 add 0x18(%rdi),%rax | |
| 400932: 81 fe 40 78 7d 01 cmp $0x17d7840,%esi | |
| 400938: 48 89 10 mov %rdx,(%rax) | |
| 40093b: 75 8a jne 4008c7 <_Z4pushPv+0x7> | |
| 40093d: f3 c3 repz retq | |
| 40093f: 90 nop | |
| 0000000000400940 <main>: | |
| 400940: 41 55 push %r13 | |
| 400942: bf 50 00 00 00 mov $0x50,%edi | |
| 400947: 41 54 push %r12 | |
| 400949: 55 push %rbp | |
| 40094a: 53 push %rbx | |
| 40094b: 48 83 ec 38 sub $0x38,%rsp | |
| 40094f: e8 e4 fc ff ff callq 400638 <malloc@plt> | |
| 400954: bf 50 00 00 00 mov $0x50,%edi | |
| 400959: 48 89 c5 mov %rax,%rbp | |
| 40095c: e8 d7 fc ff ff callq 400638 <malloc@plt> | |
| 400961: bf 08 00 00 00 mov $0x8,%edi | |
| 400966: 48 89 c3 mov %rax,%rbx | |
| 400969: e8 ca fc ff ff callq 400638 <malloc@plt> | |
| 40096e: bf 00 00 00 10 mov $0x10000000,%edi | |
| 400973: 49 89 c5 mov %rax,%r13 | |
| 400976: e8 bd fc ff ff callq 400638 <malloc@plt> | |
| 40097b: 31 f6 xor %esi,%esi | |
| 40097d: 48 89 e1 mov %rsp,%rcx | |
| 400980: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 400985: 48 89 df mov %rbx,%rdi | |
| 400988: 48 89 44 24 18 mov %rax,0x18(%rsp) | |
| 40098d: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp) | |
| 400994: 00 00 | |
| 400996: 48 c7 44 24 10 00 00 movq $0x0,0x10(%rsp) | |
| 40099d: 00 00 | |
| 40099f: e8 c4 fc ff ff callq 400668 <pthread_create@plt> | |
| 4009a4: 48 8d 7b 08 lea 0x8(%rbx),%rdi | |
| 4009a8: 31 f6 xor %esi,%esi | |
| 4009aa: 48 89 e1 mov %rsp,%rcx | |
| 4009ad: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 4009b2: e8 b1 fc ff ff callq 400668 <pthread_create@plt> | |
| 4009b7: 48 8d 7b 10 lea 0x10(%rbx),%rdi | |
| 4009bb: 31 f6 xor %esi,%esi | |
| 4009bd: 48 89 e1 mov %rsp,%rcx | |
| 4009c0: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 4009c5: e8 9e fc ff ff callq 400668 <pthread_create@plt> | |
| 4009ca: 48 8d 7b 18 lea 0x18(%rbx),%rdi | |
| 4009ce: 31 f6 xor %esi,%esi | |
| 4009d0: 48 89 e1 mov %rsp,%rcx | |
| 4009d3: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 4009d8: e8 8b fc ff ff callq 400668 <pthread_create@plt> | |
| 4009dd: 48 8d 7b 20 lea 0x20(%rbx),%rdi | |
| 4009e1: 31 f6 xor %esi,%esi | |
| 4009e3: 48 89 e1 mov %rsp,%rcx | |
| 4009e6: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 4009eb: e8 78 fc ff ff callq 400668 <pthread_create@plt> | |
| 4009f0: 48 8d 7b 28 lea 0x28(%rbx),%rdi | |
| 4009f4: 31 f6 xor %esi,%esi | |
| 4009f6: 48 89 e1 mov %rsp,%rcx | |
| 4009f9: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 4009fe: e8 65 fc ff ff callq 400668 <pthread_create@plt> | |
| 400a03: 48 8d 7b 30 lea 0x30(%rbx),%rdi | |
| 400a07: 31 f6 xor %esi,%esi | |
| 400a09: 48 89 e1 mov %rsp,%rcx | |
| 400a0c: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 400a11: e8 52 fc ff ff callq 400668 <pthread_create@plt> | |
| 400a16: 48 8d 7b 38 lea 0x38(%rbx),%rdi | |
| 400a1a: 31 f6 xor %esi,%esi | |
| 400a1c: 48 89 e1 mov %rsp,%rcx | |
| 400a1f: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 400a24: e8 3f fc ff ff callq 400668 <pthread_create@plt> | |
| 400a29: 48 8d 7b 40 lea 0x40(%rbx),%rdi | |
| 400a2d: 31 f6 xor %esi,%esi | |
| 400a2f: 48 89 e1 mov %rsp,%rcx | |
| 400a32: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 400a37: e8 2c fc ff ff callq 400668 <pthread_create@plt> | |
| 400a3c: 48 8d 7b 48 lea 0x48(%rbx),%rdi | |
| 400a40: 31 f6 xor %esi,%esi | |
| 400a42: 48 89 e1 mov %rsp,%rcx | |
| 400a45: ba c0 08 40 00 mov $0x4008c0,%edx | |
| 400a4a: e8 19 fc ff ff callq 400668 <pthread_create@plt> | |
| 400a4f: 31 f6 xor %esi,%esi | |
| 400a51: 48 89 e1 mov %rsp,%rcx | |
| 400a54: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400a59: 48 89 ef mov %rbp,%rdi | |
| 400a5c: e8 07 fc ff ff callq 400668 <pthread_create@plt> | |
| 400a61: 48 8d 7d 08 lea 0x8(%rbp),%rdi | |
| 400a65: 31 f6 xor %esi,%esi | |
| 400a67: 48 89 e1 mov %rsp,%rcx | |
| 400a6a: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400a6f: e8 f4 fb ff ff callq 400668 <pthread_create@plt> | |
| 400a74: 48 8d 7d 10 lea 0x10(%rbp),%rdi | |
| 400a78: 31 f6 xor %esi,%esi | |
| 400a7a: 48 89 e1 mov %rsp,%rcx | |
| 400a7d: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400a82: e8 e1 fb ff ff callq 400668 <pthread_create@plt> | |
| 400a87: 48 8d 7d 18 lea 0x18(%rbp),%rdi | |
| 400a8b: 48 89 e1 mov %rsp,%rcx | |
| 400a8e: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400a93: 31 f6 xor %esi,%esi | |
| 400a95: e8 ce fb ff ff callq 400668 <pthread_create@plt> | |
| 400a9a: 48 8d 7d 20 lea 0x20(%rbp),%rdi | |
| 400a9e: 31 f6 xor %esi,%esi | |
| 400aa0: 48 89 e1 mov %rsp,%rcx | |
| 400aa3: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400aa8: e8 bb fb ff ff callq 400668 <pthread_create@plt> | |
| 400aad: 48 8d 7d 28 lea 0x28(%rbp),%rdi | |
| 400ab1: 48 89 e1 mov %rsp,%rcx | |
| 400ab4: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400ab9: 31 f6 xor %esi,%esi | |
| 400abb: e8 a8 fb ff ff callq 400668 <pthread_create@plt> | |
| 400ac0: 48 8d 7d 30 lea 0x30(%rbp),%rdi | |
| 400ac4: 48 89 e1 mov %rsp,%rcx | |
| 400ac7: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400acc: 31 f6 xor %esi,%esi | |
| 400ace: e8 95 fb ff ff callq 400668 <pthread_create@plt> | |
| 400ad3: 48 8d 7d 38 lea 0x38(%rbp),%rdi | |
| 400ad7: 48 89 e1 mov %rsp,%rcx | |
| 400ada: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400adf: 31 f6 xor %esi,%esi | |
| 400ae1: e8 82 fb ff ff callq 400668 <pthread_create@plt> | |
| 400ae6: 48 8d 7d 40 lea 0x40(%rbp),%rdi | |
| 400aea: 48 89 e1 mov %rsp,%rcx | |
| 400aed: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400af2: 31 f6 xor %esi,%esi | |
| 400af4: e8 6f fb ff ff callq 400668 <pthread_create@plt> | |
| 400af9: 48 8d 7d 48 lea 0x48(%rbp),%rdi | |
| 400afd: 31 f6 xor %esi,%esi | |
| 400aff: 48 89 e1 mov %rsp,%rcx | |
| 400b02: ba b0 07 40 00 mov $0x4007b0,%edx | |
| 400b07: e8 5c fb ff ff callq 400668 <pthread_create@plt> | |
| 400b0c: 31 f6 xor %esi,%esi | |
| 400b0e: 48 8b 3b mov (%rbx),%rdi | |
| 400b11: e8 72 fb ff ff callq 400688 <pthread_join@plt> | |
| 400b16: 31 f6 xor %esi,%esi | |
| 400b18: 48 8b 7b 08 mov 0x8(%rbx),%rdi | |
| 400b1c: e8 67 fb ff ff callq 400688 <pthread_join@plt> | |
| 400b21: 31 f6 xor %esi,%esi | |
| 400b23: 48 8b 7b 10 mov 0x10(%rbx),%rdi | |
| 400b27: e8 5c fb ff ff callq 400688 <pthread_join@plt> | |
| 400b2c: 31 f6 xor %esi,%esi | |
| 400b2e: 48 8b 7b 18 mov 0x18(%rbx),%rdi | |
| 400b32: e8 51 fb ff ff callq 400688 <pthread_join@plt> | |
| 400b37: 31 f6 xor %esi,%esi | |
| 400b39: 48 8b 7b 20 mov 0x20(%rbx),%rdi | |
| 400b3d: e8 46 fb ff ff callq 400688 <pthread_join@plt> | |
| 400b42: 31 f6 xor %esi,%esi | |
| 400b44: 48 8b 7b 28 mov 0x28(%rbx),%rdi | |
| 400b48: e8 3b fb ff ff callq 400688 <pthread_join@plt> | |
| 400b4d: 31 f6 xor %esi,%esi | |
| 400b4f: 48 8b 7b 30 mov 0x30(%rbx),%rdi | |
| 400b53: e8 30 fb ff ff callq 400688 <pthread_join@plt> | |
| 400b58: 31 f6 xor %esi,%esi | |
| 400b5a: 48 8b 7b 38 mov 0x38(%rbx),%rdi | |
| 400b5e: e8 25 fb ff ff callq 400688 <pthread_join@plt> | |
| 400b63: 31 f6 xor %esi,%esi | |
| 400b65: 48 8b 7b 40 mov 0x40(%rbx),%rdi | |
| 400b69: e8 1a fb ff ff callq 400688 <pthread_join@plt> | |
| 400b6e: 31 f6 xor %esi,%esi | |
| 400b70: 48 8b 7b 48 mov 0x48(%rbx),%rdi | |
| 400b74: e8 0f fb ff ff callq 400688 <pthread_join@plt> | |
| 400b79: 31 f6 xor %esi,%esi | |
| 400b7b: 4c 89 ef mov %r13,%rdi | |
| 400b7e: 48 89 e1 mov %rsp,%rcx | |
| 400b81: ba 90 08 40 00 mov $0x400890,%edx | |
| 400b86: e8 dd fa ff ff callq 400668 <pthread_create@plt> | |
| 400b8b: 31 f6 xor %esi,%esi | |
| 400b8d: 48 8b 7d 00 mov 0x0(%rbp),%rdi | |
| 400b91: e8 f2 fa ff ff callq 400688 <pthread_join@plt> | |
| 400b96: 31 f6 xor %esi,%esi | |
| 400b98: 48 8b 7d 08 mov 0x8(%rbp),%rdi | |
| 400b9c: e8 e7 fa ff ff callq 400688 <pthread_join@plt> | |
| 400ba1: 31 f6 xor %esi,%esi | |
| 400ba3: 48 8b 7d 10 mov 0x10(%rbp),%rdi | |
| 400ba7: e8 dc fa ff ff callq 400688 <pthread_join@plt> | |
| 400bac: 31 f6 xor %esi,%esi | |
| 400bae: 48 8b 7d 18 mov 0x18(%rbp),%rdi | |
| 400bb2: e8 d1 fa ff ff callq 400688 <pthread_join@plt> | |
| 400bb7: 31 f6 xor %esi,%esi | |
| 400bb9: 48 8b 7d 20 mov 0x20(%rbp),%rdi | |
| 400bbd: e8 c6 fa ff ff callq 400688 <pthread_join@plt> | |
| 400bc2: 31 f6 xor %esi,%esi | |
| 400bc4: 48 8b 7d 28 mov 0x28(%rbp),%rdi | |
| 400bc8: e8 bb fa ff ff callq 400688 <pthread_join@plt> | |
| 400bcd: 31 f6 xor %esi,%esi | |
| 400bcf: 48 8b 7d 30 mov 0x30(%rbp),%rdi | |
| 400bd3: e8 b0 fa ff ff callq 400688 <pthread_join@plt> | |
| 400bd8: 31 f6 xor %esi,%esi | |
| 400bda: 48 8b 7d 38 mov 0x38(%rbp),%rdi | |
| 400bde: e8 a5 fa ff ff callq 400688 <pthread_join@plt> | |
| 400be3: 31 f6 xor %esi,%esi | |
| 400be5: 48 8b 7d 40 mov 0x40(%rbp),%rdi | |
| 400be9: e8 9a fa ff ff callq 400688 <pthread_join@plt> | |
| 400bee: 31 f6 xor %esi,%esi | |
| 400bf0: 48 8b 7d 48 mov 0x48(%rbp),%rdi | |
| 400bf4: e8 8f fa ff ff callq 400688 <pthread_join@plt> | |
| 400bf9: 48 89 ef mov %rbp,%rdi | |
| 400bfc: e8 57 fa ff ff callq 400658 <free@plt> | |
| 400c01: 48 89 df mov %rbx,%rdi | |
| 400c04: e8 4f fa ff ff callq 400658 <free@plt> | |
| 400c09: 4d 85 ed test %r13,%r13 | |
| 400c0c: 74 08 je 400c16 <main+0x2d6> | |
| 400c0e: 4c 89 ef mov %r13,%rdi | |
| 400c11: e8 42 fa ff ff callq 400658 <free@plt> | |
| 400c16: 48 8b 7c 24 18 mov 0x18(%rsp),%rdi | |
| 400c1b: 48 85 ff test %rdi,%rdi | |
| 400c1e: 74 05 je 400c25 <main+0x2e5> | |
| 400c20: e8 33 fa ff ff callq 400658 <free@plt> | |
| 400c25: 48 83 c4 38 add $0x38,%rsp | |
| 400c29: 31 c0 xor %eax,%eax | |
| 400c2b: 5b pop %rbx | |
| 400c2c: 5d pop %rbp | |
| 400c2d: 41 5c pop %r12 | |
| 400c2f: 41 5d pop %r13 | |
| 400c31: c3 retq | |
| 400c32: 48 8b 7c 24 18 mov 0x18(%rsp),%rdi | |
| 400c37: 48 89 c3 mov %rax,%rbx | |
| 400c3a: 48 85 ff test %rdi,%rdi | |
| 400c3d: 74 05 je 400c44 <main+0x304> | |
| 400c3f: e8 14 fa ff ff callq 400658 <free@plt> | |
| 400c44: 48 89 df mov %rbx,%rdi | |
| 400c47: e8 5c fa ff ff callq 4006a8 <_Unwind_Resume@plt> | |
| 400c4c: 90 nop | |
| 400c4d: 90 nop | |
| 400c4e: 90 nop | |
| 400c4f: 90 nop | |
| 0000000000400c50 <__libc_csu_fini>: | |
| 400c50: f3 c3 repz retq | |
| 400c52: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
| 400c59: 0f 1f 80 00 00 00 00 nopl 0x0(%rax) | |
| 0000000000400c60 <__libc_csu_init>: | |
| 400c60: 4c 89 64 24 e0 mov %r12,-0x20(%rsp) | |
| 400c65: 4c 89 6c 24 e8 mov %r13,-0x18(%rsp) | |
| 400c6a: 4c 8d 25 8f 03 20 00 lea 0x20038f(%rip),%r12 # 601000 <__CTOR_LIST__> | |
| 400c71: 4c 89 74 24 f0 mov %r14,-0x10(%rsp) | |
| 400c76: 4c 89 7c 24 f8 mov %r15,-0x8(%rsp) | |
| 400c7b: 49 89 f6 mov %rsi,%r14 | |
| 400c7e: 48 89 5c 24 d0 mov %rbx,-0x30(%rsp) | |
| 400c83: 48 89 6c 24 d8 mov %rbp,-0x28(%rsp) | |
| 400c88: 48 83 ec 38 sub $0x38,%rsp | |
| 400c8c: 41 89 ff mov %edi,%r15d | |
| 400c8f: 49 89 d5 mov %rdx,%r13 | |
| 400c92: e8 69 f9 ff ff callq 400600 <_init> | |
| 400c97: 48 8d 05 62 03 20 00 lea 0x200362(%rip),%rax # 601000 <__CTOR_LIST__> | |
| 400c9e: 49 29 c4 sub %rax,%r12 | |
| 400ca1: 49 c1 fc 03 sar $0x3,%r12 | |
| 400ca5: 4d 85 e4 test %r12,%r12 | |
| 400ca8: 74 1e je 400cc8 <__libc_csu_init+0x68> | |
| 400caa: 31 ed xor %ebp,%ebp | |
| 400cac: 48 89 c3 mov %rax,%rbx | |
| 400caf: 90 nop | |
| 400cb0: 48 83 c5 01 add $0x1,%rbp | |
| 400cb4: 4c 89 ea mov %r13,%rdx | |
| 400cb7: 4c 89 f6 mov %r14,%rsi | |
| 400cba: 44 89 ff mov %r15d,%edi | |
| 400cbd: ff 13 callq *(%rbx) | |
| 400cbf: 48 83 c3 08 add $0x8,%rbx | |
| 400cc3: 49 39 ec cmp %rbp,%r12 | |
| 400cc6: 75 e8 jne 400cb0 <__libc_csu_init+0x50> | |
| 400cc8: 48 8b 5c 24 08 mov 0x8(%rsp),%rbx | |
| 400ccd: 48 8b 6c 24 10 mov 0x10(%rsp),%rbp | |
| 400cd2: 4c 8b 64 24 18 mov 0x18(%rsp),%r12 | |
| 400cd7: 4c 8b 6c 24 20 mov 0x20(%rsp),%r13 | |
| 400cdc: 4c 8b 74 24 28 mov 0x28(%rsp),%r14 | |
| 400ce1: 4c 8b 7c 24 30 mov 0x30(%rsp),%r15 | |
| 400ce6: 48 83 c4 38 add $0x38,%rsp | |
| 400cea: c3 retq | |
| 400ceb: 90 nop | |
| 400cec: 90 nop | |
| 400ced: 90 nop | |
| 400cee: 90 nop | |
| 400cef: 90 nop | |
| 0000000000400cf0 <__do_global_ctors_aux>: | |
| 400cf0: 55 push %rbp | |
| 400cf1: 48 89 e5 mov %rsp,%rbp | |
| 400cf4: 53 push %rbx | |
| 400cf5: bb 00 10 60 00 mov $0x601000,%ebx | |
| 400cfa: 48 83 ec 08 sub $0x8,%rsp | |
| 400cfe: 48 8b 05 fb 02 20 00 mov 0x2002fb(%rip),%rax # 601000 <__CTOR_LIST__> | |
| 400d05: 48 83 f8 ff cmp $0xffffffffffffffff,%rax | |
| 400d09: 74 14 je 400d1f <__do_global_ctors_aux+0x2f> | |
| 400d0b: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) | |
| 400d10: 48 83 eb 08 sub $0x8,%rbx | |
| 400d14: ff d0 callq *%rax | |
| 400d16: 48 8b 03 mov (%rbx),%rax | |
| 400d19: 48 83 f8 ff cmp $0xffffffffffffffff,%rax | |
| 400d1d: 75 f1 jne 400d10 <__do_global_ctors_aux+0x20> | |
| 400d1f: 48 83 c4 08 add $0x8,%rsp | |
| 400d23: 5b pop %rbx | |
| 400d24: c9 leaveq | |
| 400d25: c3 retq | |
| 400d26: 90 nop | |
| 400d27: 90 nop | |
| Disassembly of section .fini: | |
| 0000000000400d28 <_fini>: | |
| 400d28: 48 83 ec 08 sub $0x8,%rsp | |
| 400d2c: e8 df f9 ff ff callq 400710 <__do_global_dtors_aux> | |
| 400d31: 48 83 c4 08 add $0x8,%rsp | |
| 400d35: c3 retq |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment