zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 3efdd7b2ad6cce5985d761240636b3d5eb3b4c84 (tree)
parent d3a99c7bd5396f2e458d844368ce2743934e43e2
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Tue, 29 Sep 2020 01:28:48 -0700

don't try to build musl crti.o crtn.o when it's not needed

such as on RISC-V

Diffstat:
MBRANCH_TODO | 2+-
Msrc/Compilation.zig | 11++++++++---
2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/BRANCH_TODO b/BRANCH_TODO @@ -1,3 +1,3 @@ - * building risc-v musl regression + * wasi behavior tests failing * go ahead and use allocSentinel now that the stage1 bug is fixed * audit the base cache hash diff --git a/src/Compilation.zig b/src/Compilation.zig @@ -855,9 +855,14 @@ pub fn create(gpa: *Allocator, options: InitOptions) !*Compilation { try comp.addBuildingGLibCJobs(); } if (comp.wantBuildMuslFromSource()) { - try comp.work_queue.write(&[_]Job{ - .{ .musl_crt_file = .crti_o }, - .{ .musl_crt_file = .crtn_o }, + try comp.work_queue.ensureUnusedCapacity(5); + if (target_util.libc_needs_crti_crtn(comp.getTarget())) { + comp.work_queue.writeAssumeCapacity(&[_]Job{ + .{ .musl_crt_file = .crti_o }, + .{ .musl_crt_file = .crtn_o }, + }); + } + comp.work_queue.writeAssumeCapacity(&[_]Job{ .{ .musl_crt_file = .crt1_o }, .{ .musl_crt_file = .scrt1_o }, .{ .musl_crt_file = .libc_a },