csu/init-first.os: file format elf32-i386 Disassembly of section .text: 00000000 : 0: 89 c4 mov %eax,%esp 2: ff e1 jmp *%ecx 00000004 : 4: 50 push %eax 5: ff e1 jmp *%ecx 7: 89 f6 mov %esi,%esi 9: 8d bc 27 00 00 00 00 lea 0x0(%edi),%edi 00000010 <_init>: 10: 55 push %ebp 11: 89 e5 mov %esp,%ebp 13: 83 ec 18 sub $0x18,%esp 16: 89 5d f4 mov %ebx,0xfffffff4(%ebp) 19: e8 fc ff ff ff call 1a <_init+0xa> 1a: R_386_PC32 __i686.get_pc_thunk.bx 1e: 81 c3 02 00 00 00 add $0x2,%ebx 20: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 24: 89 75 f8 mov %esi,0xfffffff8(%ebp) 27: 8b 75 10 mov 0x10(%ebp),%esi 2a: 89 7d fc mov %edi,0xfffffffc(%ebp) 2d: 8b 7d 0c mov 0xc(%ebp),%edi 30: 8b 93 00 00 00 00 mov 0x0(%ebx),%edx 32: R_386_GOT32 _dl_starting_up 36: 85 d2 test %edx,%edx 38: 75 59 jne 93 <_init+0x83> 3a: 31 c0 xor %eax,%eax 3c: 85 c0 test %eax,%eax 3e: 89 83 00 00 00 00 mov %eax,0x0(%ebx) 40: R_386_GOTOFF __libc_multiple_libcs 44: 75 11 jne 57 <_init+0x47> 46: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 48: R_386_GOT32 __fpu_control 4c: 0f b7 00 movzwl (%eax),%eax 4f: 89 04 24 mov %eax,(%esp) 52: e8 fc ff ff ff call 53 <_init+0x43> 53: R_386_PLT32 __setfpucw 57: 8b 45 08 mov 0x8(%ebp),%eax 5a: 89 bb 00 00 00 00 mov %edi,0x0(%ebx) 5c: R_386_GOTOFF __libc_argv 60: 89 83 00 00 00 00 mov %eax,0x0(%ebx) 62: R_386_GOTOFF __libc_argc 66: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 68: R_386_GOT32 __environ 6c: 89 30 mov %esi,(%eax) 6e: 8b 45 08 mov 0x8(%ebp),%eax 71: 89 74 24 08 mov %esi,0x8(%esp) 75: 89 7c 24 04 mov %edi,0x4(%esp) 79: 89 04 24 mov %eax,(%esp) 7c: e8 fc ff ff ff call 7d <_init+0x6d> 7d: R_386_PLT32 __init_misc 81: e8 fc ff ff ff call 82 <_init+0x72> 82: R_386_PLT32 __libc_global_ctors 86: 8b 5d f4 mov 0xfffffff4(%ebp),%ebx 89: 8b 75 f8 mov 0xfffffff8(%ebp),%esi 8c: 8b 7d fc mov 0xfffffffc(%ebp),%edi 8f: 89 ec mov %ebp,%esp 91: 5d pop %ebp 92: c3 ret 93: 8b 12 mov (%edx),%edx 95: b8 01 00 00 00 mov $0x1,%eax 9a: 85 d2 test %edx,%edx 9c: 74 9e je 3c <_init+0x2c> 9e: eb 9a jmp 3a <_init+0x2a> 000000a0 : a0: 55 push %ebp a1: 89 e5 mov %esp,%ebp a3: 57 push %edi a4: 56 push %esi a5: 53 push %ebx a6: 83 ec 2c sub $0x2c,%esp a9: 8b 45 08 mov 0x8(%ebp),%eax ac: 8d 7d 0c lea 0xc(%ebp),%edi af: e8 fc ff ff ff call b0 b0: R_386_PC32 __i686.get_pc_thunk.bx b4: 81 c3 02 00 00 00 add $0x2,%ebx b6: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ ba: 8d 04 87 lea (%edi,%eax,4),%eax bd: 8b 70 04 mov 0x4(%eax),%esi c0: 8d 50 04 lea 0x4(%eax),%edx c3: 85 f6 test %esi,%esi c5: 74 12 je d9 c7: 89 f6 mov %esi,%esi c9: 8d bc 27 00 00 00 00 lea 0x0(%edi),%edi d0: 83 c2 04 add $0x4,%edx d3: 8b 0a mov (%edx),%ecx d5: 85 c9 test %ecx,%ecx d7: 75 f7 jne d0 d9: 8d 72 04 lea 0x4(%edx),%esi dc: 3b 75 0c cmp 0xc(%ebp),%esi df: 74 4e je 12f e1: 8b 56 04 mov 0x4(%esi),%edx e4: 8d 4d f3 lea 0xfffffff3(%ebp),%ecx e7: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax e9: R_386_GOT32 _hurd_init_dtable ed: 89 10 mov %edx,(%eax) ef: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax f1: R_386_GOT32 _hurd_init_dtablesize f5: 8b 56 08 mov 0x8(%esi),%edx f8: 89 10 mov %edx,(%eax) fa: 8b 46 20 mov 0x20(%esi),%eax fd: 85 c0 test %eax,%eax ff: 75 36 jne 137 101: 8b 4e 0c mov 0xc(%esi),%ecx 104: 85 c9 test %ecx,%ecx 106: 74 5b je 163 108: 8b 56 14 mov 0x14(%esi),%edx 10b: 8b 46 18 mov 0x18(%esi),%eax 10e: 89 54 24 10 mov %edx,0x10(%esp) 112: 89 44 24 14 mov %eax,0x14(%esp) 116: 8b 46 10 mov 0x10(%esi),%eax 119: 89 4c 24 08 mov %ecx,0x8(%esp) 11d: 89 7c 24 04 mov %edi,0x4(%esp) 121: 89 44 24 0c mov %eax,0xc(%esp) 125: 8b 06 mov (%esi),%eax 127: 89 04 24 mov %eax,(%esp) 12a: e8 fc ff ff ff call 12b 12b: R_386_PLT32 _hurd_init 12f: 83 c4 2c add $0x2c,%esp 132: 5b pop %ebx 133: 5e pop %esi 134: 5f pop %edi 135: 5d pop %ebp 136: c3 ret 137: 8b 56 1c mov 0x1c(%esi),%edx 13a: 39 d1 cmp %edx,%ecx 13c: 72 06 jb 144 13e: 29 d1 sub %edx,%ecx 140: 39 c8 cmp %ecx,%eax 142: 73 bd jae 101 144: 89 44 24 08 mov %eax,0x8(%esp) 148: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 14a: R_386_GOT32 __mach_task_self_ 14e: 89 54 24 04 mov %edx,0x4(%esp) 152: 8b 00 mov (%eax),%eax 154: 89 04 24 mov %eax,(%esp) 157: e8 fc ff ff ff call 158 158: R_386_PLT32 __vm_deallocate 15c: 8b 4e 0c mov 0xc(%esi),%ecx 15f: 85 c9 test %ecx,%ecx 161: 75 a5 jne 108 163: 8b 56 14 mov 0x14(%esi),%edx 166: 85 d2 test %edx,%edx 168: 75 a1 jne 10b 16a: eb c3 jmp 12f 16c: 8d 74 26 00 lea 0x0(%esi),%esi 00000170 <_dl_init_first>: 170: 55 push %ebp 171: 89 e5 mov %esp,%ebp 173: 57 push %edi 174: 56 push %esi 175: 53 push %ebx 176: e8 fc ff ff ff call 177 <_dl_init_first+0x7> 177: R_386_PC32 __i686.get_pc_thunk.bx 17b: 81 c3 02 00 00 00 add $0x2,%ebx 17d: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 181: 81 ec 8c 00 00 00 sub $0x8c,%esp 187: 8d b3 00 00 00 00 lea 0x0(%ebx),%esi 189: R_386_GOTOFF __start__hurd_preinit_hook 18d: 8d bb 00 00 00 00 lea 0x0(%ebx),%edi 18f: R_386_GOTOFF __stop__hurd_preinit_hook 193: e8 fc ff ff ff call 194 <_dl_init_first+0x24> 194: R_386_PLT32 __mach_init 198: 39 f7 cmp %esi,%edi 19a: 76 0d jbe 1a9 <_dl_init_first+0x39> 19c: 8d 74 26 00 lea 0x0(%esi),%esi 1a0: ff 16 call *(%esi) 1a2: 83 c6 04 add $0x4,%esi 1a5: 39 f7 cmp %esi,%edi 1a7: 77 f7 ja 1a0 <_dl_init_first+0x30> 1a9: 8d 55 0c lea 0xc(%ebp),%edx 1ac: 89 55 b8 mov %edx,0xffffffb8(%ebp) 1af: 8b 55 08 mov 0x8(%ebp),%edx 1b2: 8d 45 08 lea 0x8(%ebp),%eax 1b5: 8b 4d b8 mov 0xffffffb8(%ebp),%ecx 1b8: 8d 7d c8 lea 0xffffffc8(%ebp),%edi 1bb: fc cld 1bc: 89 45 b0 mov %eax,0xffffffb0(%ebp) 1bf: 31 c0 xor %eax,%eax 1c1: 8d 14 91 lea (%ecx,%edx,4),%edx 1c4: b9 0b 00 00 00 mov $0xb,%ecx 1c9: 89 7d 8c mov %edi,0xffffff8c(%ebp) 1cc: 8d 72 04 lea 0x4(%edx),%esi 1cf: 89 6d ac mov %ebp,0xffffffac(%ebp) 1d2: f3 ab rep stos %eax,%es:(%edi) 1d4: 8d 83 00 00 00 00 lea 0x0(%ebx),%eax 1d6: R_386_GOTOFF _nl_global_locale 1da: 89 45 e4 mov %eax,0xffffffe4(%ebp) 1dd: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 1df: R_386_GOT32 __hurd_threadvar_stack_offset 1e3: 8b 4d 8c mov 0xffffff8c(%ebp),%ecx 1e6: 89 08 mov %ecx,(%eax) 1e8: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 1ea: R_386_GOT32 __environ 1ee: 89 30 mov %esi,(%eax) 1f0: 8b 42 04 mov 0x4(%edx),%eax 1f3: 85 c0 test %eax,%eax 1f5: 74 12 je 209 <_dl_init_first+0x99> 1f7: 89 f6 mov %esi,%esi 1f9: 8d bc 27 00 00 00 00 lea 0x0(%edi),%edi 200: 83 c6 04 add $0x4,%esi 203: 8b 3e mov (%esi),%edi 205: 85 ff test %edi,%edi 207: 75 f7 jne 200 <_dl_init_first+0x90> 209: 83 c6 04 add $0x4,%esi 20c: 89 75 bc mov %esi,0xffffffbc(%ebp) 20f: 8b b3 00 00 00 00 mov 0x0(%ebx),%esi 211: R_386_GOT32 __hurd_threadvar_max 215: 83 3e 0a cmpl $0xa,(%esi) 218: 89 75 90 mov %esi,0xffffff90(%ebp) 21b: 77 06 ja 223 <_dl_init_first+0xb3> 21d: c7 06 0b 00 00 00 movl $0xb,(%esi) 223: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 225: R_386_GOT32 _cthread_init_routine 229: 85 c0 test %eax,%eax 22b: 0f 85 8e 00 00 00 jne 2bf <_dl_init_first+0x14f> 231: 8b 55 90 mov 0xffffff90(%ebp),%edx 234: 8b 02 mov (%edx),%eax 236: c1 e0 02 shl $0x2,%eax 239: 89 04 24 mov %eax,(%esp) 23c: e8 fc ff ff ff call 23d <_dl_init_first+0xcd> 23d: R_386_PLT32 _hurd_malloc 241: 85 c0 test %eax,%eax 243: 89 45 88 mov %eax,0xffffff88(%ebp) 246: 74 69 je 2b1 <_dl_init_first+0x141> 248: fc cld 249: 8b 7d 88 mov 0xffffff88(%ebp),%edi 24c: 8b 75 8c mov 0xffffff8c(%ebp),%esi 24f: b9 0b 00 00 00 mov $0xb,%ecx 254: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 256: R_386_GOT32 __hurd_threadvar_stack_offset 25a: f3 a5 rep movsl %ds:(%esi),%es:(%edi) 25c: 8b 55 88 mov 0xffffff88(%ebp),%edx 25f: 8b 4d 90 mov 0xffffff90(%ebp),%ecx 262: 89 10 mov %edx,(%eax) 264: 8b 01 mov (%ecx),%eax 266: 83 f8 0b cmp $0xb,%eax 269: 77 22 ja 28d <_dl_init_first+0x11d> 26b: 8b 7d ac mov 0xffffffac(%ebp),%edi 26e: 8d 8b a0 00 00 00 lea 0xa0(%ebx),%ecx 270: R_386_GOTOFF .text 274: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 276: R_386_GOT32 call_init1 27a: 8b 57 04 mov 0x4(%edi),%edx 27d: 89 47 04 mov %eax,0x4(%edi) 280: 89 d0 mov %edx,%eax 282: 81 c4 8c 00 00 00 add $0x8c,%esp 288: 5b pop %ebx 289: 5e pop %esi 28a: 5f pop %edi 28b: 5d pop %ebp 28c: c3 ret 28d: ba 0b 00 00 00 mov $0xb,%edx 292: 8d b4 26 00 00 00 00 lea 0x0(%esi),%esi 299: 8d bc 27 00 00 00 00 lea 0x0(%edi),%edi 2a0: 8b 75 88 mov 0xffffff88(%ebp),%esi 2a3: c7 04 96 00 00 00 00 movl $0x0,(%esi,%edx,4) 2aa: 42 inc %edx 2ab: 39 c2 cmp %eax,%edx 2ad: 75 f1 jne 2a0 <_dl_init_first+0x130> 2af: eb ba jmp 26b <_dl_init_first+0xfb> 2b1: 8d 83 00 00 00 00 lea 0x0(%ebx),%eax 2b3: R_386_GOTOFF .LC2 2b7: 89 04 24 mov %eax,(%esp) 2ba: e8 fc ff ff ff call 2bb <_dl_init_first+0x14b> 2bb: R_386_PLT32 __libc_fatal 2bf: 8b 00 mov (%eax),%eax 2c1: 85 c0 test %eax,%eax 2c3: 0f 84 68 ff ff ff je 231 <_dl_init_first+0xc1> 2c9: ff d0 call *%eax 2cb: 89 45 c0 mov %eax,0xffffffc0(%ebp) 2ce: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 2d0: R_386_GOT32 __hurd_sigthread_stack_base 2d4: 8b 7d c0 mov 0xffffffc0(%ebp),%edi 2d7: 3b 38 cmp (%eax),%edi 2d9: 72 0e jb 2e9 <_dl_init_first+0x179> 2db: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 2dd: R_386_GOT32 __hurd_sigthread_stack_end 2e1: 3b 38 cmp (%eax),%edi 2e3: 0f 82 ff 00 00 00 jb 3e8 <_dl_init_first+0x278> 2e9: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 2eb: R_386_GOT32 __hurd_threadvar_stack_mask 2ef: 8b 55 c0 mov 0xffffffc0(%ebp),%edx 2f2: 8b 30 mov (%eax),%esi 2f4: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 2f6: R_386_GOT32 __hurd_threadvar_stack_offset 2fa: 21 f2 and %esi,%edx 2fc: 8b 08 mov (%eax),%ecx 2fe: 01 ca add %ecx,%edx 300: 89 d7 mov %edx,%edi 302: b9 0b 00 00 00 mov $0xb,%ecx 307: 8b 75 8c mov 0xffffff8c(%ebp),%esi 30a: fc cld 30b: f3 a5 rep movsl %ds:(%esi),%es:(%edi) 30d: 8b 55 b0 mov 0xffffffb0(%ebp),%edx 310: 8b 45 bc mov 0xffffffbc(%ebp),%eax 313: 8b 75 b0 mov 0xffffffb0(%ebp),%esi 316: 29 d0 sub %edx,%eax 318: 8b 55 c0 mov 0xffffffc0(%ebp),%edx 31b: 89 45 b4 mov %eax,0xffffffb4(%ebp) 31e: c1 e0 02 shl $0x2,%eax 321: 29 c2 sub %eax,%edx 323: 8b 45 b4 mov 0xffffffb4(%ebp),%eax 326: 8d 8a 40 ff ff ff lea 0xffffff40(%edx),%ecx 32c: 89 4d a0 mov %ecx,0xffffffa0(%ebp) 32f: 89 cf mov %ecx,%edi 331: 83 f8 07 cmp $0x7,%eax 334: 89 45 80 mov %eax,0xffffff80(%ebp) 337: 76 22 jbe 35b <_dl_init_first+0x1eb> 339: f6 c1 04 test $0x4,%cl 33c: 74 1d je 35b <_dl_init_first+0x1eb> 33e: 8b 06 mov (%esi),%eax 340: 8d ba 44 ff ff ff lea 0xffffff44(%edx),%edi 346: 89 82 40 ff ff ff mov %eax,0xffffff40(%edx) 34c: 8b 55 b4 mov 0xffffffb4(%ebp),%edx 34f: 8b 75 b0 mov 0xffffffb0(%ebp),%esi 352: 83 ea 04 sub $0x4,%edx 355: 83 c6 04 add $0x4,%esi 358: 89 55 80 mov %edx,0xffffff80(%ebp) 35b: 8b 55 80 mov 0xffffff80(%ebp),%edx 35e: fc cld 35f: c1 ea 02 shr $0x2,%edx 362: 89 d1 mov %edx,%ecx 364: f3 a5 rep movsl %ds:(%esi),%es:(%edi) 366: f6 45 80 02 testb $0x2,0xffffff80(%ebp) 36a: 89 ca mov %ecx,%edx 36c: 74 0c je 37a <_dl_init_first+0x20a> 36e: 0f b7 06 movzwl (%esi),%eax 371: 83 c6 02 add $0x2,%esi 374: 66 89 07 mov %ax,(%edi) 377: 83 c7 02 add $0x2,%edi 37a: f6 45 80 01 testb $0x1,0xffffff80(%ebp) 37e: 74 05 je 385 <_dl_init_first+0x215> 380: 0f b6 06 movzbl (%esi),%eax 383: 88 07 mov %al,(%edi) 385: 8b 8b 00 00 00 00 mov 0x0(%ebx),%ecx 387: R_386_GOT32 _dl_argv 38b: 8b 75 b8 mov 0xffffffb8(%ebp),%esi 38e: 3b 31 cmp (%ecx),%esi 390: 75 6f jne 401 <_dl_init_first+0x291> 392: 8b 45 a0 mov 0xffffffa0(%ebp),%eax 395: 8b 7d a0 mov 0xffffffa0(%ebp),%edi 398: 83 c0 04 add $0x4,%eax 39b: 89 01 mov %eax,(%ecx) 39d: 8b 45 b4 mov 0xffffffb4(%ebp),%eax 3a0: 8b 4d bc mov 0xffffffbc(%ebp),%ecx 3a3: 01 c7 add %eax,%edi 3a5: 8b 45 b8 mov 0xffffffb8(%ebp),%eax 3a8: 89 7d 84 mov %edi,0xffffff84(%ebp) 3ab: 3b 08 cmp (%eax),%ecx 3ad: 74 46 je 3f5 <_dl_init_first+0x285> 3af: fc cld 3b0: 8b 7d 84 mov 0xffffff84(%ebp),%edi 3b3: 8b 75 bc mov 0xffffffbc(%ebp),%esi 3b6: b9 0c 00 00 00 mov $0xc,%ecx 3bb: f3 a5 rep movsl %ds:(%esi),%es:(%edi) 3bd: 8b 4d ac mov 0xffffffac(%ebp),%ecx 3c0: 8b 75 a0 mov 0xffffffa0(%ebp),%esi 3c3: 8b 55 a0 mov 0xffffffa0(%ebp),%edx 3c6: 8b 7d b0 mov 0xffffffb0(%ebp),%edi 3c9: 8b 41 04 mov 0x4(%ecx),%eax 3cc: 8d 8b a0 00 00 00 lea 0xa0(%ebx),%ecx 3ce: R_386_GOTOFF .text 3d2: 83 ea 04 sub $0x4,%edx 3d5: 89 46 fc mov %eax,0xfffffffc(%esi) 3d8: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 3da: R_386_GOT32 switch_stacks 3de: 89 47 fc mov %eax,0xfffffffc(%edi) 3e1: 89 d0 mov %edx,%eax 3e3: e9 9a fe ff ff jmp 282 <_dl_init_first+0x112> 3e8: 8b 83 00 00 00 00 mov 0x0(%ebx),%eax 3ea: R_386_GOT32 __hurd_sigthread_variables 3ee: 8b 10 mov (%eax),%edx 3f0: e9 0b ff ff ff jmp 300 <_dl_init_first+0x190> 3f5: fc cld 3f6: b9 0c 00 00 00 mov $0xc,%ecx 3fb: 89 d0 mov %edx,%eax 3fd: f3 ab rep stos %eax,%es:(%edi) 3ff: eb bc jmp 3bd <_dl_init_first+0x24d> 401: 8d 83 00 00 00 00 lea 0x0(%ebx),%eax 403: R_386_GOTOFF .rodata 407: 89 44 24 0c mov %eax,0xc(%esp) 40b: b8 e3 00 00 00 mov $0xe3,%eax 410: 89 44 24 08 mov %eax,0x8(%esp) 414: 8d 83 00 00 00 00 lea 0x0(%ebx),%eax 416: R_386_GOTOFF .LC0 41a: 89 44 24 04 mov %eax,0x4(%esp) 41e: 8d 83 00 00 00 00 lea 0x0(%ebx),%eax 420: R_386_GOTOFF .LC1 424: 89 04 24 mov %eax,(%esp) 427: e8 fc ff ff ff call 428 <_dl_init_first+0x2b8> 428: R_386_PLT32 __assert_fail 42c: 8d 74 26 00 lea 0x0(%esi),%esi 00000430 <__libc_init_first>: 430: 55 push %ebp 431: 89 e5 mov %esp,%ebp 433: 5d pop %ebp 434: c3 ret 435: 8d 74 26 00 lea 0x0(%esi),%esi 439: 8d bc 27 00 00 00 00 lea 0x0(%edi),%edi 00000440 <_dl_start>: 440: 55 push %ebp 441: 89 e5 mov %esp,%ebp 443: 53 push %ebx 444: e8 fc ff ff ff call 445 <_dl_start+0x5> 445: R_386_PC32 __i686.get_pc_thunk.bx 449: 81 c3 02 00 00 00 add $0x2,%ebx 44b: R_386_GOTPC _GLOBAL_OFFSET_TABLE_ 44f: 83 ec 04 sub $0x4,%esp 452: e8 fc ff ff ff call 453 <_dl_start+0x13> 453: R_386_PLT32 abort Disassembly of section .gnu.linkonce.t.__i686.get_pc_thunk.bx: 00000000 <__i686.get_pc_thunk.bx>: 0: 8b 1c 24 mov (%esp),%ebx 3: c3 ret