.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), %r13 movslq %r13d, %rax leaq 16(%rdi,%rax,8), %rax movq %rax, -48(%rbp) # 8-byte Spill movq environ@GOTPCREL(%rip), %rax cmpq $0, (%rax) jne .LBB0_2 # BB#1: movq -48(%rbp), %rcx # 8-byte Reload movq %rcx, (%rax) .LBB0_2: addq $8, %rdi testl %r13d, %r13d jle .LBB0_10 # BB#3: movq (%rdi), %rax testq %rax, %rax je .LBB0_10 # BB#4: movq __progname@GOTPCREL(%rip), %rcx jmp .LBB0_5 .p2align 4, 0x90 .LBB0_9: # in Loop: Header=BB0_5 Depth=1 incq %rax .LBB0_5: # =>This Loop Header: Depth=1 # Child Loop BB0_6 Depth 2 movq %rax, (%rcx) jmp .LBB0_6 .p2align 4, 0x90 .LBB0_8: # in Loop: Header=BB0_6 Depth=2 incq %rax .LBB0_6: # Parent Loop BB0_5 Depth=1 # => This Inner Loop Header: Depth=2 movzbl (%rax), %edx cmpb $47, %dl je .LBB0_9 # BB#7: # in Loop: Header=BB0_6 Depth=2 testb %dl, %dl jne .LBB0_8 .LBB0_10: movq %rdi, %r15 cmpq $0, _DYNAMIC@GOTPCREL(%rip) je .LBB0_12 # BB#11: movq %rsi, %rdi callq atexit@PLT cmpq $0, _DYNAMIC@GOTPCREL(%rip) je .LBB0_14 jmp .LBB0_24 .LBB0_12: callq _init_tls@PLT cmpq $0, _DYNAMIC@GOTPCREL(%rip) jne .LBB0_24 .LBB0_14: leaq finalizer(%rip), %rdi callq atexit@PLT leaq __preinit_array_start(%rip), %r12 leaq __preinit_array_end(%rip), %rax subq %r12, %rax movq %rax, %rcx sarq $63, %rcx shrq $61, %rcx addq %rax, %rcx sarq $3, %rcx movq %r15, %r14 movq %r13, %r15 movq %rcx, %r13 je .LBB0_19 # BB#15: xorl %ebx, %ebx .p2align 4, 0x90 .LBB0_16: # =>This Inner Loop Header: Depth=1 movq (%r12), %rax cmpq $2, %rax jb .LBB0_18 # BB#17: # in Loop: Header=BB0_16 Depth=1 movl %r15d, %edi movq %r14, %rsi movq -48(%rbp), %rdx # 8-byte Reload callq *%rax .LBB0_18: # in Loop: Header=BB0_16 Depth=1 incq %rbx addq $8, %r12 cmpq %r13, %rbx jb .LBB0_16 .LBB0_19: movq %r15, %r13 movq %r14, %r15 callq _init leaq __init_array_start(%rip), %rbx leaq __init_array_end(%rip), %rax subq %rbx, %rax movq %rax, %r12 sarq $63, %r12 shrq $61, %r12 addq %rax, %r12 sarq $3, %r12 je .LBB0_24 # BB#20: xorl %r14d, %r14d .p2align 4, 0x90 .LBB0_21: # =>This Inner Loop Header: Depth=1 movq (%rbx), %rax cmpq $2, %rax jb .LBB0_23 # BB#22: # in Loop: Header=BB0_21 Depth=1 movl %r13d, %edi movq %r15, %rsi movq -48(%rbp), %rdx # 8-byte Reload callq *%rax .LBB0_23: # in Loop: Header=BB0_21 Depth=1 incq %r14 addq $8, %rbx cmpq %r12, %r14 jb .LBB0_21 .LBB0_24: movl %r13d, %edi movq %r15, %rsi movq -48(%rbp), %rdx # 8-byte Reload callq main@PLT movl %eax, %edi callq exit@PLT .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 %r14 pushq %rbx .Lcfi11: .cfi_offset %rbx, -32 .Lcfi12: .cfi_offset %r14, -24 leaq __fini_array_start(%rip), %r14 leaq __fini_array_end(%rip), %rax subq %r14, %rax movq %rax, %rbx sarq $63, %rbx shrq $61, %rbx addq %rax, %rbx sarq $3, %rbx je .LBB1_3 .p2align 4, 0x90 .LBB1_1: # =>This Inner Loop Header: Depth=1 movq -8(%r14,%rbx,8), %rax decq %rbx cmpq $1, %rax jbe .LBB1_2 # BB#4: # in Loop: Header=BB1_1 Depth=1 callq *%rax .LBB1_2: # in Loop: Header=BB1_1 Depth=1 testq %rbx, %rbx jne .LBB1_1 .LBB1_3: popq %rbx popq %r14 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