aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-01-04 00:11:45 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-01-04 00:11:45 -0700
commitb6d6152e6514dcb4e67750cbb22b90b38ebedf49 (patch)
tree7582ae1282cd4ac631c099e40677c22c8bef1d26
parentff66a18555dc6c00bd928f48462c3fc44f86ab6c (diff)
downloadzig-b6d6152e6514dcb4e67750cbb22b90b38ebedf49.tar.gz
zig-b6d6152e6514dcb4e67750cbb22b90b38ebedf49.zip
link: avoid creating stage2 llvm module when using stage1
-rw-r--r--src/link/Coff.zig5
-rw-r--r--src/link/Elf.zig4
-rw-r--r--src/link/MachO.zig4
-rw-r--r--src/link/Wasm.zig4
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;