From b6d6152e6514dcb4e67750cbb22b90b38ebedf49 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 4 Jan 2022 00:11:45 -0700 Subject: [PATCH] link: avoid creating stage2 llvm module when using stage1 --- src/link/Coff.zig | 5 ++++- src/link/Elf.zig | 4 +++- src/link/MachO.zig | 4 +++- src/link/Wasm.zig | 4 +++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/link/Coff.zig b/src/link/Coff.zig index 01a200e9f6..ea9c457716 100644 --- a/src/link/Coff.zig +++ b/src/link/Coff.zig @@ -409,7 +409,10 @@ pub fn createEmpty(gpa: Allocator, options: link.Options) !*Coff { }, .ptr_width = ptr_width, }; - if (build_options.have_llvm and options.use_llvm) { + + const use_llvm = build_options.have_llvm and options.use_llvm; + const use_stage1 = build_options.is_stage1 and options.use_stage1; + if (use_llvm and !use_stage1) { self.llvm_object = try LlvmObject.create(gpa, options); } return self; diff --git a/src/link/Elf.zig b/src/link/Elf.zig index 78a0b9d3a5..36fe97f69b 100644 --- a/src/link/Elf.zig +++ b/src/link/Elf.zig @@ -304,7 +304,9 @@ pub fn createEmpty(gpa: Allocator, options: link.Options) !*Elf { }, .ptr_width = ptr_width, }; - if (build_options.have_llvm and options.use_llvm) { + const use_llvm = build_options.have_llvm and options.use_llvm; + const use_stage1 = build_options.is_stage1 and options.use_stage1; + if (use_llvm and !use_stage1) { self.llvm_object = try LlvmObject.create(gpa, options); } return self; diff --git a/src/link/MachO.zig b/src/link/MachO.zig index aec4fae1d8..816e4e0023 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -396,7 +396,9 @@ pub fn createEmpty(gpa: Allocator, options: link.Options) !*MachO { .needs_prealloc = needs_prealloc, }; - if (build_options.have_llvm and options.use_llvm) { + const use_llvm = build_options.have_llvm and options.use_llvm; + const use_stage1 = build_options.is_stage1 and options.use_stage1; + if (use_llvm and !use_stage1) { self.llvm_object = try LlvmObject.create(gpa, options); } diff --git a/src/link/Wasm.zig b/src/link/Wasm.zig index e63b99d567..401bf0b410 100644 --- a/src/link/Wasm.zig +++ b/src/link/Wasm.zig @@ -145,7 +145,9 @@ pub fn createEmpty(gpa: Allocator, options: link.Options) !*Wasm { .allocator = gpa, }, }; - if (build_options.have_llvm and options.use_llvm) { + const use_llvm = build_options.have_llvm and options.use_llvm; + const use_stage1 = build_options.is_stage1 and options.use_stage1; + if (use_llvm and !use_stage1) { self.llvm_object = try LlvmObject.create(gpa, options); } return self;