diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc index 3de45f0bb..3aaa29f70 100644 --- a/absl/debugging/failure_signal_handler.cc +++ b/absl/debugging/failure_signal_handler.cc @@ -162,8 +162,9 @@ static int MaybeSetupAlternateStack() { #ifndef _WIN32 ABSL_ATTRIBUTE_UNUSED static const bool kOnce = SetupAlternateStackOnce(); return SA_ONSTACK; -#endif +#else return 0; +#endif } #ifdef ABSL_HAVE_SIGACTION diff --git a/absl/debugging/internal/symbolize.h b/absl/debugging/internal/symbolize.h index 7ae13839b..8d926fec4 100644 --- a/absl/debugging/internal/symbolize.h +++ b/absl/debugging/internal/symbolize.h @@ -20,6 +20,7 @@ #include #include +#include "absl/base/port.h" // Needed for string vs std::string #ifdef ABSL_INTERNAL_HAVE_ELF_SYMBOLIZE #error ABSL_INTERNAL_HAVE_ELF_SYMBOLIZE cannot be directly set diff --git a/absl/synchronization/BUILD.bazel b/absl/synchronization/BUILD.bazel index 69f9c81f6..05376903f 100644 --- a/absl/synchronization/BUILD.bazel +++ b/absl/synchronization/BUILD.bazel @@ -77,6 +77,7 @@ cc_library( "//absl/base:dynamic_annotations", "//absl/base:malloc_internal", "//absl/debugging:stacktrace", + "//absl/debugging:symbolize", "//absl/time", ], ) diff --git a/absl/synchronization/CMakeLists.txt b/absl/synchronization/CMakeLists.txt index c8f84faf8..6886c1ca6 100644 --- a/absl/synchronization/CMakeLists.txt +++ b/absl/synchronization/CMakeLists.txt @@ -44,7 +44,8 @@ list(APPEND SYNCHRONIZATION_SRC "notification.cc" "mutex.cc" ) -set(SYNCHRONIZATION_PUBLIC_LIBRARIES absl::base absl::time) + +set(SYNCHRONIZATION_PUBLIC_LIBRARIES absl::base absl::stacktrace absl::symbolize absl::time) absl_library( TARGET diff --git a/absl/synchronization/mutex.cc b/absl/synchronization/mutex.cc index 33f92d8fa..bd54a4dc2 100644 --- a/absl/synchronization/mutex.cc +++ b/absl/synchronization/mutex.cc @@ -50,6 +50,7 @@ #include "absl/base/internal/thread_identity.h" #include "absl/base/port.h" #include "absl/debugging/stacktrace.h" +#include "absl/debugging/symbolize.h" #include "absl/synchronization/internal/graphcycles.h" #include "absl/synchronization/internal/per_thread_sem.h" #include "absl/time/time.h" @@ -111,7 +112,8 @@ ABSL_CONST_INIT absl::base_internal::AtomicHook< ABSL_CONST_INIT absl::base_internal::AtomicHook< void (*)(const char *msg, const void *cv)> cond_var_tracer; ABSL_CONST_INIT absl::base_internal::AtomicHook< - bool (*)(const void *pc, char *out, int out_size)> symbolizer; + bool (*)(const void *pc, char *out, int out_size)> + symbolizer(absl::Symbolize); } // namespace diff --git a/absl/synchronization/mutex.h b/absl/synchronization/mutex.h index c4e026f9b..368684bf2 100644 --- a/absl/synchronization/mutex.h +++ b/absl/synchronization/mutex.h @@ -979,6 +979,12 @@ void RegisterCondVarTracer(void (*fn)(const char *msg, const void *cv)); // to 'out.' // // This has the same memory ordering concerns as RegisterMutexProfiler() above. +// +// DEPRECATED: The default symbolizer function is absl::Symbolize() and the +// ability to register a different hook for symbolizing stack traces will be +// removed on or after 2023-05-01. +ABSL_DEPRECATED("absl::RegisterSymbolizer() is deprecated and will be removed " + "on or after 2023-05-01") void RegisterSymbolizer(bool (*fn)(const void *pc, char *out, int out_size)); // EnableMutexInvariantDebugging() diff --git a/absl/time/internal/cctz/testdata/version b/absl/time/internal/cctz/testdata/version index 05c3ec280..fe86b5cc8 100644 --- a/absl/time/internal/cctz/testdata/version +++ b/absl/time/internal/cctz/testdata/version @@ -1 +1 @@ -2018d-2-g8d1dac0 +2018e-2-g99dd695 diff --git a/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek b/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek index 358f11e32..f5d40bafc 100644 Binary files a/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek and b/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek differ diff --git a/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang b/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang index de5c2b156..dc24926e8 100644 Binary files a/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang and b/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang differ diff --git a/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava b/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava index 4eabe5c81..ba82f311b 100644 Binary files a/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava and b/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava differ diff --git a/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague b/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague index 4eabe5c81..ba82f311b 100644 Binary files a/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague and b/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague differ