Overview
Comment: | Revert call-x86_64-elf.S back to AT&T syntax
This is for consistency with the Mach-O version. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
541b66cc878f8333a644bc5a144a81a1 |
User & Date: | js on 2021-02-08 02:08:00 |
Other Links: | manifest | tags |
Context
2021-02-08
| ||
02:16 | Revert lookup-asm-x86-elf.S back to AT&T syntax check-in: 5bf7a7f7ba user: js tags: trunk | |
02:08 | Revert call-x86_64-elf.S back to AT&T syntax check-in: 541b66cc87 user: js tags: trunk | |
02:04 | Revert apple-call-x86_64.S back to AT&T syntax check-in: adc1dedc5f user: js tags: trunk | |
2020-06-30
| ||
23:56 | Convert call-x86_64-elf.S to Intel syntax check-in: 71c7f864e4 user: js tags: trunk | |
Changes
Modified src/invocation/call-x86_64-elf.S from [d7ef9dafa4] to [83aad377c2].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * file. */ #include "config.h" #include "invoke-x86_64.h" | < < | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | * file. */ #include "config.h" #include "invoke-x86_64.h" .globl of_invocation_call .section .text of_invocation_call: pushq %rbp movq %rsp, %rbp subq $16, %rsp andq $-16, %rsp movq %rdi, -8(%rbp) movb OFFSET_RETURN_TYPE(%rdi), %r11b cmpb $RETURN_TYPE_STRET, %r11b je .Llookup_stret cmpb $RETURN_TYPE_JMP_STRET, %r11b je .Llookup_stret movq OFFSET_GPR_IN+8(%rdi), %rsi movq OFFSET_GPR_IN+0(%rdi), %rdi call objc_msg_lookup@PLT .Lafter_lookup: movq %rax, -16(%rbp) movq -8(%rbp), %rdi leaq OFFSET_STACK(%rdi), %rdx movq OFFSET_STACK_SIZE(%rdi), %rcx testq $1, %rcx jnz .Lfix_align .Lfill_stack: testq %rcx, %rcx jz .Lstack_filled decq %rcx movq (%rdx,%rcx,8), %r11 pushq %r11 jmp .Lfill_stack .Lstack_filled: movb OFFSET_NUM_SSE_USED(%rdi), %al movaps OFFSET_SSE_INOUT+112(%rdi), %xmm7 movaps OFFSET_SSE_INOUT+96(%rdi), %xmm6 movaps OFFSET_SSE_INOUT+80(%rdi), %xmm5 movaps OFFSET_SSE_INOUT+64(%rdi), %xmm4 movaps OFFSET_SSE_INOUT+48(%rdi), %xmm3 movaps OFFSET_SSE_INOUT+32(%rdi), %xmm2 movaps OFFSET_SSE_INOUT+16(%rdi), %xmm1 movaps OFFSET_SSE_INOUT(%rdi), %xmm0 movq OFFSET_GPR_IN+40(%rdi), %r9 movq OFFSET_GPR_IN+32(%rdi), %r8 movq OFFSET_GPR_IN+24(%rdi), %rcx movq OFFSET_GPR_IN+16(%rdi), %rdx movq OFFSET_GPR_IN+8(%rdi), %rsi movb OFFSET_RETURN_TYPE(%rdi), %r11b movq OFFSET_GPR_IN(%rdi), %rdi cmpb $RETURN_TYPE_JMP, %r11b je .Ljmp_into_method cmpb $RETURN_TYPE_JMP_STRET, %r11b je .Ljmp_into_method movq -16(%rbp), %r11 call *%r11 .Lafter_send: movq -8(%rbp), %rdi movq %rax, OFFSET_GPR_OUT(%rdi) movq %rdx, OFFSET_GPR_OUT+8(%rdi) movaps %xmm0, OFFSET_SSE_INOUT(%rdi) movaps %xmm1, OFFSET_SSE_INOUT+16(%rdi) movb OFFSET_RETURN_TYPE(%rdi), %r11b cmpb $RETURN_TYPE_X87, %r11b je .Lpop_long_double cmpb $RETURN_TYPE_COMPLEX_X87, %r11b je .Lpop_complex_long_double .Lreturn: movq %rbp, %rsp popq %rbp ret .Lfix_align: xorq %r11, %r11 pushq %r11 jmp .Lfill_stack .Llookup_stret: movq OFFSET_GPR_IN+16(%rdi), %rsi movq OFFSET_GPR_IN+8(%rdi), %rdi call objc_msg_lookup_stret@PLT jmp .Lafter_lookup .Ljmp_into_method: movq -16(%rbp), %r11 jmp *%r11 .Lpop_long_double: fstpt OFFSET_X87_OUT(%rdi) jmp .Lreturn .Lpop_complex_long_double: fstpt OFFSET_X87_OUT(%rdi) fstpt OFFSET_X87_OUT+16(%rdi) jmp .Lreturn #ifdef OF_LINUX .section .note.GNU-stack, "", %progbits #endif |