aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-06-16 20:51:15 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-06-17 16:38:59 -0700
commite798a3a7796892427ac4561839a35286108bbf6c (patch)
treef02d1ed73189a44fbdaf9622762a2fa0519c7b4a /src
parent5cd548e53081428d0e6b4a6b5a305317052c133a (diff)
downloadzig-e798a3a7796892427ac4561839a35286108bbf6c.tar.gz
zig-e798a3a7796892427ac4561839a35286108bbf6c.zip
compiler-rt: disable separate compilation units
Diffstat (limited to 'src')
-rw-r--r--src/Compilation.zig4
-rw-r--r--src/compiler_rt.zig2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 65a2ad92b4..89e54b598f 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -2800,7 +2800,9 @@ pub fn performAllTheWork(
if (comp.job_queued_compiler_rt_lib) {
comp.job_queued_compiler_rt_lib = false;
- if (use_stage1) {
+ // I have disabled the multi-threaded compiler-rt for now until
+ // the threading deadlock is resolved.
+ if (use_stage1 or true) {
// stage1 LLVM backend uses the global context and thus cannot be used in
// a multi-threaded context.
buildCompilerRtOneShot(comp, .Lib, &comp.compiler_rt_lib);
diff --git a/src/compiler_rt.zig b/src/compiler_rt.zig
index 4e43f0be88..185ebf6b16 100644
--- a/src/compiler_rt.zig
+++ b/src/compiler_rt.zig
@@ -69,6 +69,7 @@ pub fn buildCompilerRtLib(comp: *Compilation, progress_node: *std.Progress.Node)
.main_pkg = null,
.output_mode = .Lib,
.link_mode = .Static,
+ .function_sections = true,
.thread_pool = comp.thread_pool,
.libc_installation = comp.bin_file.options.libc_installation,
.emit_bin = emit_bin,
@@ -186,6 +187,7 @@ fn buildObject(comp: *Compilation, src_basename: []const u8, out: *?CRTFile) !vo
.emit_bin = emit_bin,
.optimize_mode = comp.compilerRtOptMode(),
.link_mode = .Static,
+ .function_sections = true,
.want_sanitize_c = false,
.want_stack_check = false,
.want_red_zone = comp.bin_file.options.red_zone,