authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-29 15:00:54+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-29 15:01:45+02:00
logc8ea81bf96e9acae0a2f627e354a92af575008d9
tree514a2410cc8e57525b9ae65f6dd03520c4b87883
parentc04be630d996a0e01fd3cf05e6cade006e4226ce
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

test: Sort module test and C ABI test target tables.

I removed the commented-out entries for backends that are bitrotted. Can add these back later when we reboot those backends.

1 files changed, 359 insertions(+), 363 deletions(-)

test/tests.zig+359-363
...@@ -45,6 +45,8 @@ const test_targets = blk: {...@@ -45,6 +45,8 @@ const test_targets = blk: {
45 // lot of branches)45 // lot of branches)
46 @setEvalBranchQuota(50000);46 @setEvalBranchQuota(50000);
47 break :blk [_]TestTarget{47 break :blk [_]TestTarget{
48 // Native Targets
49
48 .{},50 .{},
49 .{51 .{
50 .link_libc = true,52 .link_libc = true,
...@@ -52,6 +54,7 @@ const test_targets = blk: {...@@ -52,6 +54,7 @@ const test_targets = blk: {
52 .{54 .{
53 .single_threaded = true,55 .single_threaded = true,
54 },56 },
57
55 .{58 .{
56 .optimize_mode = .ReleaseFast,59 .optimize_mode = .ReleaseFast,
57 },60 },
...@@ -94,226 +97,8 @@ const test_targets = blk: {...@@ -94,226 +97,8 @@ const test_targets = blk: {
94 },97 },
95 .link_libc = true,98 .link_libc = true,
96 },99 },
97 .{
98 .target = .{
99 .cpu_arch = .x86_64,
100 .os_tag = .linux,
101 .abi = .none,
102 },
103 .use_llvm = false,
104 .use_lld = false,
105 },
106 .{
107 .target = .{
108 .cpu_arch = .x86_64,
109 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v2 },
110 .os_tag = .linux,
111 .abi = .none,
112 },
113 .use_llvm = false,
114 .use_lld = false,
115 .pic = true,
116 },
117 .{
118 .target = .{
119 .cpu_arch = .x86_64,
120 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v3 },
121 .os_tag = .linux,
122 .abi = .none,
123 },
124 .use_llvm = false,
125 .use_lld = false,
126 .strip = true,
127 },
128 // Doesn't support new liveness
129 //.{
130 // .target = .{
131 // .cpu_arch = .aarch64,
132 // .os_tag = .linux,
133 // },
134 // .use_llvm = false,
135 // .use_lld = false,
136 //},
137 .{
138 .target = .{
139 .cpu_arch = .wasm32,
140 .os_tag = .wasi,
141 },
142 .use_llvm = false,
143 .use_lld = false,
144 },
145 .{
146 .target = std.Target.Query.parse(.{
147 .arch_os_abi = "spirv64-vulkan",
148 .cpu_features = "vulkan_v1_2+physical_storage_buffer+int64+float16+float64",
149 }) catch unreachable,
150 .use_llvm = false,
151 .use_lld = false,
152 .skip_modules = &.{ "c-import", "zigc", "std" },
153 },
154 // https://github.com/ziglang/zig/issues/13623
155 //.{
156 // .target = .{
157 // .cpu_arch = .arm,
158 // .os_tag = .linux,
159 // },
160 // .use_llvm = false,
161 // .use_lld = false,
162 //},
163 // https://github.com/ziglang/zig/issues/13623
164 //.{
165 // .target = std.Target.Query.parse(.{
166 // .arch_os_abi = "arm-linux-none",
167 // .cpu_features = "generic+v8a",
168 // }) catch unreachable,
169 // .use_llvm = false,
170 // .use_lld = false,
171 //},
172 // Doesn't support new liveness
173 //.{
174 // .target = .{
175 // .cpu_arch = .aarch64,
176 // .os_tag = .macos,
177 // .abi = .none,
178 // },
179 // .use_llvm = false,
180 // .use_lld = false,
181 //},
182 .{
183 .target = .{
184 .cpu_arch = .x86_64,
185 .os_tag = .macos,
186 .abi = .none,
187 },
188 .use_llvm = false,
189 .use_lld = false,
190 },
191 .{
192 .target = .{
193 .cpu_arch = .x86_64,
194 .os_tag = .windows,
195 .abi = .gnu,
196 },
197 .use_llvm = false,
198 .use_lld = false,
199 },
200
201 .{
202 .target = .{
203 .cpu_arch = .wasm32,
204 .os_tag = .wasi,
205 },
206 .link_libc = false,
207 },
208 .{
209 .target = .{
210 .cpu_arch = .wasm32,
211 .os_tag = .wasi,
212 },
213 .link_libc = true,
214 },
215
216 .{
217 .target = .{
218 .cpu_arch = .x86_64,
219 .os_tag = .linux,
220 .abi = .none,
221 },
222 },
223 .{
224 .target = .{
225 .cpu_arch = .x86_64,
226 .os_tag = .linux,
227 .abi = .gnu,
228 },
229 .link_libc = true,
230 },
231 .{
232 .target = .{
233 .cpu_arch = .x86_64,
234 .os_tag = .linux,
235 .abi = .gnux32,
236 },
237 .link_libc = true,
238 },
239 .{
240 .target = .{
241 .cpu_arch = .x86_64,
242 .os_tag = .linux,
243 .abi = .musl,
244 },
245 .link_libc = true,
246 },
247 .{
248 .target = .{
249 .cpu_arch = .x86_64,
250 .os_tag = .linux,
251 .abi = .musl,
252 },
253 .linkage = .dynamic,
254 .link_libc = true,
255 },
256 .{
257 .target = .{
258 .cpu_arch = .x86_64,
259 .os_tag = .linux,
260 .abi = .muslx32,
261 },
262 .link_libc = true,
263 },
264 .{
265 .target = .{
266 .cpu_arch = .x86_64,
267 .os_tag = .linux,
268 .abi = .muslx32,
269 },
270 .linkage = .dynamic,
271 .link_libc = true,
272 .extra_target = true,
273 },
274 .{
275 .target = .{
276 .cpu_arch = .x86_64,
277 .os_tag = .linux,
278 .abi = .musl,
279 },
280 .link_libc = true,
281 .use_lld = false,
282 },
283100
284 .{101 // Linux Targets
285 .target = .{
286 .cpu_arch = .x86,
287 .os_tag = .linux,
288 .abi = .none,
289 },
290 },
291 .{
292 .target = .{
293 .cpu_arch = .x86,
294 .os_tag = .linux,
295 .abi = .musl,
296 },
297 .link_libc = true,
298 },
299 .{
300 .target = .{
301 .cpu_arch = .x86,
302 .os_tag = .linux,
303 .abi = .musl,
304 },
305 .linkage = .dynamic,
306 .link_libc = true,
307 .extra_target = true,
308 },
309 .{
310 .target = .{
311 .cpu_arch = .x86,
312 .os_tag = .linux,
313 .abi = .gnu,
314 },
315 .link_libc = true,
316 },
317102
318 .{103 .{
319 .target = .{104 .target = .{
...@@ -347,14 +132,6 @@ const test_targets = blk: {...@@ -347,14 +132,6 @@ const test_targets = blk: {
347 },132 },
348 .link_libc = true,133 .link_libc = true,
349 },134 },
350 .{
351 .target = .{
352 .cpu_arch = .aarch64,
353 .os_tag = .windows,
354 .abi = .gnu,
355 },
356 .link_libc = true,
357 },
358135
359 .{136 .{
360 .target = .{137 .target = .{
...@@ -528,71 +305,6 @@ const test_targets = blk: {...@@ -528,71 +305,6 @@ const test_targets = blk: {
528 .link_libc = true,305 .link_libc = true,
529 },306 },
530307
531 // Calls are normally lowered to branch instructions that only support +/- 16 MB range when
532 // targeting Thumb. This easily becomes insufficient for our test binaries, so use long
533 // calls to avoid out-of-range relocations.
534 .{
535 .target = std.Target.Query.parse(.{
536 .arch_os_abi = "thumb-linux-eabi",
537 .cpu_features = "baseline+long_calls",
538 }) catch unreachable,
539 .pic = false, // Long calls don't work with PIC.
540 },
541 .{
542 .target = std.Target.Query.parse(.{
543 .arch_os_abi = "thumb-linux-eabihf",
544 .cpu_features = "baseline+long_calls",
545 }) catch unreachable,
546 .pic = false, // Long calls don't work with PIC.
547 },
548 .{
549 .target = std.Target.Query.parse(.{
550 .arch_os_abi = "thumb-linux-musleabi",
551 .cpu_features = "baseline+long_calls",
552 }) catch unreachable,
553 .link_libc = true,
554 .pic = false, // Long calls don't work with PIC.
555 },
556 .{
557 .target = std.Target.Query.parse(.{
558 .arch_os_abi = "thumb-linux-musleabihf",
559 .cpu_features = "baseline+long_calls",
560 }) catch unreachable,
561 .link_libc = true,
562 .pic = false, // Long calls don't work with PIC.
563 },
564
565 .{
566 .target = std.Target.Query.parse(.{
567 .arch_os_abi = "thumbeb-linux-eabi",
568 .cpu_features = "baseline+long_calls",
569 }) catch unreachable,
570 .pic = false, // Long calls don't work with PIC.
571 },
572 .{
573 .target = std.Target.Query.parse(.{
574 .arch_os_abi = "thumbeb-linux-eabihf",
575 .cpu_features = "baseline+long_calls",
576 }) catch unreachable,
577 .pic = false, // Long calls don't work with PIC.
578 },
579 .{
580 .target = std.Target.Query.parse(.{
581 .arch_os_abi = "thumbeb-linux-musleabi",
582 .cpu_features = "baseline+long_calls",
583 }) catch unreachable,
584 .link_libc = true,
585 .pic = false, // Long calls don't work with PIC.
586 },
587 .{
588 .target = std.Target.Query.parse(.{
589 .arch_os_abi = "thumbeb-linux-musleabihf",
590 .cpu_features = "baseline+long_calls",
591 }) catch unreachable,
592 .link_libc = true,
593 .pic = false, // Long calls don't work with PIC.
594 },
595
596 .{308 .{
597 .target = .{309 .target = .{
598 .cpu_arch = .hexagon,310 .cpu_arch = .hexagon,
...@@ -632,6 +344,7 @@ const test_targets = blk: {...@@ -632,6 +344,7 @@ const test_targets = blk: {
632 .os_tag = .linux,344 .os_tag = .linux,
633 .abi = .none,345 .abi = .none,
634 },346 },
347 // https://github.com/ziglang/zig/issues/23696
635 .skip_modules = &.{"std"},348 .skip_modules = &.{"std"},
636 },349 },
637 .{350 .{
...@@ -641,6 +354,7 @@ const test_targets = blk: {...@@ -641,6 +354,7 @@ const test_targets = blk: {
641 .abi = .musl,354 .abi = .musl,
642 },355 },
643 .link_libc = true,356 .link_libc = true,
357 // https://github.com/ziglang/zig/issues/23696
644 .skip_modules = &.{"std"},358 .skip_modules = &.{"std"},
645 },359 },
646 .{360 .{
...@@ -651,6 +365,7 @@ const test_targets = blk: {...@@ -651,6 +365,7 @@ const test_targets = blk: {
651 },365 },
652 .linkage = .dynamic,366 .linkage = .dynamic,
653 .link_libc = true,367 .link_libc = true,
368 // https://github.com/ziglang/zig/issues/23696
654 .skip_modules = &.{"std"},369 .skip_modules = &.{"std"},
655 .extra_target = true,370 .extra_target = true,
656 },371 },
...@@ -661,6 +376,7 @@ const test_targets = blk: {...@@ -661,6 +376,7 @@ const test_targets = blk: {
661 .abi = .gnu,376 .abi = .gnu,
662 },377 },
663 .link_libc = true,378 .link_libc = true,
379 // https://github.com/ziglang/zig/issues/23696
664 .skip_modules = &.{"std"},380 .skip_modules = &.{"std"},
665 },381 },
666382
...@@ -1061,20 +777,6 @@ const test_targets = blk: {...@@ -1061,20 +777,6 @@ const test_targets = blk: {
1061 .link_libc = true,777 .link_libc = true,
1062 },778 },
1063779
1064 .{
1065 .target = std.Target.Query.parse(.{
1066 .arch_os_abi = "riscv32-linux-none",
1067 .cpu_features = "baseline-d-f",
1068 }) catch unreachable,
1069 },
1070 .{
1071 .target = std.Target.Query.parse(.{
1072 .arch_os_abi = "riscv32-linux-musl",
1073 .cpu_features = "baseline-d-f",
1074 }) catch unreachable,
1075 .link_libc = true,
1076 },
1077
1078 .{780 .{
1079 .target = .{781 .target = .{
1080 .cpu_arch = .riscv32,782 .cpu_arch = .riscv32,
...@@ -1082,6 +784,12 @@ const test_targets = blk: {...@@ -1082,6 +784,12 @@ const test_targets = blk: {
1082 .abi = .none,784 .abi = .none,
1083 },785 },
1084 },786 },
787 .{
788 .target = std.Target.Query.parse(.{
789 .arch_os_abi = "riscv32-linux-none",
790 .cpu_features = "baseline-d-f",
791 }) catch unreachable,
792 },
1085 .{793 .{
1086 .target = .{794 .target = .{
1087 .cpu_arch = .riscv32,795 .cpu_arch = .riscv32,
...@@ -1100,6 +808,13 @@ const test_targets = blk: {...@@ -1100,6 +808,13 @@ const test_targets = blk: {
1100 .link_libc = true,808 .link_libc = true,
1101 .extra_target = true,809 .extra_target = true,
1102 },810 },
811 .{
812 .target = std.Target.Query.parse(.{
813 .arch_os_abi = "riscv32-linux-musl",
814 .cpu_features = "baseline-d-f",
815 }) catch unreachable,
816 .link_libc = true,
817 },
1103 .{818 .{
1104 .target = .{819 .target = .{
1105 .cpu_arch = .riscv32,820 .cpu_arch = .riscv32,
...@@ -1112,17 +827,11 @@ const test_targets = blk: {...@@ -1112,17 +827,11 @@ const test_targets = blk: {
1112 .{827 .{
1113 .target = std.Target.Query.parse(.{828 .target = std.Target.Query.parse(.{
1114 .arch_os_abi = "riscv64-linux-none",829 .arch_os_abi = "riscv64-linux-none",
1115 .cpu_features = "baseline-d-f",830 .cpu_features = "baseline+v+zbb",
1116 }) catch unreachable,
1117 },
1118 .{
1119 .target = std.Target.Query.parse(.{
1120 .arch_os_abi = "riscv64-linux-musl",
1121 .cpu_features = "baseline-d-f",
1122 }) catch unreachable,831 }) catch unreachable,
1123 .link_libc = true,832 .use_llvm = false,
833 .use_lld = false,
1124 },834 },
1125
1126 .{835 .{
1127 .target = .{836 .target = .{
1128 .cpu_arch = .riscv64,837 .cpu_arch = .riscv64,
...@@ -1130,6 +839,12 @@ const test_targets = blk: {...@@ -1130,6 +839,12 @@ const test_targets = blk: {
1130 .abi = .none,839 .abi = .none,
1131 },840 },
1132 },841 },
842 .{
843 .target = std.Target.Query.parse(.{
844 .arch_os_abi = "riscv64-linux-none",
845 .cpu_features = "baseline-d-f",
846 }) catch unreachable,
847 },
1133 .{848 .{
1134 .target = .{849 .target = .{
1135 .cpu_arch = .riscv64,850 .cpu_arch = .riscv64,
...@@ -1148,6 +863,13 @@ const test_targets = blk: {...@@ -1148,6 +863,13 @@ const test_targets = blk: {
1148 .link_libc = true,863 .link_libc = true,
1149 .extra_target = true,864 .extra_target = true,
1150 },865 },
866 .{
867 .target = std.Target.Query.parse(.{
868 .arch_os_abi = "riscv64-linux-musl",
869 .cpu_features = "baseline-d-f",
870 }) catch unreachable,
871 .link_libc = true,
872 },
1151 .{873 .{
1152 .target = .{874 .target = .{
1153 .cpu_arch = .riscv64,875 .cpu_arch = .riscv64,
...@@ -1157,15 +879,6 @@ const test_targets = blk: {...@@ -1157,15 +879,6 @@ const test_targets = blk: {
1157 .link_libc = true,879 .link_libc = true,
1158 },880 },
1159881
1160 .{
1161 .target = std.Target.Query.parse(.{
1162 .arch_os_abi = "riscv64-linux-musl",
1163 .cpu_features = "baseline+v+zbb",
1164 }) catch unreachable,
1165 .use_llvm = false,
1166 .use_lld = false,
1167 },
1168
1169 .{882 .{
1170 .target = .{883 .target = .{
1171 .cpu_arch = .s390x,884 .cpu_arch = .s390x,
...@@ -1201,14 +914,206 @@ const test_targets = blk: {...@@ -1201,14 +914,206 @@ const test_targets = blk: {
1201 .link_libc = true,914 .link_libc = true,
1202 },915 },
1203916
917 // Calls are normally lowered to branch instructions that only support +/- 16 MB range when
918 // targeting Thumb. This easily becomes insufficient for our test binaries, so use long
919 // calls to avoid out-of-range relocations.
920 .{
921 .target = std.Target.Query.parse(.{
922 .arch_os_abi = "thumb-linux-eabi",
923 .cpu_features = "baseline+long_calls",
924 }) catch unreachable,
925 .pic = false, // Long calls don't work with PIC.
926 },
927 .{
928 .target = std.Target.Query.parse(.{
929 .arch_os_abi = "thumb-linux-eabihf",
930 .cpu_features = "baseline+long_calls",
931 }) catch unreachable,
932 .pic = false, // Long calls don't work with PIC.
933 },
934 .{
935 .target = std.Target.Query.parse(.{
936 .arch_os_abi = "thumb-linux-musleabi",
937 .cpu_features = "baseline+long_calls",
938 }) catch unreachable,
939 .link_libc = true,
940 .pic = false, // Long calls don't work with PIC.
941 },
942 .{
943 .target = std.Target.Query.parse(.{
944 .arch_os_abi = "thumb-linux-musleabihf",
945 .cpu_features = "baseline+long_calls",
946 }) catch unreachable,
947 .link_libc = true,
948 .pic = false, // Long calls don't work with PIC.
949 },
950
951 .{
952 .target = std.Target.Query.parse(.{
953 .arch_os_abi = "thumbeb-linux-eabi",
954 .cpu_features = "baseline+long_calls",
955 }) catch unreachable,
956 .pic = false, // Long calls don't work with PIC.
957 },
958 .{
959 .target = std.Target.Query.parse(.{
960 .arch_os_abi = "thumbeb-linux-eabihf",
961 .cpu_features = "baseline+long_calls",
962 }) catch unreachable,
963 .pic = false, // Long calls don't work with PIC.
964 },
965 .{
966 .target = std.Target.Query.parse(.{
967 .arch_os_abi = "thumbeb-linux-musleabi",
968 .cpu_features = "baseline+long_calls",
969 }) catch unreachable,
970 .link_libc = true,
971 .pic = false, // Long calls don't work with PIC.
972 },
973 .{
974 .target = std.Target.Query.parse(.{
975 .arch_os_abi = "thumbeb-linux-musleabihf",
976 .cpu_features = "baseline+long_calls",
977 }) catch unreachable,
978 .link_libc = true,
979 .pic = false, // Long calls don't work with PIC.
980 },
981
982 .{
983 .target = .{
984 .cpu_arch = .x86,
985 .os_tag = .linux,
986 .abi = .none,
987 },
988 },
989 .{
990 .target = .{
991 .cpu_arch = .x86,
992 .os_tag = .linux,
993 .abi = .musl,
994 },
995 .link_libc = true,
996 },
997 .{
998 .target = .{
999 .cpu_arch = .x86,
1000 .os_tag = .linux,
1001 .abi = .musl,
1002 },
1003 .linkage = .dynamic,
1004 .link_libc = true,
1005 .extra_target = true,
1006 },
1007 .{
1008 .target = .{
1009 .cpu_arch = .x86,
1010 .os_tag = .linux,
1011 .abi = .gnu,
1012 },
1013 .link_libc = true,
1014 },
1015
1204 .{1016 .{
1205 .target = .{1017 .target = .{
1206 .cpu_arch = .x86_64,1018 .cpu_arch = .x86_64,
1207 .os_tag = .macos,1019 .os_tag = .linux,
1020 .abi = .none,
1021 },
1022 .use_llvm = false,
1023 .use_lld = false,
1024 },
1025 .{
1026 .target = .{
1027 .cpu_arch = .x86_64,
1028 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v2 },
1029 .os_tag = .linux,
1208 .abi = .none,1030 .abi = .none,
1209 },1031 },
1032 .use_llvm = false,
1033 .use_lld = false,
1034 .pic = true,
1035 },
1036 .{
1037 .target = .{
1038 .cpu_arch = .x86_64,
1039 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v3 },
1040 .os_tag = .linux,
1041 .abi = .none,
1042 },
1043 .use_llvm = false,
1044 .use_lld = false,
1045 .strip = true,
1046 },
1047 .{
1048 .target = .{
1049 .cpu_arch = .x86_64,
1050 .os_tag = .linux,
1051 .abi = .none,
1052 },
1053 },
1054 .{
1055 .target = .{
1056 .cpu_arch = .x86_64,
1057 .os_tag = .linux,
1058 .abi = .gnu,
1059 },
1060 .link_libc = true,
1061 },
1062 .{
1063 .target = .{
1064 .cpu_arch = .x86_64,
1065 .os_tag = .linux,
1066 .abi = .gnux32,
1067 },
1068 .link_libc = true,
1069 },
1070 .{
1071 .target = .{
1072 .cpu_arch = .x86_64,
1073 .os_tag = .linux,
1074 .abi = .musl,
1075 },
1076 .link_libc = true,
1077 },
1078 .{
1079 .target = .{
1080 .cpu_arch = .x86_64,
1081 .os_tag = .linux,
1082 .abi = .musl,
1083 },
1084 .linkage = .dynamic,
1085 .link_libc = true,
1086 },
1087 .{
1088 .target = .{
1089 .cpu_arch = .x86_64,
1090 .os_tag = .linux,
1091 .abi = .muslx32,
1092 },
1093 .link_libc = true,
1094 },
1095 .{
1096 .target = .{
1097 .cpu_arch = .x86_64,
1098 .os_tag = .linux,
1099 .abi = .muslx32,
1100 },
1101 .linkage = .dynamic,
1102 .link_libc = true,
1103 .extra_target = true,
1104 },
1105 .{
1106 .target = .{
1107 .cpu_arch = .x86_64,
1108 .os_tag = .linux,
1109 .abi = .musl,
1110 },
1111 .link_libc = true,
1112 .use_lld = false,
1210 },1113 },
12111114
1115 // macOS Targets
1116
1212 .{1117 .{
1213 .target = .{1118 .target = .{
1214 .cpu_arch = .aarch64,1119 .cpu_arch = .aarch64,
...@@ -1219,18 +1124,68 @@ const test_targets = blk: {...@@ -1219,18 +1124,68 @@ const test_targets = blk: {
12191124
1220 .{1125 .{
1221 .target = .{1126 .target = .{
1222 .cpu_arch = .x86,1127 .cpu_arch = .x86_64,
1223 .os_tag = .windows,1128 .os_tag = .macos,
1224 .abi = .msvc,1129 .abi = .none,
1225 },1130 },
1131 .use_llvm = false,
1226 },1132 },
1227
1228 .{1133 .{
1229 .target = .{1134 .target = .{
1230 .cpu_arch = .x86_64,1135 .cpu_arch = .x86_64,
1136 .os_tag = .macos,
1137 .abi = .none,
1138 },
1139 },
1140
1141 // SPIR-V Targets
1142
1143 .{
1144 .target = std.Target.Query.parse(.{
1145 .arch_os_abi = "spirv64-vulkan",
1146 .cpu_features = "vulkan_v1_2+physical_storage_buffer+int64+float16+float64",
1147 }) catch unreachable,
1148 .use_llvm = false,
1149 .use_lld = false,
1150 .skip_modules = &.{ "c-import", "zigc", "std" },
1151 },
1152
1153 // WASI Targets
1154
1155 .{
1156 .target = .{
1157 .cpu_arch = .wasm32,
1158 .os_tag = .wasi,
1159 .abi = .none,
1160 },
1161 .use_llvm = false,
1162 .use_lld = false,
1163 },
1164 .{
1165 .target = .{
1166 .cpu_arch = .wasm32,
1167 .os_tag = .wasi,
1168 .abi = .none,
1169 },
1170 },
1171 .{
1172 .target = .{
1173 .cpu_arch = .wasm32,
1174 .os_tag = .wasi,
1175 .abi = .musl,
1176 },
1177 .link_libc = true,
1178 },
1179
1180 // Windows Targets
1181
1182 .{
1183 .target = .{
1184 .cpu_arch = .aarch64,
1231 .os_tag = .windows,1185 .os_tag = .windows,
1232 .abi = .msvc,1186 .abi = .gnu,
1233 },1187 },
1188 .link_libc = true,
1234 },1189 },
12351190
1236 .{1191 .{
...@@ -1241,7 +1196,23 @@ const test_targets = blk: {...@@ -1241,7 +1196,23 @@ const test_targets = blk: {
1241 },1196 },
1242 .link_libc = true,1197 .link_libc = true,
1243 },1198 },
1199 .{
1200 .target = .{
1201 .cpu_arch = .x86,
1202 .os_tag = .windows,
1203 .abi = .msvc,
1204 },
1205 },
12441206
1207 .{
1208 .target = .{
1209 .cpu_arch = .x86_64,
1210 .os_tag = .windows,
1211 .abi = .gnu,
1212 },
1213 .use_llvm = false,
1214 .use_lld = false,
1215 },
1245 .{1216 .{
1246 .target = .{1217 .target = .{
1247 .cpu_arch = .x86_64,1218 .cpu_arch = .x86_64,
...@@ -1250,6 +1221,13 @@ const test_targets = blk: {...@@ -1250,6 +1221,13 @@ const test_targets = blk: {
1250 },1221 },
1251 .link_libc = true,1222 .link_libc = true,
1252 },1223 },
1224 .{
1225 .target = .{
1226 .cpu_arch = .x86_64,
1227 .os_tag = .windows,
1228 .abi = .msvc,
1229 },
1230 },
1253 };1231 };
1254};1232};
12551233
...@@ -1263,104 +1241,122 @@ const CAbiTarget = struct {...@@ -1263,104 +1241,122 @@ const CAbiTarget = struct {
1263};1241};
12641242
1265const c_abi_targets = [_]CAbiTarget{1243const c_abi_targets = [_]CAbiTarget{
1244 // Native Targets
1245
1266 .{},1246 .{},
1247
1248 // Linux Targets
1249
1267 .{1250 .{
1268 .target = .{1251 .target = .{
1269 .cpu_arch = .x86_64,1252 .cpu_arch = .aarch64,
1270 .os_tag = .linux,1253 .os_tag = .linux,
1271 .abi = .musl,1254 .abi = .musl,
1272 },1255 },
1273 },1256 },
1257
1274 .{1258 .{
1275 .target = .{1259 .target = .{
1276 .cpu_arch = .x86_64,1260 .cpu_arch = .arm,
1277 .os_tag = .linux,1261 .os_tag = .linux,
1278 .abi = .musl,1262 .abi = .musleabihf,
1279 },1263 },
1280 .use_llvm = false,
1281 .use_lld = false,
1282 .c_defines = &.{"ZIG_BACKEND_STAGE2_X86_64"},
1283 },1264 },
1265
1284 .{1266 .{
1285 .target = .{1267 .target = .{
1286 .cpu_arch = .x86_64,1268 .cpu_arch = .mips,
1287 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v2 },
1288 .os_tag = .linux,1269 .os_tag = .linux,
1289 .abi = .musl,1270 .abi = .musleabihf,
1290 },1271 },
1291 .use_llvm = false,
1292 .use_lld = false,
1293 .strip = true,
1294 .c_defines = &.{"ZIG_BACKEND_STAGE2_X86_64"},
1295 },1272 },
1273
1296 .{1274 .{
1297 .target = .{1275 .target = .{
1298 .cpu_arch = .x86_64,1276 .cpu_arch = .powerpc,
1299 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v3 },
1300 .os_tag = .linux,1277 .os_tag = .linux,
1301 .abi = .musl,1278 .abi = .musleabihf,
1302 },1279 },
1303 .use_llvm = false,
1304 .use_lld = false,
1305 .pic = true,
1306 .c_defines = &.{"ZIG_BACKEND_STAGE2_X86_64"},
1307 },1280 },
1281
1308 .{1282 .{
1309 .target = .{1283 .target = .{
1310 .cpu_arch = .x86,1284 .cpu_arch = .powerpc64le,
1311 .os_tag = .linux,1285 .os_tag = .linux,
1312 .abi = .musl,1286 .abi = .musl,
1313 },1287 },
1314 },1288 },
1289
1315 .{1290 .{
1316 .target = .{1291 .target = .{
1317 .cpu_arch = .aarch64,1292 .cpu_arch = .riscv64,
1318 .os_tag = .linux,1293 .os_tag = .linux,
1319 .abi = .musl,1294 .abi = .musl,
1320 },1295 },
1321 },1296 },
1297
1322 .{1298 .{
1323 .target = .{1299 .target = .{
1324 .cpu_arch = .arm,1300 .cpu_arch = .x86,
1325 .os_tag = .linux,1301 .os_tag = .linux,
1326 .abi = .musleabihf,1302 .abi = .musl,
1327 },1303 },
1328 },1304 },
1305
1329 .{1306 .{
1330 .target = .{1307 .target = .{
1331 .cpu_arch = .mips,1308 .cpu_arch = .x86_64,
1332 .os_tag = .linux,1309 .os_tag = .linux,
1333 .abi = .musleabihf,1310 .abi = .musl,
1334 },1311 },
1312 .use_llvm = false,
1313 .use_lld = false,
1314 .c_defines = &.{"ZIG_BACKEND_STAGE2_X86_64"},
1335 },1315 },
1336 .{1316 .{
1337 .target = .{1317 .target = .{
1338 .cpu_arch = .riscv64,1318 .cpu_arch = .x86_64,
1319 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v2 },
1339 .os_tag = .linux,1320 .os_tag = .linux,
1340 .abi = .musl,1321 .abi = .musl,
1341 },1322 },
1323 .use_llvm = false,
1324 .use_lld = false,
1325 .strip = true,
1326 .c_defines = &.{"ZIG_BACKEND_STAGE2_X86_64"},
1342 },1327 },
1343 .{1328 .{
1344 .target = .{1329 .target = .{
1345 .cpu_arch = .wasm32,1330 .cpu_arch = .x86_64,
1346 .os_tag = .wasi,1331 .cpu_model = .{ .explicit = &std.Target.x86.cpu.x86_64_v3 },
1332 .os_tag = .linux,
1347 .abi = .musl,1333 .abi = .musl,
1348 },1334 },
1335 .use_llvm = false,
1336 .use_lld = false,
1337 .pic = true,
1338 .c_defines = &.{"ZIG_BACKEND_STAGE2_X86_64"},
1349 },1339 },
1350 .{1340 .{
1351 .target = .{1341 .target = .{
1352 .cpu_arch = .powerpc,1342 .cpu_arch = .x86_64,
1353 .os_tag = .linux,1343 .os_tag = .linux,
1354 .abi = .musleabihf,1344 .abi = .musl,
1355 },1345 },
1356 },1346 },
1347
1348 // WASI Targets
1349
1357 .{1350 .{
1358 .target = .{1351 .target = .{
1359 .cpu_arch = .powerpc64le,1352 .cpu_arch = .wasm32,
1360 .os_tag = .linux,1353 .os_tag = .wasi,
1361 .abi = .musl,1354 .abi = .musl,
1362 },1355 },
1363 },1356 },
1357
1358 // Windows Targets
1359
1364 .{1360 .{
1365 .target = .{1361 .target = .{
1366 .cpu_arch = .x86,1362 .cpu_arch = .x86,