| ︙ | | |
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
|
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
|
-
+
-
+
+
+
+
+
+
+
+
+
+
-
+
-
-
+
+
-
+
-
+
|
* Runtimes: ObjFW
DragonFlyBSD
------------
* OS Versions: 3.0, 3.3-DEVELOPMENT
* Architectures: x86, x86_64
* Architectures: AMD64, x86
* Compilers: GCC 4.4.7
* Runtimes: ObjFW
FreeBSD
-------
* OS Versions: 9.1-rc3, 10.0
* Architectures: x86_64
* Architectures: AMD64
* Compilers: Clang 3.1, Clang 3.3
* Runtimes: ObjFW
GNU/Hurd
--------
* OS Versions: 0.9
* Architectures: i686
* Compilers: Clang 14.0.6
* Runtimes: ObjFW
Haiku
-----
* OS version: r1-alpha4
* Architectures: x86
* Compilers: Clang 3.2, GCC 4.6.3
* Runtimes: ObjFW
HP-UX
-----
* OS versions: 11i v1 (PA-RISC 2.0), 11i v3 (Itanium)
* OS versions: 11i v1, 11i v3
* Architectures: Itanium, PA-RISC 2.0
* Compilers: GCC 4.7.2, GCC 7.5.0
* Runtimes: ObjFW
* Notes: Exception handling on Itanium in 32 bit mode is broken, you need to
use 64 bit mode by passing `OBJC="gcc -mlp64"` to `configure`.
iOS
---
* Architectures: ARMv7, ARM64
* Compilers: Clang
* Runtimes: Apple
Linux
-----
* Architectures: Alpha, ARMv6, ARMv7, ARM64, Itanium, m68k, MIPS (O32),
MIPS64 (N64), RISC-V 64, PowerPC, S390x, SuperH-4, x86,
* Architectures: Alpha, AMD64, ARMv6, ARMv7, ARM64, Itanium, m68k, MIPS (O32),
MIPS64 (N64), RISC-V 64, PowerPC, S390x, SuperH-4, x86
x86_64
* Compilers: Clang 3.0-10.0, GCC 4.6-10.0
* C libraries: glibc, musl
* Runtimes: ObjFW
macOS
-----
* OS Versions: 10.5, 10.7-10.15, Darling
* Architectures: PowerPC, PowerPC64, x86, x86_64
* Architectures: AMD64, PowerPC, PowerPC64, x86
* Compilers: Clang 3.1-10.0, Apple GCC 4.0.1 & 4.2.1
* Runtimes: Apple, ObjFW
MiNT
----
|
| ︙ | | |
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
|
-
-
+
+
|
* Runtimes: ObjFW
NetBSD
------
* OS Versions: 5.1-9.0
* Architectures: ARM, ARM (big endian, BE8 mode), MIPS (O32), PowerPC, SPARC,
SPARC64, x86, x86_64
* Architectures: AMD64, ARM, ARM (big endian, BE8 mode), MIPS (O32), PowerPC,
SPARC, SPARC64, x86
* Compilers: Clang 3.0-3.2, GCC 4.1.3 & 4.5.3 & 7.4.0
* Runtimes: ObjFW
Nintendo 3DS
------------
|
| ︙ | | |
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
|
-
+
|
* Limitations: No sockets, no shared libraries, not tested on real hardware
OpenBSD
-------
* OS Versions: 5.2-6.7
* Architectures: MIPS64, PA-RISC, PowerPC, SPARC64, x86_64
* Architectures: AMD64, MIPS64, PA-RISC, PowerPC, SPARC64
* Compilers: GCC 6.3.0, Clang 4.0
* Runtimes: ObjFW
PlayStation Portable
--------------------
|
| ︙ | | |
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
|
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
|
-
-
-
+
+
+
|
* Compilers: GCC 4.6.1
* Runtimes: ObjFW
Solaris
-------
* OS Versions: OpenIndiana 2015.03
* Architectures: x86, x86_64
* Compilers: Clang 3.4.2, GCC 4.8.3
* OS Versions: OpenIndiana 2015.03, OpenIndiana 2023.04, Oracle Solaris 11.4
* Architectures: AMD64, x86
* Compilers: Clang 3.4.2, Clang 11.0.0, Clang 13.0.1, GCC 4.8.3, GCC 10.4.0
* Runtimes: ObjFW
Wii
---
* OS Versions: 4.3E / Homebrew Channel 1.1.0
|
| ︙ | | |
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
|
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
|
-
+
-
-
-
+
+
-
+
|
* Limitations: No files, no threads, no sockets, no shared libraries, not
tested on real hardware
Windows
-------
* OS Versions: 98 SE, NT 4.0, XP (x86), 7 (x64), 8 (x64), 8.1 (x64), 10, 11,
* OS Versions: 98 SE, NT 4.0, XP, 7, 8, 8.1, 10, 11, Wine
Wine (x86 & x64)
* Architectures: x86, x86_64, AArch64
* Compilers: GCC 5.3.0 & 6.2.0 from msys2 (x86 & x64),
* Architectures: AArch64, AMD64, x86
* Compilers: GCC 5.3.0 & 6.2.0 from msys2 (AMD64 & x86),
Clang 3.9.0 from msys2 (x86),
Clang 10.0 from msys2 (x86 & x86_64),
Clang 10.0 from msys2 (AMD64 & x86),
Clang 14.0.4 from msys2 (AArch64)
* Runtimes: ObjFW
Others
------
|
| ︙ | | |
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
|
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
|
+
-
|
==========
As forwarding needs hand-written assembly for each combination of CPU
architecture, executable format and calling convention, it is only available
for the following platforms (except resolveClassMethod: and
resolveInstanceMethod:, which are always available):
* AMD64 (SysV/ELF, Apple/Mach-O, Mach-O, Win64/PE)
* ARM (EABI/ELF, Apple/Mach-O)
* ARM64 (ARM64/ELF, Apple/Mach-O)
* MIPS (O32/ELF, EABI/ELF)
* PowerPC (SysV/ELF, EABI/ELF, Apple/Mach-O)
* SPARC (SysV/ELF)
* SPARC64 (SysV/ELF)
* x86 (SysV/ELF, Apple/Mach-O, Win32/PE)
* x86_64 (SysV/ELF, Apple/Mach-O, Mach-O, Win64/PE)
Apple/Mach-O means both, the Apple ABI and runtime, while Mach-O means the
ObjFW runtime on Mach-O.
|