Commit 1b6fa1965a

Andrew Kelley <andrew@ziglang.org>
2022-09-09 04:03:28
stage2: fix building for 32-bit targets
1 parent 3ee01c1
Changed files (2)
lib
std
src
codegen
lib/std/zig/system/NativeTargetInfo.zig
@@ -485,8 +485,9 @@ fn glibcVerFromSoFile(file: fs.File) !std.builtin.Version {
     var buf: [40000]u8 = undefined;
     if (buf.len < dynstr.size) return error.InvalidGnuLibCVersion;
 
-    const dynstr_bytes = buf[0..dynstr.size];
-    _ = try preadMin(file, dynstr_bytes, dynstr.offset, dynstr.size);
+    const dynstr_size = @intCast(usize, dynstr.size);
+    const dynstr_bytes = buf[0..dynstr_size];
+    _ = try preadMin(file, dynstr_bytes, dynstr.offset, dynstr_size);
     var it = mem.split(u8, dynstr_bytes, &.{0});
     var max_ver: std.builtin.Version = .{ .major = 2, .minor = 2, .patch = 5 };
     while (it.next()) |s| {
src/codegen/llvm.zig
@@ -3870,7 +3870,7 @@ pub const DeclGen = struct {
                                 var b: usize = 0;
                                 for (parent_ty.structFields().values()[0..field_index]) |field| {
                                     if (field.is_comptime or !field.ty.hasRuntimeBitsIgnoreComptime()) continue;
-                                    b += field.ty.bitSize(target);
+                                    b += @intCast(usize, field.ty.bitSize(target));
                                 }
                                 break :b b;
                             };