commit ba293eb820e5c2f62ac7a8ef623d8bffde3dc4f1 (tree)
parent d4217e21191d66fd62fed980a2429a6eddd7ca7a
Author: Andrew Kelley <andrew@ziglang.org>
Date: Wed, 11 Feb 2026 10:44:04 -0800
Revert "compiler: override debug_io in release + evented mode"
This reverts commit 68403267117bf5cf73e0f747887f2834336ae4a2.
The commit bungled deinitialization in main.
Diffstat:
2 files changed, 6 insertions(+), 19 deletions(-)
diff --git a/lib/std/debug/ElfFile.zig b/lib/std/debug/ElfFile.zig
@@ -86,11 +86,7 @@ pub const DebugInfoSearchPaths = struct {
},
.exe_dir = std.fs.path.dirname(exe_path) orelse ".",
};
- return .{
- .debuginfod_client = null,
- .global_debug = &.{"/usr/lib/debug"},
- .exe_dir = std.fs.path.dirname(exe_path) orelse ".",
- };
+ @compileError("std.Options.elf_debug_info_search_paths must be provided");
}
};
diff --git a/src/main.zig b/src/main.zig
@@ -51,17 +51,6 @@ pub const std_options: std.Options = .{
},
};
pub const std_options_cwd = if (native_os == .wasi) wasi_cwd else null;
-pub const std_options_debug_threaded_io: ?*Io.Threaded = switch (build_options.io_mode) {
- .threaded => &io_impl,
- .evented => switch (builtin.mode) {
- .Debug => Io.Threaded.global_single_threaded,
- .ReleaseFast, .ReleaseSmall, .ReleaseSafe => null,
- },
-};
-pub const std_options_debug_io: Io = switch (build_options.io_mode) {
- .threaded => io_impl.ioBasic(),
- .evented => io_impl.io(),
-};
pub const debug = struct {
pub fn printCrashContext(terminal: Io.Terminal) void {
@@ -200,6 +189,7 @@ pub fn main(init: std.process.Init.Minimal) anyerror!void {
var root_allocator: RootAllocator = .init;
defer _ = root_allocator.deinit();
const root_gpa = root_allocator.allocator();
+ var io_impl: IoImpl = undefined;
switch (build_options.io_mode) {
.threaded => io_impl = .init(root_gpa, .{
.stack_size = thread_stack_size,
@@ -215,6 +205,7 @@ pub fn main(init: std.process.Init.Minimal) anyerror!void {
}),
}
defer io_impl.deinit();
+ io_impl_ptr = &io_impl;
const io = io_impl.io();
const gpa = switch (build_options.io_mode) {
.threaded => root_gpa,
@@ -7824,7 +7815,7 @@ const IoImpl = switch (build_options.io_mode) {
.threaded => Io.Threaded,
.evented => Io.Evented,
};
-var io_impl: IoImpl = undefined;
+var io_impl_ptr: *IoImpl = undefined;
fn setThreadLimit(arena: std.mem.Allocator, n: usize) Allocator.Error!void {
switch (build_options.io_mode) {
.threaded => {
@@ -7833,8 +7824,8 @@ fn setThreadLimit(arena: std.mem.Allocator, n: usize) Allocator.Error!void {
// linker can run concurrently, so we need to set both the async *and* the
// concurrency limit.
const limit: Io.Limit = .limited(n - 1);
- io_impl.setAsyncLimit(limit);
- io_impl.concurrent_limit = limit;
+ io_impl_ptr.setAsyncLimit(limit);
+ io_impl_ptr.concurrent_limit = limit;
},
.evented => {},
}