-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Open
Labels
enhancementSolving this issue will likely involve adding new logic or components to the codebase.Solving this issue will likely involve adding new logic or components to the codebase.tier systemIssues that track the support tier for a platform.Issues that track the support tier for a platform.
Description
Zig's level of support for various targets is broadly categorized into four tiers with Tier 1 being the highest. The goal is for Tier 1 targets to have zero disabled tests - this will become a requirement for post-1.0.0 Zig releases.
This issue serves as an overview of the current status of Zig's target support. Each target is categorized based on its current tier.
Tier 1
Criteria
- All non-experimental language features are known to work correctly.
- The compiler can generate machine code for this target without relying on LLVM, while being comparable to LLVM in terms of feature support.
- The CI machines automatically run the module tests for this target on every push.
Targets
x86_64-linux
- Tier System:x86_64-linux
#23079x86_64-macos
- Tier System:x86_64-macos
#4897
Tier 2
Criteria
- The standard library's cross-platform abstractions have implementations for this target.
- This target has debug info capabilities and therefore produces stack traces on failed assertions and crashes.
- libc is available for this target even when cross-compiling.
- The CI machines automatically build the module tests for this target on every push.
Targets
Linux
aarch64-freebsd
- Tier System:aarch64-freebsd
#3939aarch64(_be)-linux
- Tier System:aarch64(_be)-linux
#2443aarch64(_be)-netbsd
- Tier System:aarch64(_be)-netbsd
#23084aarch64-macos
- Tier System:aarch64-macos
#23078aarch64-windows
- Tier System:aarch64-windows
#16665arm-freebsd
- Tier System:arm-freebsd
#23675arm(eb)-linux
- Tier System:arm(eb)-linux
#3174arm(eb)-netbsd
- Tier System:arm(eb)-netbsd
#23763loongarch64-linux
- Tier System:loongarch64-linux
#21646powerpc-linux
- Tier System:powerpc-linux
#21649powerpc-netbsd
- Tier System:powerpc-netbsd
#23766powerpc64-freebsd
- Tier System:powerpc64-freebsd
#23678powerpc64-linux
- Tier System:powerpc64-linux
#21651powerpc64le-freebsd
- Tier System:powerpc64le-freebsd
#23679powerpc64le-linux
- Tier System:powerpc64le-linux
#21650riscv32-linux
- Tier System:riscv32-linux
#21648riscv64-freebsd
- Tier System:riscv64-freebsd
#23676riscv64-linux
- Tier System:riscv64-linux
#4456thumb-windows
- Tier System:thumb-windows
#24017thumb(eb)-linux
- Tier System:thumb(eb)-linux
#23672wasm32-wasi
- Tier System:wasm32-wasi
#23091x86-linux
- Tier System:x86-linux
#1929x86-windows
- Tier System:x86-windows
#537x86_64-freebsd
- Tier System:x86_64-freebsd
#1759x86_64-linux-(gnu,musl)x32
- Tier System:x86_64-linux-(gnu,musl)x32
#21711x86_64-netbsd
- Tier System:x86_64-netbsd
#23082x86_64-windows
- Tier System:x86_64-windows
#23080
Tier 3
Criteria
- The compiler can generate machine code for this target by relying on an external backend such as LLVM.
- The linker can produce object files, libraries, and executables for this target.
Targets
aarch64-fuchsia
- Tier System:aarch64-fuchsia
#23682aarch64-haiku
- Tier System:aarch64-haiku
#23755aarch64-ios
- Tier System:aarch64-ios
#23782aarch64-openbsd
- Tier System:aarch64-openbsd
#23085aarch64-serenity
- Tier System:aarch64-serenity
#23686aarch64-tvos
- Tier System:aarch64-tvos
#23784aarch64-visionos
- Tier System:aarch64-visionos
#23786aarch64-watchos
- Tier System:aarch64-watchos
#23788arm-haiku
- Tier System:arm-haiku
#23756arm-openbsd
- Tier System:arm-openbsd
#23773hexagon-linux
- Tier System:hexagon-linux
#21652loongarch32-linux
- Tier System:loongarch32-linux
#23696loongarch64-freebsd
- Tier System:loongarch64-freebsd
#24877loongarch64-openbsd
- Tier System:loongarch64-openbsd
#24678mips(el)-linux
- Tier System:mips(el)-linux
#3345mips(el)-netbsd
- Tier System:mips(el)-netbsd
#23764mips64(el)-linux
- Tier System:mips64(el)-linux
#21647mips64(el)-linux-(gnu,musl)abin32
- Tier System:mips64(el)-linux-(gnu,musl)abin32
#21712mips64(el)-netbsd
- Tier System:mips64(el)-netbsd
#23765mips64(el)-openbsd
- Tier System:mips64(el)-openbsd
#23774powerpc-haiku
- Tier System:powerpc-haiku
#23758powerpc-openbsd
- Tier System:powerpc-openbsd
#23775powerpc64-openbsd
- Tier System:powerpc64-openbsd
#23776riscv32-netbsd
- Tier System:riscv32-netbsd
#23768riscv64-fuchsia
- Tier System:riscv64-fuchsia
#23683riscv64-haiku
- Tier System:riscv64-haiku
#23759riscv64-netbsd
- Tier System:riscv64-netbsd
#23769riscv64-openbsd
- Tier System:riscv64-openbsd
#23777riscv64-serenity
- Tier System:riscv64-serenity
#23687s390x-linux
- Tier System:s390x-linux
#21402sparc64-haiku
- Tier System:sparc64-haiku
#23760sparc64-linux
- Tier System:sparc64-linux
#4931sparc64-netbsd
- Tier System:sparc64-netbsd
#23771sparc64-openbsd
- Tier System:sparc64-openbsd
#23779sparc64-solaris
- Tier System:sparc64-solaris
#23093wasm64-wasi
- Tier System:wasm64-wasi
#23092x86-haiku
- Tier System:x86-haiku
#23761x86-illumos
- Tier System:x86-illumos
#23689x86-netbsd
- Tier System:x86-netbsd
#23772x86-openbsd
- Tier System:x86-openbsd
#23778x86_64-dragonfly
- Tier System:x86_64-dragonfly
#7149x86_64-fuchsia
- Tier System:x86_64-fuchsia
#7150x86_64-haiku
- Tier System:x86_64-haiku
#7691x86_64-illumos
- Tier System:x86_64-illumos
#7152x86_64-ios
- Tier System:x86_64-ios
#23783x86_64-openbsd
- Tier System:x86_64-openbsd
#2016x86_64-serenity
- Tier System:x86_64-serenity
#23688x86_64-solaris
- Tier System:x86_64-solaris
#7151x86_64-tvos
- Tier System:x86_64-tvos
#23785x86_64-visionos
- Tier System:x86_64-visionos
#23787x86_64-watchos
- Tier System:x86_64-watchos
#23789
Tier 4
Criteria
- The compiler can generate assembly source code for this target by relying on an external backend such as LLVM.
- This target may be considered experimental by LLVM, in which case it is necessary to build LLVM and Zig from source to be able to use it.
Targets
arc-linux
- Tier System:arc-linux
#23086csky-linux
- Tier System:csky-linux
#23087m68k-haiku
- Tier System:m68k-haiku
#23757m68k-linux
- Tier System:m68k-linux
#23089m68k-netbsd
- Tier System:m68k-netbsd
#23090powerpc-aix
- Tier System:powerpc-aix
#23694powerpc64-aix
- Tier System:powerpc64-aix
#23695s390x-zos
- Tier System:s390x-zos
#23693sparc-linux
- Tier System:sparc-linux
#23081sparc-netbsd
- Tier System:sparc-netbsd
#23770x86_64-plan9
- Tier System:x86_64-plan9
#7153xtensa-linux
- Tier System:xtensa-linux
#23088
Unsupported
Criteria
- These are targets that Zig has either chosen to never add support for, or has dropped existing support for.
Targets
aarch64-bridgeos
- Tier System:aarch64-bridgeos
#23684arm-watchos
- Tier System:arm-watchos
#23671mips(64)(el)-freebsd
- Tier System:mips(64)(el)-freebsd
#23680powerpc-freebsd
- Tier System:powerpc-freebsd
#23681powerpc64-netbsd
- Tier System:powerpc64-netbsd
#23767thumb-freebsd
- Tier System:thumb-freebsd
#23697x86-freebsd
- Tier System:x86-freebsd
#23677x86-kfreebsd
- Tier System:x86-kfreebsd
#23669x86-macos
- Tier System:x86-macos
#1930x86_64-kfreebsd
- Tier System:x86_64-kfreebsd
#23670
maxmiltonmaxmilton
Metadata
Metadata
Assignees
Labels
enhancementSolving this issue will likely involve adding new logic or components to the codebase.Solving this issue will likely involve adding new logic or components to the codebase.tier systemIssues that track the support tier for a platform.Issues that track the support tier for a platform.