Hacker News new | ask | show | jobs
by zX41ZdbW 1084 days ago
https://github.com/ClickHouse/libunwind/

There were multiple steps:

1. Avoid using malloc/free inside libunwind.

2. Avoid using FDECache that required a mutex.

3. Avoid using dl_iterate_phdr (a mutex inside libc).

4. Protection from dereferencing wrong pointers due to incorrect unwind tables.

Most of the changes were integrated to libunwind, but not everything. Example: https://bugs.llvm.org/show_bug.cgi?id=48186