| author | |
| committer | |
| log | 3ab5912eee54083033be5f72454980d7e83b2936 |
| tree | e77c5ee7fc9fab79210dac6e18b1b584dc3e91fb |
| parent | ae0b0729fc10dc3aee1e005b8f30f54d2da271ec |
4 files changed, 13 insertions(+), 12 deletions(-)
src/codegen/llvm/bindings.zig+3-3| ... | ... | @@ -1186,9 +1186,9 @@ pub extern fn LLVMInitializeM68kAsmParser() void; |
| 1186 | 1186 | pub extern fn LLVMInitializeCSKYAsmParser() void; |
| 1187 | 1187 | pub extern fn LLVMInitializeVEAsmParser() void; |
| 1188 | 1188 | |
| 1189 | extern fn ZigLLDLinkCOFF(argc: c_int, argv: [*:null]const ?[*:0]const u8, can_exit_early: bool, disable_output: bool) c_int; | |
| 1190 | extern fn ZigLLDLinkELF(argc: c_int, argv: [*:null]const ?[*:0]const u8, can_exit_early: bool, disable_output: bool) c_int; | |
| 1191 | extern fn ZigLLDLinkWasm(argc: c_int, argv: [*:null]const ?[*:0]const u8, can_exit_early: bool, disable_output: bool) c_int; | |
| 1189 | extern fn ZigLLDLinkCOFF(argc: c_int, argv: [*:null]const ?[*:0]const u8, can_exit_early: bool, disable_output: bool) bool; | |
| 1190 | extern fn ZigLLDLinkELF(argc: c_int, argv: [*:null]const ?[*:0]const u8, can_exit_early: bool, disable_output: bool) bool; | |
| 1191 | extern fn ZigLLDLinkWasm(argc: c_int, argv: [*:null]const ?[*:0]const u8, can_exit_early: bool, disable_output: bool) bool; | |
| 1192 | 1192 | |
| 1193 | 1193 | pub const LinkCOFF = ZigLLDLinkCOFF; |
| 1194 | 1194 | pub const LinkELF = ZigLLDLinkELF; |
src/main.zig+4-3| ... | ... | @@ -4481,10 +4481,11 @@ pub fn lldMain( |
| 4481 | 4481 | defer arena_instance.deinit(); |
| 4482 | 4482 | const arena = arena_instance.allocator(); |
| 4483 | 4483 | |
| 4484 | // Convert the args to the format llvm-ar expects. | |
| 4484 | // Convert the args to the format LLD expects. | |
| 4485 | 4485 | // We intentionally shave off the zig binary at args[0]. |
| 4486 | 4486 | const argv = try argsCopyZ(arena, args[1..]); |
| 4487 | const exit_code = rc: { | |
| 4487 | // "If an error occurs, false will be returned." | |
| 4488 | const ok = rc: { | |
| 4488 | 4489 | const llvm = @import("codegen/llvm/bindings.zig"); |
| 4489 | 4490 | const argc = @intCast(c_int, argv.len); |
| 4490 | 4491 | if (mem.eql(u8, args[1], "ld.lld")) { |
| ... | ... | @@ -4497,7 +4498,7 @@ pub fn lldMain( |
| 4497 | 4498 | unreachable; |
| 4498 | 4499 | } |
| 4499 | 4500 | }; |
| 4500 | return @bitCast(u8, @truncate(i8, exit_code)); | |
| 4501 | return @boolToInt(!ok); | |
| 4501 | 4502 | } |
| 4502 | 4503 | |
| 4503 | 4504 | const ArgIteratorResponseFile = process.ArgIteratorGeneral(.{ .comments = true, .single_quotes = true }); |
src/zig_llvm.cpp+3-3| ... | ... | @@ -1335,17 +1335,17 @@ bool ZigLLVMWriteArchive(const char *archive_name, const char **file_names, size |
| 1335 | 1335 | return false; |
| 1336 | 1336 | } |
| 1337 | 1337 | |
| 1338 | int ZigLLDLinkCOFF(int argc, const char **argv, bool can_exit_early, bool disable_output) { | |
| 1338 | bool ZigLLDLinkCOFF(int argc, const char **argv, bool can_exit_early, bool disable_output) { | |
| 1339 | 1339 | std::vector<const char *> args(argv, argv + argc); |
| 1340 | 1340 | return lld::coff::link(args, llvm::outs(), llvm::errs(), can_exit_early, disable_output); |
| 1341 | 1341 | } |
| 1342 | 1342 | |
| 1343 | int ZigLLDLinkELF(int argc, const char **argv, bool can_exit_early, bool disable_output) { | |
| 1343 | bool ZigLLDLinkELF(int argc, const char **argv, bool can_exit_early, bool disable_output) { | |
| 1344 | 1344 | std::vector<const char *> args(argv, argv + argc); |
| 1345 | 1345 | return lld::elf::link(args, llvm::outs(), llvm::errs(), can_exit_early, disable_output); |
| 1346 | 1346 | } |
| 1347 | 1347 | |
| 1348 | int ZigLLDLinkWasm(int argc, const char **argv, bool can_exit_early, bool disable_output) { | |
| 1348 | bool ZigLLDLinkWasm(int argc, const char **argv, bool can_exit_early, bool disable_output) { | |
| 1349 | 1349 | std::vector<const char *> args(argv, argv + argc); |
| 1350 | 1350 | return lld::wasm::link(args, llvm::outs(), llvm::errs(), can_exit_early, disable_output); |
| 1351 | 1351 | } |
src/zig_llvm.h+3-3| ... | ... | @@ -543,9 +543,9 @@ ZIG_EXTERN_C const char *ZigLLVMGetVendorTypeName(enum ZigLLVM_VendorType vendor |
| 543 | 543 | ZIG_EXTERN_C const char *ZigLLVMGetOSTypeName(enum ZigLLVM_OSType os); |
| 544 | 544 | ZIG_EXTERN_C const char *ZigLLVMGetEnvironmentTypeName(enum ZigLLVM_EnvironmentType abi); |
| 545 | 545 | |
| 546 | ZIG_EXTERN_C int ZigLLDLinkCOFF(int argc, const char **argv, bool can_exit_early, bool disable_output); | |
| 547 | ZIG_EXTERN_C int ZigLLDLinkELF(int argc, const char **argv, bool can_exit_early, bool disable_output); | |
| 548 | ZIG_EXTERN_C int ZigLLDLinkWasm(int argc, const char **argv, bool can_exit_early, bool disable_output); | |
| 546 | ZIG_EXTERN_C bool ZigLLDLinkCOFF(int argc, const char **argv, bool can_exit_early, bool disable_output); | |
| 547 | ZIG_EXTERN_C bool ZigLLDLinkELF(int argc, const char **argv, bool can_exit_early, bool disable_output); | |
| 548 | ZIG_EXTERN_C bool ZigLLDLinkWasm(int argc, const char **argv, bool can_exit_early, bool disable_output); | |
| 549 | 549 | |
| 550 | 550 | ZIG_EXTERN_C bool ZigLLVMWriteArchive(const char *archive_name, const char **file_names, size_t file_name_count, |
| 551 | 551 | enum ZigLLVM_OSType os_type); |