ObjFW  Diff

Differences From Artifact [d1ee87766e]:

To Artifact [98f0f66032]:


12
13
14
15
16
17
18






19
20
21
22
23
24
25

26
27
28
29
30
31
32
33
34
12
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







+
+
+
+
+
+






-
+
-
-







 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#include "config.h"

#include "platform.h"

#ifdef HAVE_CET_H
# include <cet.h>
#else
# define _CET_ENDBR
#endif

.globl _OFForward
.globl _OFForward_stret

.section __TEXT, __text, regular, pure_instructions
_OFForward:
#ifdef HAVE_ENDBR64
	_CET_ENDBR
	endbr64
#endif

	pushq	%rbp
	movq	%rsp, %rbp

	/* Save all arguments */
	subq	$0xC0, %rsp	/* 16-byte alignment */
	movq	%rax, -0x8(%rbp)
105
106
107
108
109
110
111
112

113
114
115
116
117
118
119
120
121
109
110
111
112
113
114
115

116


117
118
119
120
121
122
123







-
+
-
-








	movq	%rbp, %rsp
	popq	%rbp

	jmp	_OFMethodNotFound

_OFForward_stret:
#ifdef HAVE_ENDBR64
	_CET_ENDBR
	endbr64
#endif

	pushq	%rbp
	movq	%rsp, %rbp

	/* Save all arguments */
	subq	$0xC0, %rsp	/* 16-byte alignment */
	movq	%rax, -0x8(%rbp)
194
195
196
197
198
199
200
201

202
203
204
205
206
207
208
209
210
196
197
198
199
200
201
202

203


204
205
206
207
208
209
210







-
+
-
-








	movq	%rbp, %rsp
	popq	%rbp

	jmp	_OFMethodNotFound_stret

init:
#ifdef HAVE_ENDBR64
	_CET_ENDBR
	endbr64
#endif

	leaq	module(%rip), %rdi
	jmp	___objc_exec_class

.section __DATA, __mod_init_func, mod_init_funcs
	.quad init