.include "arch/x64/cfi.s" .text .global __elf_resolve_pltgot // calling convension: // %rsp + 8: index // %rsp + 0: object __elf_resolve_pltgot: .cfi_startproc simple .cfi_def_cfa %rsp, 0 .cfi_rel_offset %rip, 16 sub $8, %rsp # make room for resolved address .cfi_adjust_cfa_offset 8 pushq_cfi %rax pushq_cfi %rbx pushq_cfi %rcx pushq_cfi %rdx pushq_cfi %rsi pushq_cfi %rdi pushq_cfi %rbp pushq_cfi %r8 pushq_cfi %r9 pushq_cfi %r10 pushq_cfi %r11 pushq_cfi %r12 pushq_cfi %r13 pushq_cfi %r14 pushq_cfi %r15 mov 16*8+8(%rsp), %edi mov 16*8+0(%rsp), %rsi call elf_resolve_pltgot mov %rax, 15*8(%rsp) popq_cfi %r15 popq_cfi %r14 popq_cfi %r13 popq_cfi %r12 popq_cfi %r11 popq_cfi %r10 popq_cfi %r9 popq_cfi %r8 popq_cfi %rbp popq_cfi %rdi popq_cfi %rsi popq_cfi %rdx popq_cfi %rcx popq_cfi %rbx popq_cfi %rax ret $16 .cfi_endproc