diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2025-08-27 18:57:21 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2025-08-28 18:30:57 -0700 |
| commit | 8023f3dcebff06cbf3563bdd09b07462ed43509f (patch) | |
| tree | db8a18f4680311f879f93ee25fbf32adb438691c /src | |
| parent | e4181972470c29f83480fdd6d5a465e1f8d14d7b (diff) | |
| download | zig-8023f3dcebff06cbf3563bdd09b07462ed43509f.tar.gz zig-8023f3dcebff06cbf3563bdd09b07462ed43509f.zip | |
fix not discarding delimiter
perhaps these APIs have the defaults backwards, eh?
Diffstat (limited to 'src')
| -rw-r--r-- | src/Compilation.zig | 19 | ||||
| -rw-r--r-- | src/libs/freebsd.zig | 6 | ||||
| -rw-r--r-- | src/libs/glibc.zig | 4 | ||||
| -rw-r--r-- | src/libs/netbsd.zig | 4 |
4 files changed, 24 insertions, 9 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig index 4d5e7d9eef..6c917b79c4 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -5893,15 +5893,16 @@ fn buildGlibcCrtFile(comp: *Compilation, crt_file: glibc.CrtFile, prog_node: std fn buildGlibcSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) void { defer comp.link_task_queue.finishPrelinkItem(comp); - if (glibc.buildSharedObjects(comp, prog_node)) |_| { - // The job should no longer be queued up since it succeeded. - comp.queued_jobs.glibc_shared_objects = false; - } else |err| switch (err) { - error.AlreadyReported => return, - else => comp.lockAndSetMiscFailure(.glibc_shared_objects, "unable to build glibc shared objects: {s}", .{ - @errorName(err), - }), - } + glibc.buildSharedObjects(comp, prog_node) catch unreachable; + //if (glibc.buildSharedObjects(comp, prog_node)) |_| { + // // The job should no longer be queued up since it succeeded. + // comp.queued_jobs.glibc_shared_objects = false; + //} else |err| switch (err) { + // error.AlreadyReported => return, + // else => comp.lockAndSetMiscFailure(.glibc_shared_objects, "unable to build glibc shared objects: {s}", .{ + // @errorName(err), + // }), + //} } fn buildFreeBSDCrtFile(comp: *Compilation, crt_file: freebsd.CrtFile, prog_node: std.Progress.Node) void { diff --git a/src/libs/freebsd.zig b/src/libs/freebsd.zig index 60212480ac..2315964a50 100644 --- a/src/libs/freebsd.zig +++ b/src/libs/freebsd.zig @@ -548,6 +548,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); + assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API + inc_reader.toss(1); opt_symbol_name = sym_name_buf.written(); versions.unsetAll(); @@ -694,6 +696,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); + assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API + inc_reader.toss(1); opt_symbol_name = sym_name_buf.written(); versions.unsetAll(); @@ -830,6 +834,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); + assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API + inc_reader.toss(1); opt_symbol_name = sym_name_buf.written(); versions.unsetAll(); diff --git a/src/libs/glibc.zig b/src/libs/glibc.zig index 1f3302da83..4d3ee15bec 100644 --- a/src/libs/glibc.zig +++ b/src/libs/glibc.zig @@ -802,6 +802,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); + assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API + inc_reader.toss(1); opt_symbol_name = sym_name_buf.written(); versions_buffer = undefined; @@ -974,6 +976,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); + assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API + inc_reader.toss(1); opt_symbol_name = sym_name_buf.written(); versions_buffer = undefined; diff --git a/src/libs/netbsd.zig b/src/libs/netbsd.zig index f758f6de7e..e47bdce3af 100644 --- a/src/libs/netbsd.zig +++ b/src/libs/netbsd.zig @@ -477,6 +477,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); + assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API + inc_reader.toss(1); opt_symbol_name = sym_name_buf.written(); chosen_ver_index = 255; @@ -552,6 +554,8 @@ pub fn buildSharedObjects(comp: *Compilation, prog_node: std.Progress.Node) anye const sym_name = opt_symbol_name orelse n: { sym_name_buf.clearRetainingCapacity(); _ = try inc_reader.streamDelimiter(&sym_name_buf.writer, 0); + assert(inc_reader.buffered()[0] == 0); // TODO change streamDelimiter API + inc_reader.toss(1); opt_symbol_name = sym_name_buf.written(); chosen_ver_index = 255; |
