From 01e30002c52eda1ab3574f55c2e0568c56f2ed09 Mon Sep 17 00:00:00 2001 From: Isaac Freund Date: Mon, 10 May 2021 23:12:17 +0200 Subject: [PATCH] stage2: error if requested glibc version too high Falling back to the max provided glibc version is insufficient as linking to shared objects compiled against the requested version will fail. --- src/glibc.zig | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/glibc.zig b/src/glibc.zig index 7600f19503..6b288ac46d 100644 --- a/src/glibc.zig +++ b/src/glibc.zig @@ -764,16 +764,17 @@ pub fn buildSharedObjects(comp: *Compilation) !void { .lt => continue, .gt => { // TODO Expose via compile error mechanism instead of log. - std.log.warn("invalid target glibc version: {}", .{target_version}); + std.log.err("invalid target glibc version: {}", .{target_version}); return error.InvalidTargetGLibCVersion; }, } - } else blk: { + } else { const latest_index = metadata.all_versions.len - 1; - std.log.warn("zig cannot build new glibc version {}; providing instead {}", .{ + // TODO Expose via compile error mechanism instead of log. + std.log.err("zig does not yet provide glibc version {}, the max provided version is {}", .{ target_version, metadata.all_versions[latest_index], }); - break :blk latest_index; + return error.InvalidTargetGLibCVersion; }; { var map_contents = std.ArrayList(u8).init(arena);