| ... | ... | @@ -552,14 +552,14 @@ fn glibcVerFromSoFile(file: fs.File) !std.builtin.Version { |
| 552 | 552 | // and furthermore, that the system-installed glibc is at minimum that version. |
| 553 | 553 | |
| 554 | 554 | // Empirically, glibc 2.34 libc.so .dynstr section is 32441 bytes on my system. |
| 555 | | // Here I use this value plus some headroom. This makes it only need |
| 555 | // Here I use double this value plus some headroom. This makes it only need |
| 556 | 556 | // a single read syscall here. |
| 557 | | var buf: [40000]u8 = undefined; |
| 557 | var buf: [80000]u8 = undefined; |
| 558 | 558 | if (buf.len < dynstr.size) return error.InvalidGnuLibCVersion; |
| 559 | 559 | |
| 560 | 560 | const dynstr_size = @intCast(usize, dynstr.size); |
| 561 | 561 | const dynstr_bytes = buf[0..dynstr_size]; |
| 562 | | _ = try preadMin(file, dynstr_bytes, dynstr.offset, dynstr_size); |
| 562 | _ = try preadMin(file, dynstr_bytes, dynstr.offset, dynstr_bytes.len); |
| 563 | 563 | var it = mem.split(u8, dynstr_bytes, &.{0}); |
| 564 | 564 | var max_ver: std.builtin.Version = .{ .major = 2, .minor = 2, .patch = 5 }; |
| 565 | 565 | while (it.next()) |s| { |