Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

eliminate dependency on LLD for ELF #17749

Open
Tracked by #16270 ...
andrewrk opened this issue Oct 27, 2023 · 0 comments
Open
Tracked by #16270 ...

eliminate dependency on LLD for ELF #17749

andrewrk opened this issue Oct 27, 2023 · 0 comments
Labels
enhancement Solving this issue will likely involve adding new logic or components to the codebase. linking
Milestone

Comments

@andrewrk
Copy link
Member

andrewrk commented Oct 27, 2023

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, .elf => break :blk false,
+                else => {},
+            }
 
             if (options.want_lto) |lto| {
                 if (lto) {
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
enhancement Solving this issue will likely involve adding new logic or components to the codebase. linking
Projects
Status: Ditch LLVM
Development

No branches or pull requests

1 participant