| ... | @@ -543,6 +543,34 @@ fn detectNativeCpuAndFeatures(io: Io, cpu_arch: Target.Cpu.Arch, os: Target.Os, | ... | @@ -543,6 +543,34 @@ fn detectNativeCpuAndFeatures(io: Io, cpu_arch: Target.Cpu.Arch, os: Target.Os, |
| 543 | return null; | 543 | return null; |
| 544 | } | 544 | } |
| 545 | | 545 | |
| | 546 | pub const AbiAndDynamicLinkerFromFileError = error{ |
| | 547 | Canceled, |
| | 548 | AccessDenied, |
| | 549 | Unexpected, |
| | 550 | Unseekable, |
| | 551 | ReadFailed, |
| | 552 | EndOfStream, |
| | 553 | NameTooLong, |
| | 554 | StaticElfFile, |
| | 555 | InvalidElfFile, |
| | 556 | StreamTooLong, |
| | 557 | Timeout, |
| | 558 | SymLinkLoop, |
| | 559 | SystemResources, |
| | 560 | ProcessFdQuotaExceeded, |
| | 561 | SystemFdQuotaExceeded, |
| | 562 | ProcessNotFound, |
| | 563 | IsDir, |
| | 564 | WouldBlock, |
| | 565 | InputOutput, |
| | 566 | BrokenPipe, |
| | 567 | ConnectionResetByPeer, |
| | 568 | NotOpenForReading, |
| | 569 | SocketUnconnected, |
| | 570 | LockViolation, |
| | 571 | FileSystem, |
| | 572 | }; |
| | 573 | |
| 546 | fn abiAndDynamicLinkerFromFile( | 574 | fn abiAndDynamicLinkerFromFile( |
| 547 | file_reader: *Io.File.Reader, | 575 | file_reader: *Io.File.Reader, |
| 548 | header: *const elf.Header, | 576 | header: *const elf.Header, |
| ... | @@ -550,7 +578,7 @@ fn abiAndDynamicLinkerFromFile( | ... | @@ -550,7 +578,7 @@ fn abiAndDynamicLinkerFromFile( |
| 550 | os: Target.Os, | 578 | os: Target.Os, |
| 551 | ld_info_list: []const LdInfo, | 579 | ld_info_list: []const LdInfo, |
| 552 | query: Target.Query, | 580 | query: Target.Query, |
| 553 | ) !Target { | 581 | ) AbiAndDynamicLinkerFromFileError!Target { |
| 554 | const io = file_reader.io; | 582 | const io = file_reader.io; |
| 555 | var result: Target = .{ | 583 | var result: Target = .{ |
| 556 | .cpu = cpu, | 584 | .cpu = cpu, |