rui314 / mold

Mold: A Modern Linker 🦠
MIT License
14.12k stars 463 forks source link

(macho) Bus error in `lvm::StructType::setName` #527

Open Jarred-Sumner opened 2 years ago

Jarred-Sumner commented 2 years ago

Trying to get Mold to work for a project that currently spends 2 minutes linking on an M1. It statically links JavaScriptCore and related libraries (parts of WebKit)

I wasn't expecting it to work and it does say it's too early, so feel free to close this if it's unhelpful.

Some notes:

This diff ignores the above two args:

❯ git diff
diff --git a/macho/cmdline.cc b/macho/cmdline.cc
index 73ffb9ba..ff57757a 100644
--- a/macho/cmdline.cc
+++ b/macho/cmdline.cc
@@ -253,6 +253,8 @@ std::vector<std::string> parse_nonpositional_args(Context<E> &ctx) {
     } else if (read_flag("-export_dynamic")) {
       ctx.arg.export_dynamic = true;
     } else if (read_arg("-fatal_warnings")) {
+    } else if (read_arg("-exported_symbols_list")) {
+    } else if (read_arg("-object_path_lto")) {
     } else if (read_arg("-filelist")) {
       remaining.push_back("-filelist");
       remaining.push_back(std::string(arg));

From there, mold no longer reports errors and instead segfaults

Here is the crash report from `Console.app` (macOS) ```c++ ------------------------------------- Translated Report (Full Report Below) ------------------------------------- Process: mold [35826] Path: /Users/USER/*/mold Identifier: mold Version: ??? Code Type: ARM-64 (Native) Parent Process: clang++ [35814] Responsible: alacritty [9216] User ID: 501 Date/Time: 2022-05-30 21:35:13.6989 -0700 OS Version: macOS 12.4 (21F79) Report Version: 12 Anonymous UUID: 96255C35-E415-1AB8-FAA6-9E17B4F28471 Sleep/Wake UUID: D5D39DC8-C3CC-4695-88A1-AF1D46F673EC Time Awake Since Boot: 590000 seconds Time Since Wake: 15886 seconds System Integrity Protection: enabled Crashed Thread: 0 Exception Type: EXC_BAD_ACCESS (SIGBUS) Exception Codes: KERN_PROTECTION_FAILURE at 0x0000003f00000000 Exception Codes: 0x0000000000000002, 0x0000003f00000000 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: Namespace SIGNAL, Code 10 Bus error: 10 Terminating Process: exc handler [35826] VM Region Info: 0x3f00000000 is in 0x1000000000-0x7000000000; bytes after start: 201863462912 bytes before end: 210453397503 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL commpage (reserved) fc0000000-1000000000 [ 1.0G] ---/--- SM=NUL ...(unallocated) ---> GPU Carveout (reserved) 1000000000-7000000000 [384.0G] ---/--- SM=NUL ...(unallocated) GAP OF 0x5f9000000000 BYTES MALLOC_NANO 600000000000-600008000000 [128.0M] rw-/rwx SM=PRV Thread 0 Crashed: 0 libLLVM.dylib 0x2a829c5a0 llvm::StructType::setName(llvm::StringRef) + 968 1 libLLVM.dylib 0x2a829c2f0 llvm::StructType::setName(llvm::StringRef) + 280 2 libLLVM.dylib 0x2a829c700 llvm::StructType::create(llvm::LLVMContext&, llvm::StringRef) + 164 3 libLLVM.dylib 0x2a892cbf0 (anonymous namespace)::BitcodeReader::createIdentifiedStructType(llvm::LLVMContext&, llvm::StringRef) + 44 4 libLLVM.dylib 0x2a892905c (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 11180 5 libLLVM.dylib 0x2a890f68c llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1800 6 libLLVM.dylib 0x2a8913b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 7 libLLVM.dylib 0x2a92e7440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 8 libLLVM.dylib 0x2a92e7c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 9 libLTO.dylib 0x14e069f4c lto_module_create_from_memory + 132 10 mold 0x1009a7900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 11 mold 0x1009c70b0 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 848 12 mold 0x1009f0830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 13 mold 0x1009ede38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 14 mold 0x1009ede38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 15 mold 0x1009f6074 tbb::detail::r1::market::process(rml::job&) + 52 16 mold 0x1009f77f4 tbb::detail::r1::rml::private_worker::run() + 224 17 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 18 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 19 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 1: 0 libsystem_platform.dylib 0x1bd1770d0 _platform_memmove + 0 1 libLLVM.dylib 0x2a80de398 llvm::Twine::str() const + 412 2 libLLVM.dylib 0x2a826a950 llvm::NamedMDNode::NamedMDNode(llvm::Twine const&) + 36 3 libLLVM.dylib 0x2a8276eec llvm::Module::getOrInsertNamedMetadata(llvm::StringRef) + 88 4 libLLVM.dylib 0x2a8938008 llvm::MetadataLoader::MetadataLoaderImpl::parseOneMetadata(llvm::SmallVectorImpl&, unsigned int, (anonymous namespace)::(anonymous namespace)::PlaceholderQueue&, llvm::StringRef, unsigned int&) + 5816 5 libLLVM.dylib 0x2a8935e34 llvm::MetadataLoader::MetadataLoaderImpl::parseMetadata(bool) + 684 6 libLLVM.dylib 0x2a8926ac0 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1552 7 libLLVM.dylib 0x2a890f68c llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1800 8 libLLVM.dylib 0x2a8913b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 9 libLLVM.dylib 0x2a92e7440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 10 libLLVM.dylib 0x2a92e7c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 11 libLTO.dylib 0x14e069f4c lto_module_create_from_memory + 132 12 mold 0x1009a7900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 13 mold 0x1009c7244 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 1252 14 mold 0x1009f0830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 15 mold 0x1009ede38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 16 mold 0x1009ede38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 17 mold 0x1009f6074 tbb::detail::r1::market::process(rml::job&) + 52 18 mold 0x1009f77f4 tbb::detail::r1::rml::private_worker::run() + 224 19 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 20 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 21 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 2: 0 libsystem_kernel.dylib 0x1bd1228ec semaphore_wait_trap + 8 1 mold 0x1009f78b0 tbb::detail::r1::rml::private_worker::run() + 412 2 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 3 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 4 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 3: 0 libsystem_kernel.dylib 0x1bd1228ec semaphore_wait_trap + 8 1 mold 0x1009f78b0 tbb::detail::r1::rml::private_worker::run() + 412 2 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 3 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 4 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 4: 0 libLLVM.dylib 0x2a83bedf4 llvm::detail::DenseMapPair* llvm::DenseMapBase, llvm::detail::DenseMapPair >, unsigned int, unsigned int, llvm::DenseMapInfo, llvm::detail::DenseMapPair >::InsertIntoBucketImpl(unsigned int const&, unsigned int const&, llvm::detail::DenseMapPair*) + 156 1 libLLVM.dylib 0x2a83bedd4 llvm::detail::DenseMapPair* llvm::DenseMapBase, llvm::detail::DenseMapPair >, unsigned int, unsigned int, llvm::DenseMapInfo, llvm::detail::DenseMapPair >::InsertIntoBucketImpl(unsigned int const&, unsigned int const&, llvm::detail::DenseMapPair*) + 124 2 libLLVM.dylib 0x2a893d060 llvm::MetadataLoader::MetadataLoaderImpl::parseMetadataKindRecord(llvm::SmallVectorImpl&) + 464 3 libLLVM.dylib 0x2a893d280 llvm::MetadataLoader::MetadataLoaderImpl::parseMetadataKinds() + 344 4 libLLVM.dylib 0x2a8926834 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 900 5 libLLVM.dylib 0x2a890f68c llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1800 6 libLLVM.dylib 0x2a8913b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 7 libLLVM.dylib 0x2a92e7440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 8 libLLVM.dylib 0x2a92e7c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 9 libLTO.dylib 0x14e069f4c lto_module_create_from_memory + 132 10 mold 0x1009a7900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 11 mold 0x1009c70b0 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 848 12 mold 0x1009f0830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 13 mold 0x1009ede38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 14 mold 0x1009ede38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 15 mold 0x1009f6074 tbb::detail::r1::market::process(rml::job&) + 52 16 mold 0x1009f77f4 tbb::detail::r1::rml::private_worker::run() + 224 17 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 18 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 19 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 5: 0 libsystem_malloc.dylib 0x1bcf6ea5c nanov2_allocate_from_block + 208 1 libsystem_malloc.dylib 0x1bcf6e1e0 nanov2_allocate + 128 2 libsystem_malloc.dylib 0x1bcf6e1e0 nanov2_allocate + 128 3 libsystem_malloc.dylib 0x1bcf6e0fc nanov2_malloc + 64 4 libsystem_malloc.dylib 0x1bcf8b748 _malloc_zone_malloc + 156 5 libc++abi.dylib 0x1bd11c8a0 operator new(unsigned long) + 32 6 libLLVM.dylib 0x2a890e40c llvm::getBitcodeFileContents(llvm::MemoryBufferRef) + 1024 7 libLLVM.dylib 0x2a8913858 getSingleModule(llvm::MemoryBufferRef) + 60 8 libLLVM.dylib 0x2a8913b1c llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 72 9 libLLVM.dylib 0x2a92e7440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 10 libLLVM.dylib 0x2a92e7c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 11 libLTO.dylib 0x14e069f4c lto_module_create_from_memory + 132 12 mold 0x1009a7900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 13 mold 0x1009c7244 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 1252 14 mold 0x1009f0830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 15 mold 0x1009ede38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 16 mold 0x1009ede38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 17 mold 0x1009f6074 tbb::detail::r1::market::process(rml::job&) + 52 18 mold 0x1009f77f4 tbb::detail::r1::rml::private_worker::run() + 224 19 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 20 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 21 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 6: 0 libLLVM.dylib 0x2a8080474 llvm::FoldingSetNodeID::operator==(llvm::FoldingSetNodeID const&) const + 48 1 libLLVM.dylib 0x2a8080ba4 llvm::FoldingSetBase::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void*&, llvm::FoldingSetBase::FoldingSetInfo const&) + 168 2 libLLVM.dylib 0x2a814bab4 llvm::Attribute::get(llvm::LLVMContext&, llvm::Attribute::AttrKind, unsigned long long) + 128 3 libLLVM.dylib 0x2a8150dcc llvm::AttributeSetNode::get(llvm::LLVMContext&, llvm::AttrBuilder const&) + 368 4 libLLVM.dylib 0x2a8154320 llvm::AttributeList::get(llvm::LLVMContext&, unsigned int, llvm::AttrBuilder const&) + 148 5 libLLVM.dylib 0x2a89278f8 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 5192 6 libLLVM.dylib 0x2a890f68c llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1800 7 libLLVM.dylib 0x2a8913b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 8 libLLVM.dylib 0x2a92e7440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 9 libLLVM.dylib 0x2a92e7c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 10 libLTO.dylib 0x14e069f4c lto_module_create_from_memory + 132 11 mold 0x1009a7900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 12 mold 0x1009c70b0 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 848 13 mold 0x1009f0830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 14 mold 0x1009ede38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 15 mold 0x1009ede38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 16 mold 0x1009f6074 tbb::detail::r1::market::process(rml::job&) + 52 17 mold 0x1009f77f4 tbb::detail::r1::rml::private_worker::run() + 224 18 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 19 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 20 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 7: 0 mold 0x1009b10a4 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 252 1 mold 0x1009b147c void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 456 2 mold 0x1009b147c void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 456 3 mold 0x1009b1190 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 488 4 mold 0x1009b147c void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 456 5 mold 0x1009b11b0 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 520 6 mold 0x1009b1460 void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 428 7 mold 0x1009b11b0 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 520 8 mold 0x1009b1460 void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 428 9 mold 0x1009b1190 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 488 10 mold 0x1009b147c void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 456 11 mold 0x1009b1190 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 488 12 mold 0x1009b147c void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 456 13 mold 0x1009b11b0 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 520 14 mold 0x1009b0e50 mold::macho::InputSection::parse_relocations(mold::macho::Context&) + 240 15 mold 0x1009a79b4 mold::macho::ObjectFile::parse(mold::macho::Context&) + 252 16 mold 0x1009c70b0 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 848 17 mold 0x1009f0830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 18 mold 0x1009ede38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 19 mold 0x1009ede38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 20 mold 0x1009f6074 tbb::detail::r1::market::process(rml::job&) + 52 21 mold 0x1009f77f4 tbb::detail::r1::rml::private_worker::run() + 224 22 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 23 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 24 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 8: 0 libLLVM.dylib 0x2a8907598 llvm::BitstreamCursor::ReadCode() + 172 1 libLLVM.dylib 0x2a890b5e0 llvm::BitstreamCursor::advance(unsigned int) + 88 2 libLLVM.dylib 0x2a890b5e0 llvm::BitstreamCursor::advance(unsigned int) + 88 3 libLLVM.dylib 0x2a890ed70 readBlobInRecord(llvm::BitstreamCursor&, unsigned int, unsigned int) + 172 4 libLLVM.dylib 0x2a890e270 llvm::getBitcodeFileContents(llvm::MemoryBufferRef) + 612 5 libLLVM.dylib 0x2a8913858 getSingleModule(llvm::MemoryBufferRef) + 60 6 libLLVM.dylib 0x2a8913b1c llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 72 7 libLLVM.dylib 0x2a92e7440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 8 libLLVM.dylib 0x2a92e7c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 9 libLTO.dylib 0x14e069f4c lto_module_create_from_memory + 132 10 mold 0x1009a7900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 11 mold 0x1009c70b0 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 848 12 mold 0x1009f0830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 13 mold 0x1009ede38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 14 mold 0x1009ede38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 15 mold 0x1009f6074 tbb::detail::r1::market::process(rml::job&) + 52 16 mold 0x1009f77f4 tbb::detail::r1::rml::private_worker::run() + 224 17 mold 0x1009f7708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 18 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 19 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000003f00000000 x1: 0x0000000000000008 x2: 0x0000000000000000 x3: 0x0000600000ba5911 x4: 0x9bdf09a07dea1ada x5: 0x1539cd33c0000000 x6: 0x0000000000000074 x7: 0x0000000000000001 x8: 0x0000600000ba58f0 x9: 0x0000000000000000 x10: 0x00000000000018f0 x11: 0x0000000000000001 x12: 0x0000000090c677fb x13: 0x0000000010c67000 x14: 0x0000000010c00000 x15: 0xffffffffffffffff x16: 0x00000001bd1770d0 x17: 0x00000000000008fd x18: 0x0000000000000000 x19: 0x00000001531c3a28 x20: 0x00000001527c5f30 x21: 0x0000000000000011 x22: 0x000000016fb1def8 x23: 0x0000000000000008 x24: 0x0000600000ba58f0 x25: 0x0000600000ba5900 x26: 0x00000001559bf400 x27: 0x00000001527c5ef0 x28: 0x0000000000000000 fp: 0x000000016fb1d9a0 lr: 0x00000002a829c2f0 sp: 0x000000016fb1d8a0 pc: 0x00000002a829c5a0 cpsr: 0x00001000 far: 0x0000003f00000000 esr: 0x92000005 (Data Abort) byte read Translation fault Binary Images: 0x2a8000000 - 0x2ac913fff libLLVM.dylib (*) <24c3570a-28cc-332c-a01d-6891ebd20fec> /opt/homebrew/*/libLLVM.dylib 0x14e064000 - 0x14e06ffff libLTO.dylib (*) /opt/homebrew/*/libLTO.dylib 0x1006e8000 - 0x100a53fff mold (*) <5360dc49-ad7c-3837-a43e-2aeb8097e6e6> /Users/USER/*/mold 0x1bd159000 - 0x1bd165fff libsystem_pthread.dylib (*) <42166a2c-89a9-3c38-a215-f028544cea23> /usr/lib/system/libsystem_pthread.dylib 0x1bd173000 - 0x1bd17afff libsystem_platform.dylib (*) /usr/lib/system/libsystem_platform.dylib 0x1bd121000 - 0x1bd158fff libsystem_kernel.dylib (*) <03f48dc5-caa7-3678-af61-1a3c7fa8b06e> /usr/lib/system/libsystem_kernel.dylib 0x1bcf6d000 - 0x1bcf97fff libsystem_malloc.dylib (*) <5c634686-8d9f-3c7b-9334-b0175ddef799> /usr/lib/system/libsystem_malloc.dylib 0x1bd109000 - 0x1bd120fff libc++abi.dylib (*) <59de363f-98cf-36dc-becc-4d8f5f4f3a0e> /usr/lib/libc++abi.dylib 0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ??? External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 473 thread_create: 2 thread_set_state: 18210 VM Region Summary: ReadOnly portion of Libraries: Total=682.7M resident=0K(0%) swapped_out_or_unallocated=682.7M(100%) Writable regions: Total=1.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.7G(100%) VIRTUAL REGION REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Kernel Alloc Once 32K 1 MALLOC 300.7M 40 MALLOC guard page 96K 5 MALLOC_MEDIUM (reserved) 960.0M 8 reserved VM address space (unallocated) MALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated) STACK GUARD 144K 9 Stack 100.3M 10 Stack Guard 16K 1 __AUTH 46K 13 __AUTH_CONST 145K 44 __DATA 834K 46 __DATA_CONST 5965K 48 __DATA_DIRTY 82K 24 __LINKEDIT 597.5M 5 __OBJC_CONST 10K 5 __OBJC_RO 83.0M 1 __OBJC_RW 3152K 1 __TEXT 85.2M 51 dyld private memory 1024K 1 mapped file 1.2G 173 shared memory 16K 1 =========== ======= ======= TOTAL 3.7G 488 TOTAL, minus reserved VM space 2.4G 488 ```

I'm guessing the issue is due to debug symbols with LTO.

Here is the command used to link with clang++:

/opt/homebrew/opt/llvm/bin/clang++ /Users/jarred/Code/bun/src/deps/libmimalloc.a /Users/jarred/Code/bun/src/deps/picohttpparser.o -L/Users/jarred/Code/bun/src/deps -llolhtml -lz -larchive -lssl -lbase64 -ltcc  -lcrypto /Users/jarred/Code/bun/src/deps/uws/uSockets/asio.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/bsd.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/context.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/epoll_kqueue.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/gcd.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/libuv.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/loop.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/openssl.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/sni_tree.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/socket.bc /Users/jarred/Code/bun/src/deps/uws/uSockets/wolfssl.bc /Users/jarred/Code/bun/src/deps/libuwsockets.o /opt/homebrew/opt/libiconv/lib/libiconv.a -I/Users/jarred/Code/bun/src/deps/uws/uSockets/src -I/Users/jarred/Code/bun/src/deps/uws/src -I/Users/jarred/Code/bun/src/deps -I/Users/jarred/Code/bun/src/deps/mimalloc/include -Isrc/napi -I/Users/jarred/Code/bun/src/javascript/jsc/WebKit/WebKitBuild/Release/JavaScriptCore/PrivateHeaders -I/Users/jarred/Code/bun/src/javascript/jsc/WebKit/WebKitBuild/Release/WTF/Headers -I/Users/jarred/Code/bun/src/javascript/jsc/WebKit/WebKitBuild/Release/ICU/Headers -I/Users/jarred/Code/bun/src/javascript/jsc/WebKit/WebKitBuild/Release/ -Isrc/javascript/jsc/bindings/ -Isrc/javascript/jsc/bindings/webcore -Isrc/javascript/jsc/bindings/sqlite -I/Users/jarred/Code/bun/src/javascript/jsc/WebKit/Source/bmalloc -I/Users/jarred/Code/bun/src/javascript/jsc/WebKit/Source -std=c++2a -DSTATICALLY_LINKED_WITH_JavaScriptCore=1 -DSTATICALLY_LINKED_WITH_WTF=1 -DSTATICALLY_LINKED_WITH_BMALLOC=1 -DBUILDING_WITH_CMAKE=1 -DBUN_SINGLE_THREADED_PER_VM_ENTRY_SCOPE=1 -DNDEBUG=1 -DNOMINMAX -DIS_BUILD -DENABLE_INSPECTOR_ALTERNATE_DISPATCHERS=1 -DBUILDING_JSCONLY__ -DASSERT_ENABLED=0 -fvisibility=hidden -fvisibility-inlines-hidden   -DDU_DISABLE_RENAMING=1 -lstdc++ -fno-keep-static-consts -fuse-ld=/Users/jarred/Build/mold/ld64  -flto=full src/javascript/jsc/bindings-obj/ActiveDOMCallback.o src/javascript/jsc/bindings-obj/BlobReadableStreamSource.o src/javascript/jsc/bindings-obj/Buffer.o src/javascript/jsc/bindings-obj/BunClientData.o src/javascript/jsc/bindings-obj/BunGCOutputConstraint.o src/javascript/jsc/bindings-obj/BunStream.o src/javascript/jsc/bindings-obj/ByteLengthQueuingStrategyBuiltins.o src/javascript/jsc/bindings-obj/CountQueuingStrategyBuiltins.o src/javascript/jsc/bindings-obj/DOMException.o src/javascript/jsc/bindings-obj/DOMURL.o src/javascript/jsc/bindings-obj/DOMWrapperWorld.o src/javascript/jsc/bindings-obj/JSBuffer.o src/javascript/jsc/bindings-obj/JSBufferConstructorBuiltins.o src/javascript/jsc/bindings-obj/JSBufferEncodingType.o src/javascript/jsc/bindings-obj/JSBufferPrototypeBuiltins.o src/javascript/jsc/bindings-obj/JSDOMExceptionHandling.o src/javascript/jsc/bindings-obj/JSDOMGlobalObject.o src/javascript/jsc/bindings-obj/JSDOMWrapper.o src/javascript/jsc/bindings-obj/JSDOMWrapperCache.o src/javascript/jsc/bindings-obj/JSFFIFunction.o src/javascript/jsc/bindings-obj/JSZigGlobalObjectBuiltins.o src/javascript/jsc/bindings-obj/MarkingConstraint.o src/javascript/jsc/bindings-obj/Path.o src/javascript/jsc/bindings-obj/Process.o src/javascript/jsc/bindings-obj/ReadableByteStreamControllerBuiltins.o src/javascript/jsc/bindings-obj/ReadableByteStreamInternalsBuiltins.o src/javascript/jsc/bindings-obj/ReadableStreamBYOBReaderBuiltins.o src/javascript/jsc/bindings-obj/ReadableStreamBYOBRequestBuiltins.o src/javascript/jsc/bindings-obj/ReadableStreamBuiltins.o src/javascript/jsc/bindings-obj/ReadableStreamDefaultControllerBuiltins.o src/javascript/jsc/bindings-obj/ReadableStreamDefaultReaderBuiltins.o src/javascript/jsc/bindings-obj/ReadableStreamInternalsBuiltins.o src/javascript/jsc/bindings-obj/StreamInternalsBuiltins.o src/javascript/jsc/bindings-obj/TransformStreamBuiltins.o src/javascript/jsc/bindings-obj/TransformStreamDefaultControllerBuiltins.o src/javascript/jsc/bindings-obj/TransformStreamInternalsBuiltins.o src/javascript/jsc/bindings-obj/URLDecomposition.o src/javascript/jsc/bindings-obj/URLSearchParams.o src/javascript/jsc/bindings-obj/WebCoreJSBuiltinInternals.o src/javascript/jsc/bindings-obj/WritableStreamDefaultControllerBuiltins.o src/javascript/jsc/bindings-obj/WritableStreamDefaultWriterBuiltins.o src/javascript/jsc/bindings-obj/WritableStreamInternalsBuiltins.o src/javascript/jsc/bindings-obj/ZigConsoleClient.o src/javascript/jsc/bindings-obj/ZigGlobalObject.o src/javascript/jsc/bindings-obj/ZigSourceProvider.o src/javascript/jsc/bindings-obj/bindings.o src/javascript/jsc/bindings-obj/inlines.o src/javascript/jsc/bindings-obj/napi.o src/javascript/jsc/bindings-obj/napi_external.o src/javascript/jsc/bindings-obj/objects.o src/javascript/jsc/bindings-obj/wtf-bindings.o src/javascript/jsc/bindings-obj/AbortController.o src/javascript/jsc/bindings-obj/AbortSignal.o src/javascript/jsc/bindings-obj/CommonAtomStrings.o src/javascript/jsc/bindings-obj/CustomEvent.o src/javascript/jsc/bindings-obj/CustomEventCustom.o src/javascript/jsc/bindings-obj/ErrorCallback.o src/javascript/jsc/bindings-obj/ErrorEvent.o src/javascript/jsc/bindings-obj/Event.o src/javascript/jsc/bindings-obj/EventContext.o src/javascript/jsc/bindings-obj/EventDispatcher.o src/javascript/jsc/bindings-obj/EventFactory.o src/javascript/jsc/bindings-obj/EventListenerMap.o src/javascript/jsc/bindings-obj/EventNames.o src/javascript/jsc/bindings-obj/EventPath.o src/javascript/jsc/bindings-obj/EventTarget.o src/javascript/jsc/bindings-obj/EventTargetConcrete.o src/javascript/jsc/bindings-obj/EventTargetFactory.o src/javascript/jsc/bindings-obj/FetchHeaders.o src/javascript/jsc/bindings-obj/HTTPHeaderField.o src/javascript/jsc/bindings-obj/HTTPHeaderMap.o src/javascript/jsc/bindings-obj/HTTPHeaderNames.o src/javascript/jsc/bindings-obj/HTTPHeaderValues.o src/javascript/jsc/bindings-obj/HTTPParsers.o src/javascript/jsc/bindings-obj/InternalWritableStream.o src/javascript/jsc/bindings-obj/JSAbortAlgorithm.o src/javascript/jsc/bindings-obj/JSAbortController.o src/javascript/jsc/bindings-obj/JSAbortSignal.o src/javascript/jsc/bindings-obj/JSAbortSignalCustom.o src/javascript/jsc/bindings-obj/JSAddEventListenerOptions.o src/javascript/jsc/bindings-obj/JSByteLengthQueuingStrategy.o src/javascript/jsc/bindings-obj/JSCallbackData.o src/javascript/jsc/bindings-obj/JSCountQueuingStrategy.o src/javascript/jsc/bindings-obj/JSCustomEvent.o src/javascript/jsc/bindings-obj/JSDOMBindingInternalsBuiltins.o src/javascript/jsc/bindings-obj/JSDOMBuiltinConstructorBase.o src/javascript/jsc/bindings-obj/JSDOMConstructorBase.o src/javascript/jsc/bindings-obj/JSDOMConvertDate.o src/javascript/jsc/bindings-obj/JSDOMConvertNumbers.o src/javascript/jsc/bindings-obj/JSDOMConvertStrings.o src/javascript/jsc/bindings-obj/JSDOMConvertWebGL.o src/javascript/jsc/bindings-obj/JSDOMException.o src/javascript/jsc/bindings-obj/JSDOMGuardedObject.o src/javascript/jsc/bindings-obj/JSDOMIterator.o src/javascript/jsc/bindings-obj/JSDOMPromise.o src/javascript/jsc/bindings-obj/JSDOMPromiseDeferred.o src/javascript/jsc/bindings-obj/JSDOMURL.o src/javascript/jsc/bindings-obj/JSErrorCallback.o src/javascript/jsc/bindings-obj/JSErrorEvent.o src/javascript/jsc/bindings-obj/JSErrorEventCustom.o src/javascript/jsc/bindings-obj/JSErrorHandler.o src/javascript/jsc/bindings-obj/JSEvent.o src/javascript/jsc/bindings-obj/JSEventCustom.o src/javascript/jsc/bindings-obj/JSEventInit.o src/javascript/jsc/bindings-obj/JSEventListener.o src/javascript/jsc/bindings-obj/JSEventListenerOptions.o src/javascript/jsc/bindings-obj/JSEventModifierInit.o src/javascript/jsc/bindings-obj/JSEventTarget.o src/javascript/jsc/bindings-obj/JSEventTargetCustom.o src/javascript/jsc/bindings-obj/JSFetchHeaders.o src/javascript/jsc/bindings-obj/JSReadableByteStreamController.o src/javascript/jsc/bindings-obj/JSReadableStream.o src/javascript/jsc/bindings-obj/JSReadableStreamBYOBReader.o src/javascript/jsc/bindings-obj/JSReadableStreamBYOBRequest.o src/javascript/jsc/bindings-obj/JSReadableStreamDefaultController.o src/javascript/jsc/bindings-obj/JSReadableStreamDefaultReader.o src/javascript/jsc/bindings-obj/JSReadableStreamSink.o src/javascript/jsc/bindings-obj/JSReadableStreamSource.o src/javascript/jsc/bindings-obj/JSReadableStreamSourceCustom.o src/javascript/jsc/bindings-obj/JSTextEncoder.o src/javascript/jsc/bindings-obj/JSTransformStream.o src/javascript/jsc/bindings-obj/JSTransformStreamDefaultController.o src/javascript/jsc/bindings-obj/JSURLSearchParams.o src/javascript/jsc/bindings-obj/JSWritableStream.o src/javascript/jsc/bindings-obj/JSWritableStreamDefaultController.o src/javascript/jsc/bindings-obj/JSWritableStreamDefaultWriter.o src/javascript/jsc/bindings-obj/JSWritableStreamSink.o src/javascript/jsc/bindings-obj/ParsedContentType.o src/javascript/jsc/bindings-obj/ReadableStream.o src/javascript/jsc/bindings-obj/ReadableStreamDefaultController.o src/javascript/jsc/bindings-obj/ReadableStreamSink.o src/javascript/jsc/bindings-obj/ReadableStreamSource.o src/javascript/jsc/bindings-obj/ScriptWrappable.o src/javascript/jsc/bindings-obj/StructuredClone.o src/javascript/jsc/bindings-obj/TextEncoder.o src/javascript/jsc/bindings-obj/WebCoreTypedArrayController.o src/javascript/jsc/bindings-obj/WritableStream.o src/javascript/jsc/bindings-obj/JSSQLStatement.o -I/Users/jarred/Code/bun/src/deps -lJavaScriptCore -lWTF  -lbmalloc -lLowLevelInterpreterLib   -l icucore /opt/homebrew/opt/icu4c/lib/libicudata.a /opt/homebrew/opt/icu4c/lib/libicui18n.a /opt/homebrew/opt/icu4c/lib/libicuuc.a  -I/opt/homebrew/opt/icu4c/include -exported_symbols_list /Users/jarred/Code/bun/src/symbols.txt \
        /Users/jarred/Code/bun/packages/bun-darwin-aarch64/bun.o \
        -o /Users/jarred/Code/bun/packages/bun-darwin-aarch64/bun \
        -W \
        -O3 -mtune=native  -Wl,-dead_strip -Wl,-dead_strip_dylibs
When `-g3` is not passed, a different segfault occurs: ```c++ ------------------------------------- Translated Report (Full Report Below) ------------------------------------- Process: mold [36330] Path: /Users/USER/*/mold Identifier: mold Version: ??? Code Type: ARM-64 (Native) Parent Process: clang++ [36318] Responsible: alacritty [9216] User ID: 501 Date/Time: 2022-05-30 21:50:43.1275 -0700 OS Version: macOS 12.4 (21F79) Report Version: 12 Anonymous UUID: 96255C35-E415-1AB8-FAA6-9E17B4F28471 Sleep/Wake UUID: D5D39DC8-C3CC-4695-88A1-AF1D46F673EC Time Awake Since Boot: 590000 seconds Time Since Wake: 16816 seconds System Integrity Protection: enabled Crashed Thread: 0 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000004 Exception Codes: 0x0000000000000001, 0x0000000000000004 Exception Note: EXC_CORPSE_NOTIFY Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 Terminating Process: exc handler [36330] VM Region Info: 0x4 is not in any region. Bytes before following region: 105553518919676 REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL UNUSED SPACE AT START ---> MALLOC_NANO (reserved) 600018000000-600020000000 [128.0M] rw-/rwx SM=NUL ...(unallocated) Thread 0 Crashed: 0 libLLVM.dylib 0x2a61db56c llvm::FunctionType::get(llvm::Type*, llvm::ArrayRef, bool) + 524 1 libLLVM.dylib 0x2a6868ee8 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 10808 2 libLLVM.dylib 0x2a6868ee8 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 10808 3 libLLVM.dylib 0x2a684f68c llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1800 4 libLLVM.dylib 0x2a6853b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 5 libLLVM.dylib 0x2a7227440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 6 libLLVM.dylib 0x2a7227c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 7 libLTO.dylib 0x1367d1f4c lto_module_create_from_memory + 132 8 mold 0x102f6f900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 9 mold 0x102f8f244 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 1252 10 mold 0x102fb8830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 11 mold 0x102fb5e38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 12 mold 0x102fb5e38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 13 mold 0x102fbe074 tbb::detail::r1::market::process(rml::job&) + 52 14 mold 0x102fbf7f4 tbb::detail::r1::rml::private_worker::run() + 224 15 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 16 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 17 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 1: 0 libsystem_malloc.dylib 0x1bcf73560 tiny_free_no_lock + 348 1 libsystem_malloc.dylib 0x1bcf73284 free_tiny + 432 2 libsystem_malloc.dylib 0x1bcf73284 free_tiny + 432 3 libLLVM.dylib 0x2a68565bc std::__1::__vector_base >::clear() + 132 4 libLLVM.dylib 0x2a685529c (anonymous namespace)::BitcodeReader::~BitcodeReader() + 804 5 libLLVM.dylib 0x2a6855434 (anonymous namespace)::BitcodeReader::~BitcodeReader() + 12 6 libLLVM.dylib 0x2a684f6a8 llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1828 7 libLLVM.dylib 0x2a6853b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 8 libLLVM.dylib 0x2a7227440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 9 libLLVM.dylib 0x2a7227c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 10 libLTO.dylib 0x1367d1f4c lto_module_create_from_memory + 132 11 mold 0x102f6f900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 12 mold 0x102f8f244 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 1252 13 mold 0x102fb8830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 14 mold 0x102fb5e38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 15 mold 0x102fb5e38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 16 mold 0x102fbe074 tbb::detail::r1::market::process(rml::job&) + 52 17 mold 0x102fbf7f4 tbb::detail::r1::rml::private_worker::run() + 224 18 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 19 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 20 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 2: 0 libsystem_kernel.dylib 0x1bd1228ec semaphore_wait_trap + 8 1 mold 0x102fbf8b0 tbb::detail::r1::rml::private_worker::run() + 412 2 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 3 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 4 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 3: 0 libsystem_platform.dylib 0x1bd174d28 _platform_memcmp + 120 1 libLLVM.dylib 0x2a5fc046c llvm::FoldingSetNodeID::operator==(llvm::FoldingSetNodeID const&) const + 40 2 libLLVM.dylib 0x2a5fc0ba4 llvm::FoldingSetBase::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void*&, llvm::FoldingSetBase::FoldingSetInfo const&) + 168 3 libLLVM.dylib 0x2a608bab4 llvm::Attribute::get(llvm::LLVMContext&, llvm::Attribute::AttrKind, unsigned long long) + 128 4 libLLVM.dylib 0x2a6090dcc llvm::AttributeSetNode::get(llvm::LLVMContext&, llvm::AttrBuilder const&) + 368 5 libLLVM.dylib 0x2a6094320 llvm::AttributeList::get(llvm::LLVMContext&, unsigned int, llvm::AttrBuilder const&) + 148 6 libLLVM.dylib 0x2a68678f8 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 5192 7 libLLVM.dylib 0x2a684f68c llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1800 8 libLLVM.dylib 0x2a6853b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 9 libLLVM.dylib 0x2a7227440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 10 libLLVM.dylib 0x2a7227c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 11 libLTO.dylib 0x1367d1f4c lto_module_create_from_memory + 132 12 mold 0x102f6f900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 13 mold 0x102f8f0b0 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 848 14 mold 0x102fb8830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 15 mold 0x102fb5e38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 16 mold 0x102fb5e38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 17 mold 0x102fbe074 tbb::detail::r1::market::process(rml::job&) + 52 18 mold 0x102fbf7f4 tbb::detail::r1::rml::private_worker::run() + 224 19 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 20 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 21 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 4: 0 libLLVM.dylib 0x2a61dc220 llvm::StructType::setName(llvm::StringRef) + 72 1 libLLVM.dylib 0x2a68688e0 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 9264 2 libLLVM.dylib 0x2a68688e0 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 9264 3 libLLVM.dylib 0x2a684f68c llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1800 4 libLLVM.dylib 0x2a6853b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 5 libLLVM.dylib 0x2a7227440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 6 libLLVM.dylib 0x2a7227c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 7 libLTO.dylib 0x1367d1f4c lto_module_create_from_memory + 132 8 mold 0x102f6f900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 9 mold 0x102f8f0b0 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 848 10 mold 0x102fb8830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 11 mold 0x102fb5e38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 12 mold 0x102fb5e38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 13 mold 0x102fbe074 tbb::detail::r1::market::process(rml::job&) + 52 14 mold 0x102fbf7f4 tbb::detail::r1::rml::private_worker::run() + 224 15 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 16 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 17 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 5: 0 mold 0x102f790c0 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 280 1 mold 0x102f79460 void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 428 2 mold 0x102f79460 void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 428 3 mold 0x102f791b0 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 520 4 mold 0x102f7947c void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 456 5 mold 0x102f79190 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 488 6 mold 0x102f79460 void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 428 7 mold 0x102f79190 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 488 8 mold 0x102f79460 void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 428 9 mold 0x102f79190 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 488 10 mold 0x102f7947c void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 456 11 mold 0x102f79190 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 488 12 mold 0x102f79460 void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*) + 428 13 mold 0x102f791b0 void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long) + 520 14 mold 0x102f78e50 mold::macho::InputSection::parse_relocations(mold::macho::Context&) + 240 15 mold 0x102f6f9b4 mold::macho::ObjectFile::parse(mold::macho::Context&) + 252 16 mold 0x102f8f0b0 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 848 17 mold 0x102fb8830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 18 mold 0x102fb5e38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 19 mold 0x102fb5e38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 20 mold 0x102fbe074 tbb::detail::r1::market::process(rml::job&) + 52 21 mold 0x102fbf7f4 tbb::detail::r1::rml::private_worker::run() + 224 22 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 23 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 24 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 6: 0 libLLVM.dylib 0x2a61df3f4 llvm::DenseMapBase >, llvm::FunctionType*, llvm::detail::DenseSetEmpty, llvm::FunctionTypeKeyInfo, llvm::detail::DenseSetPair >::moveFromOldBuckets(llvm::detail::DenseSetPair*, llvm::detail::DenseSetPair*) + 104 1 libLLVM.dylib 0x2a61df42c llvm::DenseMapBase >, llvm::FunctionType*, llvm::detail::DenseSetEmpty, llvm::FunctionTypeKeyInfo, llvm::detail::DenseSetPair >::moveFromOldBuckets(llvm::detail::DenseSetPair*, llvm::detail::DenseSetPair*) + 160 2 libLLVM.dylib 0x2a61df370 llvm::DenseMap >::grow(unsigned int) + 164 3 libLLVM.dylib 0x2a61db840 llvm::FunctionType::get(llvm::Type*, llvm::ArrayRef, bool) + 1248 4 libLLVM.dylib 0x2a6868ee8 (anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 10808 5 libLLVM.dylib 0x2a684f68c llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 1800 6 libLLVM.dylib 0x2a6853b48 llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>) + 116 7 libLLVM.dylib 0x2a7227440 llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool) + 324 8 libLLVM.dylib 0x2a7227c9c llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef) + 44 9 libLTO.dylib 0x1367d1f4c lto_module_create_from_memory + 132 10 mold 0x102f6f900 mold::macho::ObjectFile::parse(mold::macho::Context&) + 72 11 mold 0x102f8f244 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 1252 12 mold 0x102fb8830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 13 mold 0x102fb5e38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 14 mold 0x102fb5e38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 15 mold 0x102fbe074 tbb::detail::r1::market::process(rml::job&) + 52 16 mold 0x102fbf7f4 tbb::detail::r1::rml::private_worker::run() + 224 17 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 18 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 19 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 7: 0 mold 0x102fb2b90 mold::macho::YamlParser::tokenize_bare_string(std::__1::basic_string_view >&) + 56 1 mold 0x102fb2ba0 mold::macho::YamlParser::tokenize_bare_string(std::__1::basic_string_view >&) + 72 2 mold 0x102fb26c4 mold::macho::YamlParser::tokenize_list(std::__1::basic_string_view >&) + 632 3 mold 0x102fb23a8 mold::macho::YamlParser::tokenize() + 3748 4 mold 0x102fb2d1c mold::macho::YamlParser::parse() + 64 5 mold 0x102fb3c14 mold::macho::parse_yaml(std::__1::basic_string_view >) + 32 6 mold 0x102fae09c mold::macho::TextDylib mold::macho::parse_tbd(mold::macho::Context&, mold::MappedFile >*) + 60 7 mold 0x102f72578 mold::macho::DylibFile::parse(mold::macho::Context&) + 80 8 mold 0x102f8f244 tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&) + 1252 9 mold 0x102fb8830 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 708 (task_dispatcher.h:322) 10 mold 0x102fb5e38 tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&) + 12 (task_dispatcher.h:463) [inlined] 11 mold 0x102fb5e38 tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&) + 544 (arena.cpp:138) 12 mold 0x102fbe074 tbb::detail::r1::market::process(rml::job&) + 52 13 mold 0x102fbf7f4 tbb::detail::r1::rml::private_worker::run() + 224 14 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 15 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 16 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 8: 0 libsystem_kernel.dylib 0x1bd1228ec semaphore_wait_trap + 8 1 mold 0x102fbf8b0 tbb::detail::r1::rml::private_worker::run() + 412 2 mold 0x102fbf708 tbb::detail::r1::rml::private_worker::thread_routine(void*) + 12 3 libsystem_pthread.dylib 0x1bd16026c _pthread_start + 148 4 libsystem_pthread.dylib 0x1bd15b08c thread_start + 8 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000151917468 x1: 0x4dcbed261ac7c95a x2: 0x87bd47f0b6674292 x3: 0x0000000000000000 x4: 0x0000000000000003 x5: 0x0000000000000003 x6: 0x00000002aada8000 x7: 0x0000000000000001 x8: 0x000000000000003f x9: 0xffffffffffffe000 x10: 0x0000000000000001 x11: 0x0000000000000032 x12: 0x000000015112aae0 x13: 0x0000000000000000 x14: 0x0000000151917a28 x15: 0x000000016d555e98 x16: 0x0000000000000000 x17: 0x0000000000000004 x18: 0x0000000000000000 x19: 0x0000000000000001 x20: 0x000000016d555e98 x21: 0x0000000000000000 x22: 0x0000000151917a28 x23: 0x000000015112a950 x24: 0x0000000000000008 x25: 0x0000000151907a00 x26: 0x0000000000000040 x27: 0x52c53ba7022a7f22 x28: 0x00000002aada8008 fp: 0x000000016d555a30 lr: 0x00000002a6868ee8 sp: 0x000000016d555970 pc: 0x00000002a61db56c cpsr: 0x00001000 far: 0x0000000000000004 esr: 0x92000006 (Data Abort) byte read Translation fault Binary Images: 0x2a5f40000 - 0x2aa853fff libLLVM.dylib (*) <24c3570a-28cc-332c-a01d-6891ebd20fec> /opt/homebrew/*/libLLVM.dylib 0x1367cc000 - 0x1367d7fff libLTO.dylib (*) /opt/homebrew/*/libLTO.dylib 0x102cb0000 - 0x10301bfff mold (*) <5360dc49-ad7c-3837-a43e-2aeb8097e6e6> /Users/USER/*/mold 0x1bd159000 - 0x1bd165fff libsystem_pthread.dylib (*) <42166a2c-89a9-3c38-a215-f028544cea23> /usr/lib/system/libsystem_pthread.dylib 0x1bcf6d000 - 0x1bcf97fff libsystem_malloc.dylib (*) <5c634686-8d9f-3c7b-9334-b0175ddef799> /usr/lib/system/libsystem_malloc.dylib 0x1bd121000 - 0x1bd158fff libsystem_kernel.dylib (*) <03f48dc5-caa7-3678-af61-1a3c7fa8b06e> /usr/lib/system/libsystem_kernel.dylib 0x1bd173000 - 0x1bd17afff libsystem_platform.dylib (*) /usr/lib/system/libsystem_platform.dylib 0x0 - 0xffffffffffffffff ??? (*) <00000000-0000-0000-0000-000000000000> ??? External Modification Summary: Calls made by other processes targeting this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by this process: task_for_pid: 0 thread_create: 0 thread_set_state: 0 Calls made by all processes on this machine: task_for_pid: 473 thread_create: 2 thread_set_state: 18210 VM Region Summary: ReadOnly portion of Libraries: Total=682.7M resident=0K(0%) swapped_out_or_unallocated=682.7M(100%) Writable regions: Total=1.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.7G(100%) VIRTUAL REGION REGION TYPE SIZE COUNT (non-coalesced) =========== ======= ======= Kernel Alloc Once 32K 1 MALLOC 300.7M 40 MALLOC guard page 96K 5 MALLOC_MEDIUM (reserved) 960.0M 8 reserved VM address space (unallocated) MALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated) STACK GUARD 144K 9 Stack 100.3M 10 Stack Guard 16K 1 __AUTH 46K 13 __AUTH_CONST 145K 44 __DATA 834K 46 __DATA_CONST 5965K 48 __DATA_DIRTY 82K 24 __LINKEDIT 597.5M 5 __OBJC_CONST 10K 5 __OBJC_RO 83.0M 1 __OBJC_RW 3152K 1 __TEXT 85.2M 51 dyld private memory 1024K 1 mapped file 1.2G 173 shared memory 16K 1 =========== ======= ======= TOTAL 3.7G 488 TOTAL, minus reserved VM space 2.4G 488 ----------- Full Report ----------- {"app_name":"mold","timestamp":"2022-05-30 21:50:43.00 -0700","app_version":"","slice_uuid":"5360dc49-ad7c-3837-a43e-2aeb8097e6e6","build_version":"","platform":1,"share_with_app_devs":1,"is_first_party":1,"bug_type":"309","os_version":"macOS 12.4 (21F79)","incident_id":"989CEE22-BEDA-4785-8775-156FDE4650F3","name":"mold"} { "uptime" : 590000, "procLaunch" : "2022-05-30 21:50:43.0480 -0700", "procRole" : "Unspecified", "version" : 2, "userID" : 501, "deployVersion" : 210, "modelCode" : "MacBookPro18,4", "procStartAbsTime" : 14194419645421, "coalitionID" : 3436, "osVersion" : { "train" : "macOS 12.4", "build" : "21F79", "releaseType" : "User" }, "captureTime" : "2022-05-30 21:50:43.1275 -0700", "incident" : "989CEE22-BEDA-4785-8775-156FDE4650F3", "bug_type" : "309", "pid" : 36330, "procExitAbsTime" : 14194421530768, "translated" : false, "cpuType" : "ARM-64", "procName" : "mold", "procPath" : "\/Users\/USER\/*\/mold", "parentProc" : "clang++", "parentPid" : 36318, "coalitionName" : "io.alacritty", "crashReporterKey" : "96255C35-E415-1AB8-FAA6-9E17B4F28471", "responsiblePid" : 9216, "responsibleProc" : "alacritty", "wakeTime" : 16816, "sleepWakeUUID" : "D5D39DC8-C3CC-4695-88A1-AF1D46F673EC", "sip" : "enabled", "vmRegionInfo" : "0x4 is not in any region. Bytes before following region: 105553518919676\n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n UNUSED SPACE AT START\n---> \n MALLOC_NANO (reserved) 600018000000-600020000000 [128.0M] rw-\/rwx SM=NUL ...(unallocated)", "isCorpse" : 1, "exception" : {"codes":"0x0000000000000001, 0x0000000000000004","rawCodes":[1,4],"type":"EXC_BAD_ACCESS","signal":"SIGSEGV","subtype":"KERN_INVALID_ADDRESS at 0x0000000000000004"}, "termination" : {"flags":0,"code":11,"namespace":"SIGNAL","indicator":"Segmentation fault: 11","byProc":"exc handler","byPid":36330}, "vmregioninfo" : "0x4 is not in any region. Bytes before following region: 105553518919676\n REGION TYPE START - END [ VSIZE] PRT\/MAX SHRMOD REGION DETAIL\n UNUSED SPACE AT START\n---> \n MALLOC_NANO (reserved) 600018000000-600020000000 [128.0M] rw-\/rwx SM=NUL ...(unallocated)", "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":2,"thread_set_state":18210,"task_for_pid":473},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0}, "faultingThread" : 0, "threads" : [{"triggered":true,"id":10073784,"threadState":{"x":[{"value":5663454312},{"value":5605834909106555226},{"value":9781053064896529042},{"value":0},{"value":3},{"value":3},{"value":11456380928,"symbolLocation":0,"symbol":"llvm::hashing::detail::get_execution_seed()::seed"},{"value":1},{"value":63},{"value":18446744073709543424},{"value":1},{"value":50},{"value":5655145184},{"value":0},{"value":5663455784},{"value":6129278616},{"value":0},{"value":4},{"value":0},{"value":1},{"value":6129278616},{"value":0},{"value":5663455784},{"value":5655144784},{"value":8},{"value":5663390208},{"value":64},{"value":5964238870004006690},{"value":11456380936,"symbolLocation":0,"symbol":"guard variable for llvm::hashing::detail::get_execution_seed()::seed"}],"flavor":"ARM_THREAD_STATE64","lr":{"value":11383770856},"cpsr":{"value":4096},"fp":{"value":6129277488},"sp":{"value":6129277296},"esr":{"value":2449473542,"description":"(Data Abort) byte read Translation fault"},"pc":{"value":11376899436,"matchesCrashFrame":1},"far":{"value":4}},"frames":[{"imageOffset":2733420,"symbol":"llvm::FunctionType::get(llvm::Type*, llvm::ArrayRef, bool)","symbolLocation":524,"imageIndex":0},{"imageOffset":9604840,"symbol":"(anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":10808,"imageIndex":0},{"imageOffset":9604840,"symbol":"(anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":10808,"imageIndex":0},{"imageOffset":9500300,"symbol":"llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":1800,"imageIndex":0},{"imageOffset":9517896,"symbol":"llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":116,"imageIndex":0},{"imageOffset":19821632,"symbol":"llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool)","symbolLocation":324,"imageIndex":0},{"imageOffset":19823772,"symbol":"llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef)","symbolLocation":44,"imageIndex":0},{"imageOffset":24396,"symbol":"lto_module_create_from_memory","symbolLocation":132,"imageIndex":1},{"imageOffset":2881792,"symbol":"mold::macho::ObjectFile::parse(mold::macho::Context&)","symbolLocation":72,"imageIndex":2},{"imageOffset":3011140,"symbol":"tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&)","symbolLocation":1252,"imageIndex":2},{"imageOffset":3180592,"sourceLine":322,"sourceFile":"task_dispatcher.h","symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","imageIndex":2,"symbolLocation":708},{"symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","inline":true,"imageIndex":2,"imageOffset":3169848,"symbolLocation":12,"sourceLine":463,"sourceFile":"task_dispatcher.h"},{"imageOffset":3169848,"sourceLine":138,"sourceFile":"arena.cpp","symbol":"tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&)","imageIndex":2,"symbolLocation":544},{"imageOffset":3203188,"symbol":"tbb::detail::r1::market::process(rml::job&)","symbolLocation":52,"imageIndex":2},{"imageOffset":3209204,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":224,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]},{"id":10073785,"frames":[{"imageOffset":25952,"symbol":"tiny_free_no_lock","symbolLocation":348,"imageIndex":4},{"imageOffset":25220,"symbol":"free_tiny","symbolLocation":432,"imageIndex":4},{"imageOffset":25220,"symbol":"free_tiny","symbolLocation":432,"imageIndex":4},{"imageOffset":9528764,"symbol":"std::__1::__vector_base >::clear()","symbolLocation":132,"imageIndex":0},{"imageOffset":9523868,"symbol":"(anonymous namespace)::BitcodeReader::~BitcodeReader()","symbolLocation":804,"imageIndex":0},{"imageOffset":9524276,"symbol":"(anonymous namespace)::BitcodeReader::~BitcodeReader()","symbolLocation":12,"imageIndex":0},{"imageOffset":9500328,"symbol":"llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":1828,"imageIndex":0},{"imageOffset":9517896,"symbol":"llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":116,"imageIndex":0},{"imageOffset":19821632,"symbol":"llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool)","symbolLocation":324,"imageIndex":0},{"imageOffset":19823772,"symbol":"llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef)","symbolLocation":44,"imageIndex":0},{"imageOffset":24396,"symbol":"lto_module_create_from_memory","symbolLocation":132,"imageIndex":1},{"imageOffset":2881792,"symbol":"mold::macho::ObjectFile::parse(mold::macho::Context&)","symbolLocation":72,"imageIndex":2},{"imageOffset":3011140,"symbol":"tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&)","symbolLocation":1252,"imageIndex":2},{"imageOffset":3180592,"sourceLine":322,"sourceFile":"task_dispatcher.h","symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","imageIndex":2,"symbolLocation":708},{"symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","inline":true,"imageIndex":2,"imageOffset":3169848,"symbolLocation":12,"sourceLine":463,"sourceFile":"task_dispatcher.h"},{"imageOffset":3169848,"sourceLine":138,"sourceFile":"arena.cpp","symbol":"tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&)","imageIndex":2,"symbolLocation":544},{"imageOffset":3203188,"symbol":"tbb::detail::r1::market::process(rml::job&)","symbolLocation":52,"imageIndex":2},{"imageOffset":3209204,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":224,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]},{"id":10073786,"frames":[{"imageOffset":6380,"symbol":"semaphore_wait_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":3209392,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":412,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]},{"id":10073787,"frames":[{"imageOffset":7464,"symbol":"_platform_memcmp","symbolLocation":120,"imageIndex":6},{"imageOffset":525420,"symbol":"llvm::FoldingSetNodeID::operator==(llvm::FoldingSetNodeID const&) const","symbolLocation":40,"imageIndex":0},{"imageOffset":527268,"symbol":"llvm::FoldingSetBase::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void*&, llvm::FoldingSetBase::FoldingSetInfo const&)","symbolLocation":168,"imageIndex":0},{"imageOffset":1358516,"symbol":"llvm::Attribute::get(llvm::LLVMContext&, llvm::Attribute::AttrKind, unsigned long long)","symbolLocation":128,"imageIndex":0},{"imageOffset":1379788,"symbol":"llvm::AttributeSetNode::get(llvm::LLVMContext&, llvm::AttrBuilder const&)","symbolLocation":368,"imageIndex":0},{"imageOffset":1393440,"symbol":"llvm::AttributeList::get(llvm::LLVMContext&, unsigned int, llvm::AttrBuilder const&)","symbolLocation":148,"imageIndex":0},{"imageOffset":9599224,"symbol":"(anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":5192,"imageIndex":0},{"imageOffset":9500300,"symbol":"llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":1800,"imageIndex":0},{"imageOffset":9517896,"symbol":"llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":116,"imageIndex":0},{"imageOffset":19821632,"symbol":"llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool)","symbolLocation":324,"imageIndex":0},{"imageOffset":19823772,"symbol":"llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef)","symbolLocation":44,"imageIndex":0},{"imageOffset":24396,"symbol":"lto_module_create_from_memory","symbolLocation":132,"imageIndex":1},{"imageOffset":2881792,"symbol":"mold::macho::ObjectFile::parse(mold::macho::Context&)","symbolLocation":72,"imageIndex":2},{"imageOffset":3010736,"symbol":"tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&)","symbolLocation":848,"imageIndex":2},{"imageOffset":3180592,"sourceLine":322,"sourceFile":"task_dispatcher.h","symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","imageIndex":2,"symbolLocation":708},{"symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","inline":true,"imageIndex":2,"imageOffset":3169848,"symbolLocation":12,"sourceLine":463,"sourceFile":"task_dispatcher.h"},{"imageOffset":3169848,"sourceLine":138,"sourceFile":"arena.cpp","symbol":"tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&)","imageIndex":2,"symbolLocation":544},{"imageOffset":3203188,"symbol":"tbb::detail::r1::market::process(rml::job&)","symbolLocation":52,"imageIndex":2},{"imageOffset":3209204,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":224,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]},{"id":10073788,"frames":[{"imageOffset":2736672,"symbol":"llvm::StructType::setName(llvm::StringRef)","symbolLocation":72,"imageIndex":0},{"imageOffset":9603296,"symbol":"(anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":9264,"imageIndex":0},{"imageOffset":9603296,"symbol":"(anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":9264,"imageIndex":0},{"imageOffset":9500300,"symbol":"llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":1800,"imageIndex":0},{"imageOffset":9517896,"symbol":"llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":116,"imageIndex":0},{"imageOffset":19821632,"symbol":"llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool)","symbolLocation":324,"imageIndex":0},{"imageOffset":19823772,"symbol":"llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef)","symbolLocation":44,"imageIndex":0},{"imageOffset":24396,"symbol":"lto_module_create_from_memory","symbolLocation":132,"imageIndex":1},{"imageOffset":2881792,"symbol":"mold::macho::ObjectFile::parse(mold::macho::Context&)","symbolLocation":72,"imageIndex":2},{"imageOffset":3010736,"symbol":"tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&)","symbolLocation":848,"imageIndex":2},{"imageOffset":3180592,"sourceLine":322,"sourceFile":"task_dispatcher.h","symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","imageIndex":2,"symbolLocation":708},{"symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","inline":true,"imageIndex":2,"imageOffset":3169848,"symbolLocation":12,"sourceLine":463,"sourceFile":"task_dispatcher.h"},{"imageOffset":3169848,"sourceLine":138,"sourceFile":"arena.cpp","symbol":"tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&)","imageIndex":2,"symbolLocation":544},{"imageOffset":3203188,"symbol":"tbb::detail::r1::market::process(rml::job&)","symbolLocation":52,"imageIndex":2},{"imageOffset":3209204,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":224,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]},{"id":10073789,"frames":[{"imageOffset":2920640,"symbol":"void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long)","symbolLocation":280,"imageIndex":2},{"imageOffset":2921568,"symbol":"void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*)","symbolLocation":428,"imageIndex":2},{"imageOffset":2921568,"symbol":"void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*)","symbolLocation":428,"imageIndex":2},{"imageOffset":2920880,"symbol":"void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long)","symbolLocation":520,"imageIndex":2},{"imageOffset":2921596,"symbol":"void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*)","symbolLocation":456,"imageIndex":2},{"imageOffset":2920848,"symbol":"void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long)","symbolLocation":488,"imageIndex":2},{"imageOffset":2921568,"symbol":"void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*)","symbolLocation":428,"imageIndex":2},{"imageOffset":2920848,"symbol":"void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long)","symbolLocation":488,"imageIndex":2},{"imageOffset":2921568,"symbol":"void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*)","symbolLocation":428,"imageIndex":2},{"imageOffset":2920848,"symbol":"void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long)","symbolLocation":488,"imageIndex":2},{"imageOffset":2921596,"symbol":"void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*)","symbolLocation":456,"imageIndex":2},{"imageOffset":2920848,"symbol":"void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long)","symbolLocation":488,"imageIndex":2},{"imageOffset":2921568,"symbol":"void std::__1::__stable_sort_move::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*)","symbolLocation":428,"imageIndex":2},{"imageOffset":2920880,"symbol":"void std::__1::__stable_sort::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::__wrap_iter*> >(std::__1::__wrap_iter*>, std::__1::__wrap_iter*>, mold::macho::InputSection::parse_relocations(mold::macho::Context&)::'lambda'(mold::macho::Relocation const&, mold::macho::Relocation const&)&, std::__1::iterator_traits*> >::difference_type, std::__1::iterator_traits*> >::value_type*, long)","symbolLocation":520,"imageIndex":2},{"imageOffset":2920016,"symbol":"mold::macho::InputSection::parse_relocations(mold::macho::Context&)","symbolLocation":240,"imageIndex":2},{"imageOffset":2881972,"symbol":"mold::macho::ObjectFile::parse(mold::macho::Context&)","symbolLocation":252,"imageIndex":2},{"imageOffset":3010736,"symbol":"tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&)","symbolLocation":848,"imageIndex":2},{"imageOffset":3180592,"sourceLine":322,"sourceFile":"task_dispatcher.h","symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","imageIndex":2,"symbolLocation":708},{"symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","inline":true,"imageIndex":2,"imageOffset":3169848,"symbolLocation":12,"sourceLine":463,"sourceFile":"task_dispatcher.h"},{"imageOffset":3169848,"sourceLine":138,"sourceFile":"arena.cpp","symbol":"tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&)","imageIndex":2,"symbolLocation":544},{"imageOffset":3203188,"symbol":"tbb::detail::r1::market::process(rml::job&)","symbolLocation":52,"imageIndex":2},{"imageOffset":3209204,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":224,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]},{"id":10073790,"frames":[{"imageOffset":2749428,"symbol":"llvm::DenseMapBase >, llvm::FunctionType*, llvm::detail::DenseSetEmpty, llvm::FunctionTypeKeyInfo, llvm::detail::DenseSetPair >::moveFromOldBuckets(llvm::detail::DenseSetPair*, llvm::detail::DenseSetPair*)","symbolLocation":104,"imageIndex":0},{"imageOffset":2749484,"symbol":"llvm::DenseMapBase >, llvm::FunctionType*, llvm::detail::DenseSetEmpty, llvm::FunctionTypeKeyInfo, llvm::detail::DenseSetPair >::moveFromOldBuckets(llvm::detail::DenseSetPair*, llvm::detail::DenseSetPair*)","symbolLocation":160,"imageIndex":0},{"imageOffset":2749296,"symbol":"llvm::DenseMap >::grow(unsigned int)","symbolLocation":164,"imageIndex":0},{"imageOffset":2734144,"symbol":"llvm::FunctionType::get(llvm::Type*, llvm::ArrayRef, bool)","symbolLocation":1248,"imageIndex":0},{"imageOffset":9604840,"symbol":"(anonymous namespace)::BitcodeReader::parseModule(unsigned long long, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":10808,"imageIndex":0},{"imageOffset":9500300,"symbol":"llvm::BitcodeModule::getModuleImpl(llvm::LLVMContext&, bool, bool, bool, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":1800,"imageIndex":0},{"imageOffset":9517896,"symbol":"llvm::parseBitcodeFile(llvm::MemoryBufferRef, llvm::LLVMContext&, llvm::function_ref, std::__1::allocator > > (llvm::StringRef)>)","symbolLocation":116,"imageIndex":0},{"imageOffset":19821632,"symbol":"llvm::LTOModule::makeLTOModule(llvm::MemoryBufferRef, llvm::TargetOptions const&, llvm::LLVMContext&, bool)","symbolLocation":324,"imageIndex":0},{"imageOffset":19823772,"symbol":"llvm::LTOModule::createFromBuffer(llvm::LLVMContext&, void const*, unsigned long, llvm::TargetOptions const&, llvm::StringRef)","symbolLocation":44,"imageIndex":0},{"imageOffset":24396,"symbol":"lto_module_create_from_memory","symbolLocation":132,"imageIndex":1},{"imageOffset":2881792,"symbol":"mold::macho::ObjectFile::parse(mold::macho::Context&)","symbolLocation":72,"imageIndex":2},{"imageOffset":3011140,"symbol":"tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&)","symbolLocation":1252,"imageIndex":2},{"imageOffset":3180592,"sourceLine":322,"sourceFile":"task_dispatcher.h","symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","imageIndex":2,"symbolLocation":708},{"symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","inline":true,"imageIndex":2,"imageOffset":3169848,"symbolLocation":12,"sourceLine":463,"sourceFile":"task_dispatcher.h"},{"imageOffset":3169848,"sourceLine":138,"sourceFile":"arena.cpp","symbol":"tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&)","imageIndex":2,"symbolLocation":544},{"imageOffset":3203188,"symbol":"tbb::detail::r1::market::process(rml::job&)","symbolLocation":52,"imageIndex":2},{"imageOffset":3209204,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":224,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]},{"id":10073791,"frames":[{"imageOffset":3156880,"symbol":"mold::macho::YamlParser::tokenize_bare_string(std::__1::basic_string_view >&)","symbolLocation":56,"imageIndex":2},{"imageOffset":3156896,"symbol":"mold::macho::YamlParser::tokenize_bare_string(std::__1::basic_string_view >&)","symbolLocation":72,"imageIndex":2},{"imageOffset":3155652,"symbol":"mold::macho::YamlParser::tokenize_list(std::__1::basic_string_view >&)","symbolLocation":632,"imageIndex":2},{"imageOffset":3154856,"symbol":"mold::macho::YamlParser::tokenize()","symbolLocation":3748,"imageIndex":2},{"imageOffset":3157276,"symbol":"mold::macho::YamlParser::parse()","symbolLocation":64,"imageIndex":2},{"imageOffset":3161108,"symbol":"mold::macho::parse_yaml(std::__1::basic_string_view >)","symbolLocation":32,"imageIndex":2},{"imageOffset":3137692,"symbol":"mold::macho::TextDylib mold::macho::parse_tbd(mold::macho::Context&, mold::MappedFile >*)","symbolLocation":60,"imageIndex":2},{"imageOffset":2893176,"symbol":"mold::macho::DylibFile::parse(mold::macho::Context&)","symbolLocation":80,"imageIndex":2},{"imageOffset":3011140,"symbol":"tbb::detail::d1::start_for, tbb::detail::d2::parallel_for_body_wrapper**>, void mold::macho::parse_input_files(mold::macho::Context&)::'lambda'(mold::macho::InputFile*), mold::macho::InputFile*>, tbb::detail::d1::auto_partitioner const>::execute(tbb::detail::d1::execution_data&)","symbolLocation":1252,"imageIndex":2},{"imageOffset":3180592,"sourceLine":322,"sourceFile":"task_dispatcher.h","symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","imageIndex":2,"symbolLocation":708},{"symbol":"tbb::detail::d1::task* tbb::detail::r1::task_dispatcher::local_wait_for_all(tbb::detail::d1::task*, tbb::detail::r1::outermost_worker_waiter&)","inline":true,"imageIndex":2,"imageOffset":3169848,"symbolLocation":12,"sourceLine":463,"sourceFile":"task_dispatcher.h"},{"imageOffset":3169848,"sourceLine":138,"sourceFile":"arena.cpp","symbol":"tbb::detail::r1::arena::process(tbb::detail::r1::thread_data&)","imageIndex":2,"symbolLocation":544},{"imageOffset":3203188,"symbol":"tbb::detail::r1::market::process(rml::job&)","symbolLocation":52,"imageIndex":2},{"imageOffset":3209204,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":224,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]},{"id":10073792,"frames":[{"imageOffset":6380,"symbol":"semaphore_wait_trap","symbolLocation":8,"imageIndex":5},{"imageOffset":3209392,"symbol":"tbb::detail::r1::rml::private_worker::run()","symbolLocation":412,"imageIndex":2},{"imageOffset":3208968,"symbol":"tbb::detail::r1::rml::private_worker::thread_routine(void*)","symbolLocation":12,"imageIndex":2},{"imageOffset":29292,"symbol":"_pthread_start","symbolLocation":148,"imageIndex":3},{"imageOffset":8332,"symbol":"thread_start","symbolLocation":8,"imageIndex":3}]}], "usedImages" : [ { "source" : "P", "arch" : "arm64", "base" : 11374166016, "size" : 76627968, "uuid" : "24c3570a-28cc-332c-a01d-6891ebd20fec", "path" : "\/opt\/homebrew\/*\/libLLVM.dylib", "name" : "libLLVM.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 5209112576, "size" : 49152, "uuid" : "e3cfc914-a272-357f-9eda-b49f88aecee2", "path" : "\/opt\/homebrew\/*\/libLTO.dylib", "name" : "libLTO.dylib" }, { "source" : "P", "arch" : "arm64", "base" : 4341825536, "size" : 3588096, "uuid" : "5360dc49-ad7c-3837-a43e-2aeb8097e6e6", "path" : "\/Users\/USER\/*\/mold", "name" : "mold" }, { "source" : "P", "arch" : "arm64e", "base" : 7467274240, "size" : 53248, "uuid" : "42166a2c-89a9-3c38-a215-f028544cea23", "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib", "name" : "libsystem_pthread.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 7465259008, "size" : 176128, "uuid" : "5c634686-8d9f-3c7b-9334-b0175ddef799", "path" : "\/usr\/lib\/system\/libsystem_malloc.dylib", "name" : "libsystem_malloc.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 7467044864, "size" : 229376, "uuid" : "03f48dc5-caa7-3678-af61-1a3c7fa8b06e", "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib", "name" : "libsystem_kernel.dylib" }, { "source" : "P", "arch" : "arm64e", "base" : 7467380736, "size" : 32768, "uuid" : "d7aba99f-ba00-36e9-945d-48acf57fc568", "path" : "\/usr\/lib\/system\/libsystem_platform.dylib", "name" : "libsystem_platform.dylib" }, { "size" : 0, "source" : "A", "base" : 0, "uuid" : "00000000-0000-0000-0000-000000000000" } ], "sharedCache" : { "base" : 7463976960, "size" : 3136077824, "uuid" : "513553bb-5ca5-3b9e-a613-b0603ffe3038" }, "vmSummary" : "ReadOnly portion of Libraries: Total=682.7M resident=0K(0%) swapped_out_or_unallocated=682.7M(100%)\nWritable regions: Total=1.7G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.7G(100%)\n\n VIRTUAL REGION \nREGION TYPE SIZE COUNT (non-coalesced) \n=========== ======= ======= \nKernel Alloc Once 32K 1 \nMALLOC 300.7M 40 \nMALLOC guard page 96K 5 \nMALLOC_MEDIUM (reserved) 960.0M 8 reserved VM address space (unallocated)\nMALLOC_NANO (reserved) 384.0M 1 reserved VM address space (unallocated)\nSTACK GUARD 144K 9 \nStack 100.3M 10 \nStack Guard 16K 1 \n__AUTH 46K 13 \n__AUTH_CONST 145K 44 \n__DATA 834K 46 \n__DATA_CONST 5965K 48 \n__DATA_DIRTY 82K 24 \n__LINKEDIT 597.5M 5 \n__OBJC_CONST 10K 5 \n__OBJC_RO 83.0M 1 \n__OBJC_RW 3152K 1 \n__TEXT 85.2M 51 \ndyld private memory 1024K 1 \nmapped file 1.2G 173 \nshared memory 16K 1 \n=========== ======= ======= \nTOTAL 3.7G 488 \nTOTAL, minus reserved VM space 2.4G 488 \n", "legacyInfo" : { "threadTriggered" : { } }, "trialInfo" : { "rollouts" : [ { "rolloutId" : "607844aa04477260f58a8077", "factorPackIds" : { "SIRI_MORPHUN_ASSETS" : "6103050cbfe6dc472e1c982a" }, "deploymentId" : 240000066 }, { "rolloutId" : "5fc94383418129005b4e9ae0", "factorPackIds" : { }, "deploymentId" : 240000370 } ], "experiments" : [ ] } } ```
rui314 commented 2 years ago

2 minutes is super slow, but isn't it because you are doing an LTO build? mold is a faster linker, but it only reduces the linking part and can't speed up LTO itself. How long does it take with the default linker if you disable LTO?

Jarred-Sumner commented 2 years ago

can't speed up LTO itself

makes sense

How long does it take with the default linker if you disable LTO?

It takes about 30 seconds

rui314 commented 2 years ago

I'm curious what your project is. Is that an open-source project?

Jarred-Sumner commented 2 years ago

I'm curious what your project is. Is that an open-source project?

It's called Bun and it's a JavaScript bundler, transpiler, package manager and runtime (using JavaScriptCore as the engine) all in one.

It's open-source (MIT license) but a private github repo since it's not 100% ready yet for general use

I invited you to the repo if you want to see it

rui314 commented 2 years ago

Thank you for your invitation, but I'll focus on fixing general issues at the moment. I don't think your issue is specific to your project, so once we fix all known issues, you should be able to build your program with mold.

Jarred-Sumner commented 2 years ago

No worries.

I gave it another try on latest. It doesn't produce a working binary yet for my project (i think it's lto-related), but it is about 13x faster than linking with lld.

image
rui314 commented 2 years ago

Unfortunately I don't think 13x is a meaningful number. If you are doing a LTO build, it can't be that fast, since LTO dominates the speed. mold can't make the LTO pass faster.