tracy/public/client
Bartosz Taudul 6f9dfc8469
Use dladdr, not libbacktrace in fast callstack decode path.
DecodeCallstackPtrFast() may be called outside the symbol processing thread,
for example in the crash handler. Using the less-capable dladdr functionality
doesn't have a big impact here. Callstack decoding in this context is used to
remove the uninteresting top part of the callstack, so that the callstack ends
at the crashing function, and not in the crash handler. Even if this
functionality would be impacted by this change, the damage done is close to
none.

The other alternative is to use locking each time a libbacktrace is to be
used, which does not seem to be worthy to do, considering that the problem
only occurs in a very rare code path.

NB everything was working when it was first implemented, because back then the
callstack decoding was still performed on the main thread, and not on a
separate, dedicated one.
2022-10-08 13:22:56 +02:00
..
tracy_concurrentqueue.h Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
tracy_rpmalloc.cpp Compatibility fixes for rpmalloc. 2022-07-30 14:13:54 +02:00
tracy_rpmalloc.hpp Update rpmalloc to 1.4.4. 2022-07-30 13:29:57 +02:00
tracy_SPSCQueue.h Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyAlloc.cpp Decouple rpmalloc usage from TRACY_ENABLE flag. 2022-08-08 19:40:16 +02:00
TracyArmCpuTable.hpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyCallstack.cpp Use dladdr, not libbacktrace in fast callstack decode path. 2022-10-08 13:22:56 +02:00
TracyCallstack.h Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyCallstack.hpp Move initialization of callstack structs to a thread. 2022-08-16 13:55:46 +02:00
TracyCpuid.hpp Fix cpuid symbol redefinition on older GCC versions 2022-08-31 17:59:46 +02:00
TracyDebug.hpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyDxt1.cpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyDxt1.hpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyFastVector.hpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyLock.hpp Don't transfer lock release thread id. 2022-07-18 01:56:09 +02:00
TracyProfiler.cpp Merge pull request #468 from sherief/exception-handler-fix 2022-09-15 11:33:39 +02:00
TracyProfiler.hpp Add user data pointer to parameter callback. 2022-08-26 00:46:01 +02:00
TracyRingBuffer.hpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyScoped.hpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyStringHelpers.hpp Do not duplicate code. 2022-07-20 01:06:12 +02:00
TracySysTime.cpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracySysTime.hpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracySysTrace.cpp Fix cpuid symbol redefinition on older GCC versions 2022-08-31 17:59:46 +02:00
TracySysTrace.hpp Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
TracyThread.hpp Fix call to rpmalloc_thread_finalize in manual lifetime use-case. 2022-07-30 14:33:39 +02:00