authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-12 14:35:23+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-10-12 14:35:23+02:00
log7a7b944ef8ddc87a89fc4057187213c68a200fb2
tree74e7f876e682174d509816ad67b67ccc80c05415
parent05671ced91b539c778e663523cc541402a923af5
signature Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.Target: remove hermit OS tag

Hermit is a unikernel with no stable syscall ABI; you must link its syscall library statically to perform syscalls. Due to the way the project's build system works, that means using Rust/Cargo. As such, it makes essentially zero sense for Zig to support this target.

7 files changed, 0 insertions(+), 29 deletions(-)

lib/compiler/aro/aro/Target.zig-1
...@@ -1302,7 +1302,6 @@ pub fn toLLVMTriple(target: *const Target, buf: []u8) []const u8 {...@@ -1302,7 +1302,6 @@ pub fn toLLVMTriple(target: *const Target, buf: []u8) []const u8 {
1302 .freestanding => "unknown",1302 .freestanding => "unknown",
1303 .fuchsia => "fuchsia",1303 .fuchsia => "fuchsia",
1304 .haiku => "haiku",1304 .haiku => "haiku",
1305 .hermit => "hermit",
1306 .hurd => "hurd",1305 .hurd => "hurd",
1307 .illumos => "illumos",1306 .illumos => "illumos",
1308 .ios, .maccatalyst => "ios",1307 .ios, .maccatalyst => "ios",
lib/std/Build/Configuration.zig-1
...@@ -2381,7 +2381,6 @@ pub const TargetQuery = struct {...@@ -2381,7 +2381,6 @@ pub const TargetQuery = struct {
2381 other,2381 other,
2382 contiki,2382 contiki,
2383 fuchsia,2383 fuchsia,
2384 hermit,
2385 managarm,2384 managarm,
2386 haiku,2385 haiku,
2387 hurd,2386 hurd,
lib/std/Target.zig-13
...@@ -21,7 +21,6 @@ pub const Os = struct {...@@ -21,7 +21,6 @@ pub const Os = struct {
2121
22 contiki,22 contiki,
23 fuchsia,23 fuchsia,
24 hermit,
25 managarm,24 managarm,
2625
27 haiku,26 haiku,
...@@ -180,7 +179,6 @@ pub const Os = struct {...@@ -180,7 +179,6 @@ pub const Os = struct {
180179
181 .contiki,180 .contiki,
182 .fuchsia,181 .fuchsia,
183 .hermit,
184182
185 .rtems,183 .rtems,
186184
...@@ -431,12 +429,6 @@ pub const Os = struct {...@@ -431,12 +429,6 @@ pub const Os = struct {
431 .max = .{ .major = 30, .minor = 0, .patch = 0 },429 .max = .{ .major = 30, .minor = 0, .patch = 0 },
432 },430 },
433 },431 },
434 .hermit => .{
435 .semver = .{
436 .min = .{ .major = 0, .minor = 8, .patch = 0 },
437 .max = .{ .major = 0, .minor = 13, .patch = 2 },
438 },
439 },
440432
441 .hurd => .{433 .hurd => .{
442 .hurd = .{434 .hurd = .{
...@@ -955,7 +947,6 @@ pub const Abi = enum {...@@ -955,7 +947,6 @@ pub const Abi = enum {
955 .ashetos => .eabi,947 .ashetos => .eabi,
956948
957 .contiki,949 .contiki,
958 .hermit,
959 .illumos,950 .illumos,
960 .managarm,951 .managarm,
961 .plan9,952 .plan9,
...@@ -2344,7 +2335,6 @@ pub fn requiresLibC(target: *const Target) bool {...@@ -2344,7 +2335,6 @@ pub fn requiresLibC(target: *const Target) bool {
2344 .mesa3d,2335 .mesa3d,
2345 .contiki,2336 .contiki,
2346 .amdpal,2337 .amdpal,
2347 .hermit,
2348 .hurd,2338 .hurd,
2349 .wasi,2339 .wasi,
2350 .uefi,2340 .uefi,
...@@ -2495,7 +2485,6 @@ pub const DynamicLinker = struct {...@@ -2495,7 +2485,6 @@ pub const DynamicLinker = struct {
2495 .other,2485 .other,
24962486
2497 .contiki,2487 .contiki,
2498 .hermit,
2499 .managarm, // Needs to be double-checked.2488 .managarm, // Needs to be double-checked.
25002489
2501 .plan9,2490 .plan9,
...@@ -2929,7 +2918,6 @@ pub const DynamicLinker = struct {...@@ -2929,7 +2918,6 @@ pub const DynamicLinker = struct {
2929 .other,2918 .other,
29302919
2931 .contiki,2920 .contiki,
2932 .hermit,
29332921
2934 .plan9,2922 .plan9,
2935 .rtems,2923 .rtems,
...@@ -3318,7 +3306,6 @@ pub fn cTypeBitSize(target: *const Target, c_type: CType) ?u16 {...@@ -3318,7 +3306,6 @@ pub fn cTypeBitSize(target: *const Target, c_type: CType) ?u16 {
3318 },3306 },
33193307
3320 .fuchsia,3308 .fuchsia,
3321 .hermit,
33223309
3323 .haiku,3310 .haiku,
3324 .hurd,3311 .hurd,
lib/std/c.zig-9
...@@ -8024,9 +8024,6 @@ pub const pthread_mutex_t = switch (native_os) {...@@ -8024,9 +8024,6 @@ pub const pthread_mutex_t = switch (native_os) {
8024 .freebsd, .dragonfly, .openbsd => extern struct {8024 .freebsd, .dragonfly, .openbsd => extern struct {
8025 inner: ?*anyopaque = null,8025 inner: ?*anyopaque = null,
8026 },8026 },
8027 .hermit => extern struct {
8028 ptr: usize = maxInt(usize),
8029 },
8030 .netbsd => extern struct {8027 .netbsd => extern struct {
8031 magic: u32 = 0x33330003,8028 magic: u32 = 0x33330003,
8032 errorcheck: padded_pthread_spin_t = 0,8029 errorcheck: padded_pthread_spin_t = 0,
...@@ -8080,9 +8077,6 @@ pub const pthread_cond_t = switch (native_os) {...@@ -8080,9 +8077,6 @@ pub const pthread_cond_t = switch (native_os) {
8080 .freebsd, .dragonfly, .openbsd => extern struct {8077 .freebsd, .dragonfly, .openbsd => extern struct {
8081 inner: ?*anyopaque = null,8078 inner: ?*anyopaque = null,
8082 },8079 },
8083 .hermit => extern struct {
8084 ptr: usize = maxInt(usize),
8085 },
8086 .netbsd => extern struct {8080 .netbsd => extern struct {
8087 magic: u32 = 0x55550005,8081 magic: u32 = 0x55550005,
8088 lock: pthread_spin_t = 0,8082 lock: pthread_spin_t = 0,
...@@ -8138,9 +8132,6 @@ pub const pthread_rwlock_t = switch (native_os) {...@@ -8138,9 +8132,6 @@ pub const pthread_rwlock_t = switch (native_os) {
8138 .freebsd, .dragonfly, .openbsd => extern struct {8132 .freebsd, .dragonfly, .openbsd => extern struct {
8139 ptr: ?*anyopaque = null,8133 ptr: ?*anyopaque = null,
8140 },8134 },
8141 .hermit => extern struct {
8142 ptr: usize = maxInt(usize),
8143 },
8144 .netbsd => extern struct {8135 .netbsd => extern struct {
8145 magic: c_uint = 0x99990009,8136 magic: c_uint = 0x99990009,
8146 interlock: switch (builtin.cpu.arch) {8137 interlock: switch (builtin.cpu.arch) {
lib/std/zig/llvm/Builder.zig-1
...@@ -269,7 +269,6 @@ pub fn tripleForTarget(allocator: Allocator, target: *const std.Target) ![]const...@@ -269,7 +269,6 @@ pub fn tripleForTarget(allocator: Allocator, target: *const std.Target) ![]const
269 .ps5 => "ps5",269 .ps5 => "ps5",
270 .mesa3d => "mesa3d",270 .mesa3d => "mesa3d",
271 .amdpal => "amdpal",271 .amdpal => "amdpal",
272 .hermit => "hermit",
273 .hurd => "hurd",272 .hurd => "hurd",
274 .wasi => "wasi",273 .wasi => "wasi",
275 .emscripten => "emscripten",274 .emscripten => "emscripten",
src/link/Elf.zig-1
...@@ -1547,7 +1547,6 @@ pub fn writeElfHeader(self: *Elf) !void {...@@ -1547,7 +1547,6 @@ pub fn writeElfHeader(self: *Elf) !void {
1547 .msp430 => .STANDALONE,1547 .msp430 => .STANDALONE,
1548 else => switch (target.os.tag) {1548 else => switch (target.os.tag) {
1549 .freebsd, .ps4 => .FREEBSD,1549 .freebsd, .ps4 => .FREEBSD,
1550 .hermit => .STANDALONE,
1551 .illumos => .SOLARIS,1550 .illumos => .SOLARIS,
1552 .openbsd => .OPENBSD,1551 .openbsd => .OPENBSD,
1553 else => .NONE,1552 else => .NONE,
test/llvm_targets.zig-3
...@@ -7,7 +7,6 @@ const targets = [_]std.Target.Query{...@@ -7,7 +7,6 @@ const targets = [_]std.Target.Query{
7 .{ .cpu_arch = .aarch64, .os_tag = .freestanding, .abi = .none },7 .{ .cpu_arch = .aarch64, .os_tag = .freestanding, .abi = .none },
8 .{ .cpu_arch = .aarch64, .os_tag = .fuchsia, .abi = .none },8 .{ .cpu_arch = .aarch64, .os_tag = .fuchsia, .abi = .none },
9 .{ .cpu_arch = .aarch64, .os_tag = .haiku, .abi = .none },9 .{ .cpu_arch = .aarch64, .os_tag = .haiku, .abi = .none },
10 .{ .cpu_arch = .aarch64, .os_tag = .hermit, .abi = .none },
11 .{ .cpu_arch = .aarch64, .os_tag = .hurd, .abi = .gnu },10 .{ .cpu_arch = .aarch64, .os_tag = .hurd, .abi = .gnu },
12 .{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .none },11 .{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .none },
13 .{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .simulator },12 .{ .cpu_arch = .aarch64, .os_tag = .ios, .abi = .simulator },
...@@ -230,7 +229,6 @@ const targets = [_]std.Target.Query{...@@ -230,7 +229,6 @@ const targets = [_]std.Target.Query{
230 .{ .cpu_arch = .riscv64, .os_tag = .freestanding, .abi = .none },229 .{ .cpu_arch = .riscv64, .os_tag = .freestanding, .abi = .none },
231 .{ .cpu_arch = .riscv64, .os_tag = .fuchsia, .abi = .none },230 .{ .cpu_arch = .riscv64, .os_tag = .fuchsia, .abi = .none },
232 .{ .cpu_arch = .riscv64, .os_tag = .haiku, .abi = .none },231 .{ .cpu_arch = .riscv64, .os_tag = .haiku, .abi = .none },
233 .{ .cpu_arch = .riscv64, .os_tag = .hermit, .abi = .none },
234 .{ .cpu_arch = .riscv64, .os_tag = .hurd, .abi = .gnu },232 .{ .cpu_arch = .riscv64, .os_tag = .hurd, .abi = .gnu },
235 .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .android },233 .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .android },
236 .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .gnu },234 .{ .cpu_arch = .riscv64, .os_tag = .linux, .abi = .gnu },
...@@ -326,7 +324,6 @@ const targets = [_]std.Target.Query{...@@ -326,7 +324,6 @@ const targets = [_]std.Target.Query{
326 .{ .cpu_arch = .x86_64, .os_tag = .dragonfly, .abi = .none },324 .{ .cpu_arch = .x86_64, .os_tag = .dragonfly, .abi = .none },
327 .{ .cpu_arch = .x86_64, .os_tag = .driverkit, .abi = .none },325 .{ .cpu_arch = .x86_64, .os_tag = .driverkit, .abi = .none },
328 .{ .cpu_arch = .x86_64, .os_tag = .haiku, .abi = .none },326 .{ .cpu_arch = .x86_64, .os_tag = .haiku, .abi = .none },
329 .{ .cpu_arch = .x86_64, .os_tag = .hermit, .abi = .none },
330 .{ .cpu_arch = .x86_64, .os_tag = .hurd, .abi = .gnu },327 .{ .cpu_arch = .x86_64, .os_tag = .hurd, .abi = .gnu },
331 .{ .cpu_arch = .x86_64, .os_tag = .illumos, .abi = .none },328 .{ .cpu_arch = .x86_64, .os_tag = .illumos, .abi = .none },
332 .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .android },329 .{ .cpu_arch = .x86_64, .os_tag = .linux, .abi = .android },