On 10.05.2020 18:38, Kamil Rytarowski wrote: > LLDB will be patched to avoid atomics. I have checked LLDB and std::atomic<uint64_t> is used on purpose and was switched from mutexes 3 years ago. https://github.com/llvm/llvm-project/commit/f9d16476573e16856bdb3250c817b0a2c631d2b1 Reverting this (or rewriting) is not viable as this change improved the performance, the code was changed meanwhile and there were added two more associated std::atomic<> variables. LLDB also requires recent C++ runtime. As a fallback the cleanest approach is probably to reinvent standard C++14 <atomic> as llvm::atomic<> and provide to broken Operating Systems (only 1 candidate...) and... integrate libatomic directly into it. LLVM <atomic> is around 3k LOC of C++ spaghetti code and I don't feel like this is a reasonable use of time. Reinventing a stripped down <atomic> and adding libatomic into it... is still some extra work that is questionable. If I need to reinvent atomics + libatomic, better use of time is to get proper libatomic into the base.
Attachment:
signature.asc
Description: OpenPGP digital signature