From bd5a2bba8f4238db2e06c99ac808fc8327dec2a0 Mon Sep 17 00:00:00 2001 From: Abseil Team Date: Mon, 7 May 2018 11:12:21 -0700 Subject: - 45690246da1e36acde86c941b68aad2248b16ea7 Import of CCTZ from Github. by Abseil Team - ff3cf0774f9903fb62f7012af24c0901286a1b80 Fix -Wunreachable-code-return warning (from clang 6.0) in by Derek Mauro - b41ca35e56f6137cf6672d16613a7edfd6107e27 Include port.h to drag in platform-specific configurations. by Abseil Team - 5d50b728937d245caedaa2208a97d52f55040134 Set the default symbolizer for Mutex deadlock detector re... by Derek Mauro GitOrigin-RevId: 45690246da1e36acde86c941b68aad2248b16ea7 Change-Id: I2c6a87e9090657ff3fb456f3409bfdc24b8b765a --- absl/debugging/failure_signal_handler.cc | 3 ++- absl/debugging/internal/symbolize.h | 1 + absl/synchronization/BUILD.bazel | 1 + absl/synchronization/CMakeLists.txt | 3 ++- absl/synchronization/mutex.cc | 4 +++- absl/synchronization/mutex.h | 6 ++++++ absl/time/internal/cctz/testdata/version | 2 +- .../internal/cctz/testdata/zoneinfo/Africa/Windhoek | Bin 1030 -> 988 bytes .../internal/cctz/testdata/zoneinfo/Asia/Pyongyang | Bin 272 -> 267 bytes .../internal/cctz/testdata/zoneinfo/Europe/Bratislava | Bin 2272 -> 2338 bytes .../internal/cctz/testdata/zoneinfo/Europe/Prague | Bin 2272 -> 2338 bytes 11 files changed, 16 insertions(+), 4 deletions(-) diff --git a/absl/debugging/failure_signal_handler.cc b/absl/debugging/failure_signal_handler.cc index 3de45f0b..3aaa29f7 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 7ae13839..8d926fec 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 69f9c81f..05376903 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 c8f84faf..6886c1ca 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 33f92d8f..bd54a4dc 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 c4e026f9..368684bf 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 05c3ec28..fe86b5cc 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 358f11e3..f5d40baf 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 de5c2b15..dc24926e 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 4eabe5c8..ba82f311 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 4eabe5c8..ba82f311 100644 Binary files a/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague and b/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague differ -- cgit v1.2.3