.text .file "/ubixos/usr/src/lib/csu/amd64/crt1.c" # Start of file scope inline assembly .ident "$FreeBSD: releng/11.1/lib/csu/amd64/crt1.c 292000 2015-12-08 19:32:58Z emaste $" .ident "$FreeBSD: releng/11.1/lib/csu/common/crtbrand.c 321309 2017-07-20 23:39:50Z gjb $" .ident "$FreeBSD: releng/11.1/lib/csu/common/ignore_init.c 245133 2013-01-07 17:58:27Z kib $" # End of file scope inline assembly .globl _start .p2align 4, 0x90 .type _start,@function _start: # @_start .cfi_startproc # BB#0: pushq %rbp .Lcfi0: .cfi_def_cfa_offset 16 .Lcfi1: .cfi_offset %rbp, -16 movq %rsp, %rbp .Lcfi2: .cfi_def_cfa_register %rbp pushq %r15 pushq %r14 pushq %r13 pushq %r12 pushq %rbx pushq %rax .Lcfi3: .cfi_offset %rbx, -56 .Lcfi4: .cfi_offset %r12, -48 .Lcfi5: .cfi_offset %r13, -40 .Lcfi6: .cfi_offset %r14, -32 .Lcfi7: .cfi_offset %r15, -24 movq %rdi, %r14 movq (%r14), %r15 movslq %r15d, %rax leaq 16(%r14,%rax,8), %r13 cmpq $0, environ(%rip) jne .LBB0_2 # BB#1: movq %r13, environ(%rip) .LBB0_2: addq $8, %r14 testl %r15d, %r15d jle .LBB0_9 # BB#3: movq (%r14), %rax testq %rax, %rax jne .LBB0_4 jmp .LBB0_9 .p2align 4, 0x90 .LBB0_8: # in Loop: Header=BB0_4 Depth=1 incq %rax .LBB0_4: # =>This Loop Header: Depth=1 # Child Loop BB0_5 Depth 2 movq %rax, __progname(%rip) jmp .LBB0_5 .p2align 4, 0x90 .LBB0_7: # in Loop: Header=BB0_5 Depth=2 incq %rax .LBB0_5: # Parent Loop BB0_4 Depth=1 # => This Inner Loop Header: Depth=2 movzbl (%rax), %ecx cmpb $47, %cl je .LBB0_8 # BB#6: # in Loop: Header=BB0_5 Depth=2 testb %cl, %cl jne .LBB0_7 .LBB0_9: movl $_DYNAMIC, %eax testq %rax, %rax je .LBB0_11 # BB#10: movq %rsi, %rdi callq atexit jmp .LBB0_12 .LBB0_11: callq _init_tls .LBB0_12: movl $_mcleanup, %edi callq atexit movl $eprol, %edi movl $etext, %esi callq monstartup #APP eprol: #NO_APP movl $_DYNAMIC, %eax testq %rax, %rax jne .LBB0_23 # BB#13: movl $finalizer, %edi callq atexit movl $__preinit_array_start, %eax movl $__preinit_array_end, %ecx subq %rax, %rcx movq %rcx, %rax sarq $63, %rax shrq $61, %rax addq %rcx, %rax sarq $3, %rax je .LBB0_18 # BB#14: xorl %r12d, %r12d movl $__preinit_array_start, %eax movl $__preinit_array_end, %ecx subq %rax, %rcx movq %rcx, %rbx sarq $63, %rbx shrq $61, %rbx addq %rcx, %rbx sarq $3, %rbx .p2align 4, 0x90 .LBB0_15: # =>This Inner Loop Header: Depth=1 movq __preinit_array_start(,%r12,8), %rax cmpq $2, %rax jb .LBB0_17 # BB#16: # in Loop: Header=BB0_15 Depth=1 movl %r15d, %edi movq %r14, %rsi movq %r13, %rdx callq *%rax .LBB0_17: # in Loop: Header=BB0_15 Depth=1 incq %r12 cmpq %rbx, %r12 jb .LBB0_15 .LBB0_18: callq _init movl $__init_array_start, %eax movl $__init_array_end, %ecx subq %rax, %rcx movq %rcx, %rax sarq $63, %rax shrq $61, %rax addq %rcx, %rax sarq $3, %rax je .LBB0_23 # BB#19: xorl %ebx, %ebx movl $__init_array_start, %eax movl $__init_array_end, %ecx subq %rax, %rcx movq %rcx, %r12 sarq $63, %r12 shrq $61, %r12 addq %rcx, %r12 sarq $3, %r12 .p2align 4, 0x90 .LBB0_20: # =>This Inner Loop Header: Depth=1 movq __init_array_start(,%rbx,8), %rax cmpq $2, %rax jb .LBB0_22 # BB#21: # in Loop: Header=BB0_20 Depth=1 movl %r15d, %edi movq %r14, %rsi movq %r13, %rdx callq *%rax .LBB0_22: # in Loop: Header=BB0_20 Depth=1 incq %rbx cmpq %r12, %rbx jb .LBB0_20 .LBB0_23: movl %r15d, %edi movq %r14, %rsi movq %r13, %rdx callq main movl %eax, %edi callq exit .Lfunc_end0: .size _start, .Lfunc_end0-_start .cfi_endproc .p2align 4, 0x90 .type finalizer,@function finalizer: # @finalizer .cfi_startproc # BB#0: pushq %rbp .Lcfi8: .cfi_def_cfa_offset 16 .Lcfi9: .cfi_offset %rbp, -16 movq %rsp, %rbp .Lcfi10: .cfi_def_cfa_register %rbp pushq %rbx pushq %rax .Lcfi11: .cfi_offset %rbx, -24 movl $__fini_array_start, %eax movl $__fini_array_end, %ecx subq %rax, %rcx movq %rcx, %rax sarq $63, %rax shrq $61, %rax addq %rcx, %rax sarq $3, %rax je .LBB1_4 # BB#1: movl $__fini_array_start, %eax movl $__fini_array_end, %ecx subq %rax, %rcx movq %rcx, %rbx sarq $63, %rbx shrq $61, %rbx addq %rcx, %rbx sarq $3, %rbx .p2align 4, 0x90 .LBB1_2: # =>This Inner Loop Header: Depth=1 movq __fini_array_start-8(,%rbx,8), %rax decq %rbx cmpq $1, %rax jbe .LBB1_3 # BB#5: # in Loop: Header=BB1_2 Depth=1 callq *%rax .LBB1_3: # in Loop: Header=BB1_2 Depth=1 testq %rbx, %rbx jne .LBB1_2 .LBB1_4: addq $8, %rsp popq %rbx popq %rbp jmp _fini # TAILCALL .Lfunc_end1: .size finalizer, .Lfunc_end1-finalizer .cfi_endproc .type abitag,@object # @abitag .section .note.tag,"a",@note .p2align 2 abitag: .long 8 # 0x8 .long 4 # 0x4 .long 1 # 0x1 .asciz "FreeBSD" .long 1101001 # 0x10ccc9 .size abitag, 24 .type .L.str,@object # @.str .section .rodata.str1.1,"aMS",@progbits,1 .L.str: .zero 1 .size .L.str, 1 .type __progname,@object # @__progname .data .globl __progname .p2align 3 __progname: .quad .L.str .size __progname, 8 .type crt_noinit_tag,@object # @crt_noinit_tag .section .note.tag,"a",@note .p2align 2 crt_noinit_tag: .long 8 # 0x8 .long 4 # 0x4 .long 2 # 0x2 .asciz "FreeBSD" .long 0 # 0x0 .size crt_noinit_tag, 24 .type environ,@object # @environ .comm environ,8,8 .hidden __preinit_array_end .hidden __preinit_array_start .hidden __init_array_end .hidden __init_array_start .hidden __fini_array_end .hidden __fini_array_start .hidden _init .hidden _fini .weak _DYNAMIC .ident "FreeBSD clang version 4.0.0 (tags/RELEASE_400/final 297347) (based on LLVM 4.0.0)" .section ".note.GNU-stack","",@progbits