Skip to content

eliminate dependency on LLD for COFF/PE #17751

Open
@andrewrk

Description

@andrewrk

Related:

Put simply, this issue can be closed when the following diff is applied:

--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -899,15 +899,13 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation {
 
         // Make a decision on whether to use LLD or our own linker.
         const use_lld = options.use_lld orelse blk: {
-            if (options.target.isDarwin()) {
-                break :blk false;
-            }
-
             if (!build_options.have_llvm)
                 break :blk false;
 
-            if (options.target.ofmt == .c)
-                break :blk false;
+            switch (options.target.ofmt) {
+                .c, .macho, .coff => break :blk false,
+                else => {},
+            }
 
             if (options.want_lto) |lto| {
                 if (lto) {

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementSolving this issue will likely involve adding new logic or components to the codebase.linkingos-windows

    Type

    No type

    Projects

    • Status

      Ditch LLVM

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions