Update *SymbolizeURL APIs to add crash_pc parameter.

PiperOrigin-RevId: 855335009
Change-Id: I1632c5a89e91b857dc18ff9434abf22c3f622d8f
diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
index cc24ebd..9a47f19 100644
--- a/absl/debugging/internal/examine_stack.cc
+++ b/absl/debugging/internal/examine_stack.cc
@@ -143,6 +143,12 @@
   writer(buf, writer_arg);
 }
 
+void DebugStackTraceHookLegacyAdapter(void* const stack[], int depth,
+                                      OutputWriter* writer, void* writer_arg) {
+  debug_stack_trace_hook(stack, depth, /*crash_pc=*/nullptr, writer,
+                         writer_arg);
+}
+
 }  // namespace
 
 void RegisterDebugStackTraceHook(SymbolizeUrlEmitter hook) {
@@ -150,7 +156,11 @@
 }
 
 SymbolizeUrlEmitterLegacy GetDebugStackTraceHookLegacy() {
-  return debug_stack_trace_hook;
+  if (debug_stack_trace_hook == nullptr) {
+    // No prior call to RegisterDebugStackTraceHook.
+    return nullptr;
+  }
+  return &DebugStackTraceHookLegacyAdapter;
 }
 
 SymbolizeUrlEmitter GetDebugStackTraceHook() { return debug_stack_trace_hook; }
@@ -313,7 +323,7 @@
 
   auto hook = GetDebugStackTraceHook();
   if (hook != nullptr) {
-    (*hook)(stack, depth, writer, writer_arg);
+    hook(stack, depth, /*crash_pc=*/nullptr, writer, writer_arg);
   }
 
   if (allocated_bytes != 0) Deallocate(stack, allocated_bytes);
diff --git a/absl/debugging/internal/examine_stack.h b/absl/debugging/internal/examine_stack.h
index 2094d62..eca430f 100644
--- a/absl/debugging/internal/examine_stack.h
+++ b/absl/debugging/internal/examine_stack.h
@@ -31,7 +31,8 @@
 // `hook` that is called each time DumpStackTrace() is called.
 // `hook` may be called from a signal handler.
 typedef void (*SymbolizeUrlEmitter)(void* const stack[], int depth,
-                                    OutputWriter* writer, void* writer_arg);
+                                    const void* crash_pc, OutputWriter* writer,
+                                    void* writer_arg);
 typedef void (*SymbolizeUrlEmitterLegacy)(void* const stack[], int depth,
                                           OutputWriter* writer,
                                           void* writer_arg);
@@ -41,8 +42,6 @@
 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