| ... | @@ -21,6 +21,8 @@ | ... | @@ -21,6 +21,8 @@ |
| 21 | | 21 | |
| 22 | #if defined(__aarch64__) || (defined(zig_msvc) && defined(_M_ARM64)) | 22 | #if defined(__aarch64__) || (defined(zig_msvc) && defined(_M_ARM64)) |
| 23 | #define zig_aarch64 | 23 | #define zig_aarch64 |
| | 24 | #elif defined(__alpha__) |
| | 25 | #define zig_alpha |
| 24 | #elif defined(__thumb__) || (defined(zig_msvc) && defined(_M_ARM)) | 26 | #elif defined(__thumb__) || (defined(zig_msvc) && defined(_M_ARM)) |
| 25 | #define zig_thumb | 27 | #define zig_thumb |
| 26 | #define zig_arm | 28 | #define zig_arm |
| ... | @@ -36,6 +38,10 @@ | ... | @@ -36,6 +38,10 @@ |
| 36 | #elif defined(__loongarch64) | 38 | #elif defined(__loongarch64) |
| 37 | #define zig_loongarch64 | 39 | #define zig_loongarch64 |
| 38 | #define zig_loongarch | 40 | #define zig_loongarch |
| | 41 | #elif defined(__m68k__) |
| | 42 | #define zig_m68k |
| | 43 | #elif defined(__m88k__) |
| | 44 | #define zig_m88k |
| 39 | #elif defined(__mips64) | 45 | #elif defined(__mips64) |
| 40 | #define zig_mips64 | 46 | #define zig_mips64 |
| 41 | #define zig_mips | 47 | #define zig_mips |
| ... | @@ -79,6 +85,8 @@ | ... | @@ -79,6 +85,8 @@ |
| 79 | #elif defined(__I86__) | 85 | #elif defined(__I86__) |
| 80 | #define zig_x86_16 | 86 | #define zig_x86_16 |
| 81 | #define zig_x86 | 87 | #define zig_x86 |
| | 88 | #elif defined(__xtensa__) |
| | 89 | #define zig_xtensa |
| 82 | #elif defined (__ez80) | 90 | #elif defined (__ez80) |
| 83 | #define zig_ez80 | 91 | #define zig_ez80 |
| 84 | #define zig_z80 | 92 | #define zig_z80 |
| ... | @@ -390,7 +398,9 @@ | ... | @@ -390,7 +398,9 @@ |
| 390 | | 398 | |
| 391 | #elif defined(zig_gnuc_asm) | 399 | #elif defined(zig_gnuc_asm) |
| 392 | | 400 | |
| 393 | #if defined(zig_thumb) | 401 | #if defined(zig_alpha) |
| | 402 | #define zig_trap() __asm__ volatile("call_pal 0x000000") |
| | 403 | #elif defined(zig_thumb) |
| 394 | #define zig_trap() __asm__ volatile("udf #0xfe") | 404 | #define zig_trap() __asm__ volatile("udf #0xfe") |
| 395 | #elif defined(zig_arm) || defined(zig_aarch64) | 405 | #elif defined(zig_arm) || defined(zig_aarch64) |
| 396 | #define zig_trap() __asm__ volatile("udf #0xfdee") | 406 | #define zig_trap() __asm__ volatile("udf #0xfdee") |
| ... | @@ -398,6 +408,10 @@ | ... | @@ -398,6 +408,10 @@ |
| 398 | #define zig_trap() __asm__ volatile("r27:26 = memd(#0xbadc0fee)") | 408 | #define zig_trap() __asm__ volatile("r27:26 = memd(#0xbadc0fee)") |
| 399 | #elif defined(zig_kvx) || defined(zig_loongarch) || defined(zig_powerpc) | 409 | #elif defined(zig_kvx) || defined(zig_loongarch) || defined(zig_powerpc) |
| 400 | #define zig_trap() __asm__ volatile(".word 0x0") | 410 | #define zig_trap() __asm__ volatile(".word 0x0") |
| | 411 | #elif defined(zig_m68k) |
| | 412 | #define zig_trap() __asm__ volatile("illegal") |
| | 413 | #elif defined(zig_m88k) |
| | 414 | #define zig_trap() __asm__ volatile("tb0 0, %%r0, 511") |
| 401 | #elif defined(zig_mips) | 415 | #elif defined(zig_mips) |
| 402 | #define zig_trap() __asm__ volatile(".word 0x3d") | 416 | #define zig_trap() __asm__ volatile(".word 0x3d") |
| 403 | #elif defined(zig_or1k) | 417 | #elif defined(zig_or1k) |
| ... | @@ -412,6 +426,8 @@ | ... | @@ -412,6 +426,8 @@ |
| 412 | #define zig_trap() __asm__ volatile("int $0x3") | 426 | #define zig_trap() __asm__ volatile("int $0x3") |
| 413 | #elif defined(zig_x86) | 427 | #elif defined(zig_x86) |
| 414 | #define zig_trap() __asm__ volatile("ud2") | 428 | #define zig_trap() __asm__ volatile("ud2") |
| | 429 | #elif defined(zig_xtensa) |
| | 430 | #define zig_trap() __asm__ volatile("ill") |
| 415 | #elif defined(zig_z80) | 431 | #elif defined(zig_z80) |
| 416 | #define zig_trap() __asm__ volatile("rst 00h") | 432 | #define zig_trap() __asm__ volatile("rst 00h") |
| 417 | #else | 433 | #else |
| ... | @@ -428,7 +444,9 @@ | ... | @@ -428,7 +444,9 @@ |
| 428 | #define zig_breakpoint() __debugbreak() | 444 | #define zig_breakpoint() __debugbreak() |
| 429 | #elif defined(zig_gnuc_asm) | 445 | #elif defined(zig_gnuc_asm) |
| 430 | | 446 | |
| 431 | #if defined(zig_arm) | 447 | #if defined(zig_alpha) |
| | 448 | #define zig_breakpoint() __asm__ volatile("call_pal 0x000080") |
| | 449 | #elif defined(zig_arm) |
| 432 | #define zig_breakpoint() __asm__ volatile("bkpt #0x0") | 450 | #define zig_breakpoint() __asm__ volatile("bkpt #0x0") |
| 433 | #elif defined(zig_aarch64) | 451 | #elif defined(zig_aarch64) |
| 434 | #define zig_breakpoint() __asm__ volatile("brk #0xf000") | 452 | #define zig_breakpoint() __asm__ volatile("brk #0xf000") |
| ... | @@ -436,6 +454,8 @@ | ... | @@ -436,6 +454,8 @@ |
| 436 | #define zig_breakpoint() __asm__ volatile("brkpt") | 454 | #define zig_breakpoint() __asm__ volatile("brkpt") |
| 437 | #elif defined(zig_kvx) || defined(zig_loongarch) | 455 | #elif defined(zig_kvx) || defined(zig_loongarch) |
| 438 | #define zig_breakpoint() __asm__ volatile("break 0x0") | 456 | #define zig_breakpoint() __asm__ volatile("break 0x0") |
| | 457 | #elif defined(zig_m88k) |
| | 458 | #define zig_breakpoint() __asm__ volatile("illop1") |
| 439 | #elif defined(zig_mips) | 459 | #elif defined(zig_mips) |
| 440 | #define zig_breakpoint() __asm__ volatile("break") | 460 | #define zig_breakpoint() __asm__ volatile("break") |
| 441 | #elif defined(zig_or1k) | 461 | #elif defined(zig_or1k) |
| ... | @@ -450,6 +470,8 @@ | ... | @@ -450,6 +470,8 @@ |
| 450 | #define zig_breakpoint() __asm__ volatile("ta 0x1") | 470 | #define zig_breakpoint() __asm__ volatile("ta 0x1") |
| 451 | #elif defined(zig_x86) | 471 | #elif defined(zig_x86) |
| 452 | #define zig_breakpoint() __asm__ volatile("int $0x3") | 472 | #define zig_breakpoint() __asm__ volatile("int $0x3") |
| | 473 | #elif defined(zig_xtensa) |
| | 474 | #define zig_breakpoint() __asm__ volatile("break 1, 1") |
| 453 | #else | 475 | #else |
| 454 | #define zig_breakpoint() zig_breakpoint_unavailable | 476 | #define zig_breakpoint() zig_breakpoint_unavailable |
| 455 | #endif | 477 | #endif |