authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-29 22:20:44-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-29 22:20:44-05:00
log22468121849e902a0ac2435af21fb9c773c7bcc4
tree425431798b8736c6b089a58ed3a8074945a9c89c
parent6fcf6716be3021d99d4972e8ca9b2139e1f8f40b
signaturelock-open Commit is signed but in an unrecognized format.

use an explicit error set to fix a compilation error

this function has conditionally compiled out code in it about looking for native glibc.

1 files changed, 18 insertions(+), 1 deletions(-)

lib/std/zig/system.zig+18-1
......@@ -481,13 +481,30 @@ pub const NativeTargetInfo = struct {
481481 };
482482 }
483483
484 pub const AbiAndDynamicLinkerFromFileError = error{
485 FileSystem,
486 SystemResources,
487 SymLinkLoop,
488 ProcessFdQuotaExceeded,
489 SystemFdQuotaExceeded,
490 UnableToReadElfFile,
491 InvalidElfClass,
492 InvalidElfVersion,
493 InvalidElfEndian,
494 InvalidElfFile,
495 InvalidElfMagic,
496 Unexpected,
497 UnexpectedEndOfFile,
498 NameTooLong,
499 };
500
484501 pub fn abiAndDynamicLinkerFromFile(
485502 file: fs.File,
486503 cpu: Target.Cpu,
487504 os: Target.Os,
488505 ld_info_list: []const LdInfo,
489506 cross_target: CrossTarget,
490 ) !NativeTargetInfo {
507 ) AbiAndDynamicLinkerFromFileError!NativeTargetInfo {
491508 var hdr_buf: [@sizeOf(elf.Elf64_Ehdr)]u8 align(@alignOf(elf.Elf64_Ehdr)) = undefined;
492509 _ = try preadFull(file, &hdr_buf, 0, hdr_buf.len);
493510 const hdr32 = @ptrCast(*elf.Elf32_Ehdr, &hdr_buf);