================ @@ -385,6 +385,49 @@ Users need to implement a single function to capture the CF table at startup: // the collected control flow. } +Tracing Stack Depth +=================== + +With ``-fsanitize-coverage=stack-depth`` the compiler will track how much +stack space has been used for a function call chain. Leaf functions are +not included in this tracing. + +The maximum depth of a function call graph is stored in the thread-local +``__sancov_lowest_stack`` variable. Instrumentation is inserted in every +non-leaf function to check the stack pointer against this variable, +and if it is lower, store the current stack pointer. This effectively +inserts the following: + +.. code-block:: c++ + + thread_local uintptr_t __sancov_lowest_stack; ---------------- melver wrote:
extern ? Because the compiler doesn't define the TLS variable. https://github.com/llvm/llvm-project/pull/138323 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits