From d0039ec494a65614d5fed68426614af2d3065690 Mon Sep 17 00:00:00 2001 From: David Gonzalez Martin Date: Wed, 22 May 2024 07:40:52 -0600 Subject: [PATCH] Better handle thread objects --- bootstrap/compiler.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bootstrap/compiler.zig b/bootstrap/compiler.zig index 15e9921..18f5272 100644 --- a/bootstrap/compiler.zig +++ b/bootstrap/compiler.zig @@ -1851,7 +1851,8 @@ fn worker_thread(thread_index: u32, cpu_count: *u32) void { } }, .llvm_emit_object => { - const thread_object = std.fmt.allocPrint(std.heap.page_allocator, "thread{}.o", .{thread.get_index()}) catch unreachable; + const timestamp = std.time.nanoTimestamp(); + const thread_object = std.fmt.allocPrint(std.heap.page_allocator, "nat/{s}_thread{}_{}.o", .{std.fs.path.basename(std.fs.path.dirname(instance.files.get(@enumFromInt(0)).path).?), thread.get_index(), timestamp}) catch unreachable; thread.llvm.object = thread_object; const disable_verify = false; const result = thread.llvm.module.addPassesToEmitFile(thread.llvm.target_machine, thread_object.ptr, thread_object.len, LLVM.CodeGenFileType.object, disable_verify);