| ... | ... | @@ -93,6 +93,8 @@ pub const Target = union(enum).{ |
| 93 | 93 | /// TODO expose the arch and subarch separately |
| 94 | 94 | pub fn isArmOrThumb(self: Target) bool { |
| 95 | 95 | return switch (self.getArch()) { |
| 96 | builtin.Arch.armv8_5a, |
| 97 | builtin.Arch.armv8_4a, |
| 96 | 98 | builtin.Arch.armv8_3a, |
| 97 | 99 | builtin.Arch.armv8_2a, |
| 98 | 100 | builtin.Arch.armv8_1a, |
| ... | ... | @@ -113,6 +115,8 @@ pub const Target = union(enum).{ |
| 113 | 115 | builtin.Arch.armv5, |
| 114 | 116 | builtin.Arch.armv5te, |
| 115 | 117 | builtin.Arch.armv4t, |
| 118 | builtin.Arch.armebv8_5a, |
| 119 | builtin.Arch.armebv8_4a, |
| 116 | 120 | builtin.Arch.armebv8_3a, |
| 117 | 121 | builtin.Arch.armebv8_2a, |
| 118 | 122 | builtin.Arch.armebv8_1a, |
| ... | ... | @@ -181,6 +185,8 @@ pub const Target = union(enum).{ |
| 181 | 185 | => return 16, |
| 182 | 186 | |
| 183 | 187 | builtin.Arch.arc, |
| 188 | builtin.Arch.armv8_5a, |
| 189 | builtin.Arch.armv8_4a, |
| 184 | 190 | builtin.Arch.armv8_3a, |
| 185 | 191 | builtin.Arch.armv8_2a, |
| 186 | 192 | builtin.Arch.armv8_1a, |
| ... | ... | @@ -201,6 +207,8 @@ pub const Target = union(enum).{ |
| 201 | 207 | builtin.Arch.armv5, |
| 202 | 208 | builtin.Arch.armv5te, |
| 203 | 209 | builtin.Arch.armv4t, |
| 210 | builtin.Arch.armebv8_5a, |
| 211 | builtin.Arch.armebv8_4a, |
| 204 | 212 | builtin.Arch.armebv8_3a, |
| 205 | 213 | builtin.Arch.armebv8_2a, |
| 206 | 214 | builtin.Arch.armebv8_1a, |
| ... | ... | @@ -223,8 +231,8 @@ pub const Target = union(enum).{ |
| 223 | 231 | builtin.Arch.armebv4t, |
| 224 | 232 | builtin.Arch.hexagon, |
| 225 | 233 | builtin.Arch.le32, |
| 226 | | builtin.Arch.mips, |
| 227 | | builtin.Arch.mipsel, |
| 234 | builtin.Arch.mipsr6, |
| 235 | builtin.Arch.mipselr6, |
| 228 | 236 | builtin.Arch.nios2, |
| 229 | 237 | builtin.Arch.powerpc, |
| 230 | 238 | builtin.Arch.r600, |
| ... | ... | @@ -250,6 +258,8 @@ pub const Target = union(enum).{ |
| 250 | 258 | builtin.Arch.renderscript32, |
| 251 | 259 | => return 32, |
| 252 | 260 | |
| 261 | builtin.Arch.aarch64v8_5a, |
| 262 | builtin.Arch.aarch64v8_4a, |
| 253 | 263 | builtin.Arch.aarch64v8_3a, |
| 254 | 264 | builtin.Arch.aarch64v8_2a, |
| 255 | 265 | builtin.Arch.aarch64v8_1a, |
| ... | ... | @@ -257,6 +267,8 @@ pub const Target = union(enum).{ |
| 257 | 267 | builtin.Arch.aarch64v8r, |
| 258 | 268 | builtin.Arch.aarch64v8m_baseline, |
| 259 | 269 | builtin.Arch.aarch64v8m_mainline, |
| 270 | builtin.Arch.aarch64_bev8_5a, |
| 271 | builtin.Arch.aarch64_bev8_4a, |
| 260 | 272 | builtin.Arch.aarch64_bev8_3a, |
| 261 | 273 | builtin.Arch.aarch64_bev8_2a, |
| 262 | 274 | builtin.Arch.aarch64_bev8_1a, |
| ... | ... | @@ -264,8 +276,8 @@ pub const Target = union(enum).{ |
| 264 | 276 | builtin.Arch.aarch64_bev8r, |
| 265 | 277 | builtin.Arch.aarch64_bev8m_baseline, |
| 266 | 278 | builtin.Arch.aarch64_bev8m_mainline, |
| 267 | | builtin.Arch.mips64, |
| 268 | | builtin.Arch.mips64el, |
| 279 | builtin.Arch.mips64r6, |
| 280 | builtin.Arch.mips64elr6, |
| 269 | 281 | builtin.Arch.powerpc64, |
| 270 | 282 | builtin.Arch.powerpc64le, |
| 271 | 283 | builtin.Arch.riscv64, |
| ... | ... | @@ -328,6 +340,8 @@ pub const Target = union(enum).{ |
| 328 | 340 | builtin.Arch.sparcel, |
| 329 | 341 | => return "/lib/ld-linux.so.2", |
| 330 | 342 | |
| 343 | builtin.Arch.aarch64v8_5a, |
| 344 | builtin.Arch.aarch64v8_4a, |
| 331 | 345 | builtin.Arch.aarch64v8_3a, |
| 332 | 346 | builtin.Arch.aarch64v8_2a, |
| 333 | 347 | builtin.Arch.aarch64v8_1a, |
| ... | ... | @@ -337,6 +351,8 @@ pub const Target = union(enum).{ |
| 337 | 351 | builtin.Arch.aarch64v8m_mainline, |
| 338 | 352 | => return "/lib/ld-linux-aarch64.so.1", |
| 339 | 353 | |
| 354 | builtin.Arch.aarch64_bev8_5a, |
| 355 | builtin.Arch.aarch64_bev8_4a, |
| 340 | 356 | builtin.Arch.aarch64_bev8_3a, |
| 341 | 357 | builtin.Arch.aarch64_bev8_2a, |
| 342 | 358 | builtin.Arch.aarch64_bev8_1a, |
| ... | ... | @@ -346,6 +362,8 @@ pub const Target = union(enum).{ |
| 346 | 362 | builtin.Arch.aarch64_bev8m_mainline, |
| 347 | 363 | => return "/lib/ld-linux-aarch64_be.so.1", |
| 348 | 364 | |
| 365 | builtin.Arch.armv8_5a, |
| 366 | builtin.Arch.armv8_4a, |
| 349 | 367 | builtin.Arch.armv8_3a, |
| 350 | 368 | builtin.Arch.armv8_2a, |
| 351 | 369 | builtin.Arch.armv8_1a, |
| ... | ... | @@ -372,6 +390,8 @@ pub const Target = union(enum).{ |
| 372 | 390 | else => return "/lib/ld-linux.so.3", |
| 373 | 391 | }, |
| 374 | 392 | |
| 393 | builtin.Arch.armebv8_5a, |
| 394 | builtin.Arch.armebv8_4a, |
| 375 | 395 | builtin.Arch.armebv8_3a, |
| 376 | 396 | builtin.Arch.armebv8_2a, |
| 377 | 397 | builtin.Arch.armebv8_1a, |
| ... | ... | @@ -398,10 +418,10 @@ pub const Target = union(enum).{ |
| 398 | 418 | else => return "/lib/ld-linux.so.3", |
| 399 | 419 | }, |
| 400 | 420 | |
| 401 | | builtin.Arch.mips, |
| 402 | | builtin.Arch.mipsel, |
| 403 | | builtin.Arch.mips64, |
| 404 | | builtin.Arch.mips64el, |
| 421 | builtin.Arch.mipsr6, |
| 422 | builtin.Arch.mipselr6, |
| 423 | builtin.Arch.mips64r6, |
| 424 | builtin.Arch.mips64elr6, |
| 405 | 425 | => return null, |
| 406 | 426 | |
| 407 | 427 | builtin.Arch.powerpc => return "/lib/ld.so.1", |
| ... | ... | @@ -550,6 +570,7 @@ pub const Target = union(enum).{ |
| 550 | 570 | builtin.Os.mesa3d, |
| 551 | 571 | builtin.Os.contiki, |
| 552 | 572 | builtin.Os.amdpal, |
| 573 | builtin.Os.hermit, |
| 553 | 574 | => @panic("TODO specify the C integer type sizes for this OS"), |
| 554 | 575 | } |
| 555 | 576 | } |
| ... | ... | @@ -557,6 +578,8 @@ pub const Target = union(enum).{ |
| 557 | 578 | pub fn getDarwinArchString(self: Target) []const u8 { |
| 558 | 579 | const arch = self.getArch(); |
| 559 | 580 | switch (arch) { |
| 581 | builtin.Arch.aarch64v8_5a, |
| 582 | builtin.Arch.aarch64v8_4a, |
| 560 | 583 | builtin.Arch.aarch64v8_3a, |
| 561 | 584 | builtin.Arch.aarch64v8_2a, |
| 562 | 585 | builtin.Arch.aarch64v8_1a, |
| ... | ... | @@ -566,6 +589,8 @@ pub const Target = union(enum).{ |
| 566 | 589 | builtin.Arch.aarch64v8m_mainline, |
| 567 | 590 | => return "arm64", |
| 568 | 591 | builtin.Arch.thumb, |
| 592 | builtin.Arch.armv8_5a, |
| 593 | builtin.Arch.armv8_4a, |
| 569 | 594 | builtin.Arch.armv8_3a, |
| 570 | 595 | builtin.Arch.armv8_2a, |
| 571 | 596 | builtin.Arch.armv8_1a, |