diff options
Diffstat (limited to 'absl')
-rw-r--r-- | absl/debugging/internal/symbolize.h | 14 | ||||
-rw-r--r-- | absl/debugging/internal/vdso_support.cc | 9 | ||||
-rw-r--r-- | absl/debugging/symbolize_elf.inc | 7 | ||||
-rw-r--r-- | absl/strings/str_split_test.cc | 2 | ||||
-rw-r--r-- | absl/strings/string_view_test.cc | 2 |
5 files changed, 23 insertions, 11 deletions
diff --git a/absl/debugging/internal/symbolize.h b/absl/debugging/internal/symbolize.h index 663d774..b3729af 100644 --- a/absl/debugging/internal/symbolize.h +++ b/absl/debugging/internal/symbolize.h @@ -18,6 +18,8 @@ #ifndef ABSL_DEBUGGING_INTERNAL_SYMBOLIZE_H_ #define ABSL_DEBUGGING_INTERNAL_SYMBOLIZE_H_ +#ifdef __cplusplus + #include <cstddef> #include <cstdint> @@ -132,4 +134,16 @@ bool GetFileMappingHint(const void** start, ABSL_NAMESPACE_END } // namespace absl +#endif // __cplusplus + +#include <stdbool.h> + +#ifdef __cplusplus +extern "C" +#endif // __cplusplus + + bool + AbslInternalGetFileMappingHint(const void** start, const void** end, + uint64_t* offset, const char** filename); + #endif // ABSL_DEBUGGING_INTERNAL_SYMBOLIZE_H_ diff --git a/absl/debugging/internal/vdso_support.cc b/absl/debugging/internal/vdso_support.cc index 19deb3c..6be16d9 100644 --- a/absl/debugging/internal/vdso_support.cc +++ b/absl/debugging/internal/vdso_support.cc @@ -76,15 +76,6 @@ const void *VDSOSupport::Init() { } #endif // __GLIBC_PREREQ(2, 16) if (vdso_base_.load(std::memory_order_relaxed) == kInvalidBase) { - // Valgrind zaps AT_SYSINFO_EHDR and friends from the auxv[] - // on stack, and so glibc works as if VDSO was not present. - // But going directly to kernel via /proc/self/auxv below bypasses - // Valgrind zapping. So we check for Valgrind separately. - if (RunningOnValgrind()) { - vdso_base_.store(nullptr, std::memory_order_relaxed); - getcpu_fn_.store(&GetCPUViaSyscall, std::memory_order_relaxed); - return nullptr; - } int fd = open("/proc/self/auxv", O_RDONLY); if (fd == -1) { // Kernel too old to have a VDSO. diff --git a/absl/debugging/symbolize_elf.inc b/absl/debugging/symbolize_elf.inc index 2f97cc7..7c36fd1 100644 --- a/absl/debugging/symbolize_elf.inc +++ b/absl/debugging/symbolize_elf.inc @@ -1551,3 +1551,10 @@ bool Symbolize(const void *pc, char *out, int out_size) { ABSL_NAMESPACE_END } // namespace absl + +extern "C" bool AbslInternalGetFileMappingHint(const void **start, + const void **end, uint64_t *offset, + const char **filename) { + return absl::debugging_internal::GetFileMappingHint(start, end, offset, + filename); +} diff --git a/absl/strings/str_split_test.cc b/absl/strings/str_split_test.cc index fcd58d2..b5ce68d 100644 --- a/absl/strings/str_split_test.cc +++ b/absl/strings/str_split_test.cc @@ -27,7 +27,7 @@ #include "gmock/gmock.h" #include "gtest/gtest.h" -#include "absl/base/dynamic_annotations.h" // for RunningOnValgrind +#include "absl/base/dynamic_annotations.h" #include "absl/base/macros.h" #include "absl/container/flat_hash_map.h" #include "absl/container/node_hash_map.h" diff --git a/absl/strings/string_view_test.cc b/absl/strings/string_view_test.cc index ff31b51..41dbc97 100644 --- a/absl/strings/string_view_test.cc +++ b/absl/strings/string_view_test.cc @@ -1179,7 +1179,7 @@ TEST(FindOneCharTest, EdgeCases) { #ifndef THREAD_SANITIZER // Allocates too much memory for tsan. TEST(HugeStringView, TwoPointTwoGB) { - if (sizeof(size_t) <= 4 || RunningOnValgrind()) + if (sizeof(size_t) <= 4) return; // Try a huge string piece. const size_t size = size_t{2200} * 1000 * 1000; |