commit 01e30002c52eda1ab3574f55c2e0568c56f2ed09 (tree)
parent 5ac91794cce8bd53916a378815be01e4365d53d9
Author: Isaac Freund <ifreund@ifreund.xyz>
Date: Mon, 10 May 2021 23:12:17 +0200
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.
Diffstat:
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git 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);