Introduce a legacy copy of GetDebugStackTraceHook API. PiperOrigin-RevId: 852842182 Change-Id: Iadec9bb2fec60b9962a557f82ac998f3cf8d56fe
diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc index 3dd6ba1..cc24ebd 100644 --- a/absl/debugging/internal/examine_stack.cc +++ b/absl/debugging/internal/examine_stack.cc
@@ -149,6 +149,10 @@ debug_stack_trace_hook = hook; } +SymbolizeUrlEmitterLegacy GetDebugStackTraceHookLegacy() { + return debug_stack_trace_hook; +} + SymbolizeUrlEmitter GetDebugStackTraceHook() { return debug_stack_trace_hook; } // Returns the program counter from signal context, nullptr if
diff --git a/absl/debugging/internal/examine_stack.h b/absl/debugging/internal/examine_stack.h index 190af87..2094d62 100644 --- a/absl/debugging/internal/examine_stack.h +++ b/absl/debugging/internal/examine_stack.h
@@ -32,12 +32,19 @@ // `hook` may be called from a signal handler. typedef void (*SymbolizeUrlEmitter)(void* const stack[], int depth, OutputWriter* writer, void* writer_arg); +typedef void (*SymbolizeUrlEmitterLegacy)(void* const stack[], int depth, + OutputWriter* writer, + void* writer_arg); // Registration of SymbolizeUrlEmitter for use inside of a signal handler. // This is inherently unsafe and must be signal safe code. void RegisterDebugStackTraceHook(SymbolizeUrlEmitter hook); SymbolizeUrlEmitter GetDebugStackTraceHook(); +// Currently exact copy of above. Needed for the 3-CL dance due to +// TCMallocDebugStackTraceHook dependency on this API. +SymbolizeUrlEmitterLegacy GetDebugStackTraceHookLegacy(); + // Returns the program counter from signal context, or nullptr if // unknown. `vuc` is a ucontext_t*. We use void* to avoid the use of // ucontext_t on non-POSIX systems.