1
2
3
4
5
6
7
8
9
|
/*
* Copyright (c) 2008-2023 Jonathan Schleifer <js@nil.im>
*
* All rights reserved.
*
* This file is part of ObjFW. It may be distributed under the terms of the
* Q Public License 1.0, which can be found in the file LICENSE.QPL included in
* the packaging of this file.
*
|
|
|
1
2
3
4
5
6
7
8
9
|
/*
* Copyright (c) 2008-2024 Jonathan Schleifer <js@nil.im>
*
* All rights reserved.
*
* This file is part of ObjFW. It may be distributed under the terms of the
* Q Public License 1.0, which can be found in the file LICENSE.QPL included in
* the packaging of this file.
*
|
︙ | | | ︙ | |
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include "platform.h"
.globl OFForward
.globl OFForward_stret
.section .text
OFForward:
pushq %rbp
movq %rsp, %rbp
/* Save all arguments */
subq $0xC0, %rsp /* 16-byte alignment */
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
|
>
>
>
>
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#include "platform.h"
.globl OFForward
.globl OFForward_stret
.section .text
OFForward:
#ifdef HAVE_ENDBR64
endbr64
#endif
pushq %rbp
movq %rsp, %rbp
/* Save all arguments */
subq $0xC0, %rsp /* 16-byte alignment */
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
|
︙ | | | ︙ | |
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
popq %rbp
jmp OFMethodNotFound@PLT
.type OFForward, %function
.size OFForward, .-OFForward
OFForward_stret:
pushq %rbp
movq %rsp, %rbp
/* Save all arguments */
subq $0xC0, %rsp /* 16-byte alignment */
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
|
>
>
>
>
|
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
popq %rbp
jmp OFMethodNotFound@PLT
.type OFForward, %function
.size OFForward, .-OFForward
OFForward_stret:
#ifdef HAVE_ENDBR64
endbr64
#endif
pushq %rbp
movq %rsp, %rbp
/* Save all arguments */
subq $0xC0, %rsp /* 16-byte alignment */
movq %rax, -0x8(%rbp)
movq %rdi, -0x10(%rbp)
|
︙ | | | ︙ | |
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
popq %rbp
jmp OFMethodNotFound_stret@PLT
.type OFForward_stret, %function
.size OFForward_stret, .-OFForward_stret
init:
leaq module(%rip), %rdi
jmp __objc_exec_class@PLT
#ifdef OF_SOLARIS
.section .init_array, "aw"
#else
.section .ctors, "aw", %progbits
|
>
>
>
>
|
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
|
popq %rbp
jmp OFMethodNotFound_stret@PLT
.type OFForward_stret, %function
.size OFForward_stret, .-OFForward_stret
init:
#ifdef HAVE_ENDBR64
endbr64
#endif
leaq module(%rip), %rdi
jmp __objc_exec_class@PLT
#ifdef OF_SOLARIS
.section .init_array, "aw"
#else
.section .ctors, "aw", %progbits
|
︙ | | | ︙ | |