Commit 81dc8c20 authored by Mirko Bonadei's avatar Mirko Bonadei Committed by Commit Bot

Fixing ODR violations in Roll abseil_revision abd0824ba6..af7882601a

I forgot to patch dynamic_annotations following the instructions in
README.chromium when I rolled Abseil last time.

TBR=phoglund@chromium.org

Bug: None
Change-Id: Ib295b0b9d59cb50853f552b5c38a5b1d54b50a3f
Reviewed-on: https://chromium-review.googlesource.com/1046054Reviewed-by: default avatarPatrik Höglund <phoglund@chromium.org>
Commit-Queue: Mirko Bonadei <mbonadei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556389}
parent f16d9ea8
...@@ -42,29 +42,29 @@ ...@@ -42,29 +42,29 @@
extern "C" { extern "C" {
#endif #endif
void AnnotateRWLockCreate(const char *, int, void AbslAnnotateRWLockCreate(const char *, int,
const volatile void *){} const volatile void *){}
void AnnotateRWLockDestroy(const char *, int, void AbslAnnotateRWLockDestroy(const char *, int,
const volatile void *){} const volatile void *){}
void AnnotateRWLockAcquired(const char *, int, void AbslAnnotateRWLockAcquired(const char *, int,
const volatile void *, long){} const volatile void *, long){}
void AnnotateRWLockReleased(const char *, int, void AbslAnnotateRWLockReleased(const char *, int,
const volatile void *, long){} const volatile void *, long){}
void AnnotateBenignRace(const char *, int, void AbslAnnotateBenignRace(const char *, int,
const volatile void *, const volatile void *,
const char *){} const char *){}
void AnnotateBenignRaceSized(const char *, int, void AbslAnnotateBenignRaceSized(const char *, int,
const volatile void *, const volatile void *,
size_t, size_t,
const char *) {} const char *) {}
void AnnotateThreadName(const char *, int, void AbslAnnotateThreadName(const char *, int,
const char *){} const char *){}
void AnnotateIgnoreReadsBegin(const char *, int){} void AbslAnnotateIgnoreReadsBegin(const char *, int){}
void AnnotateIgnoreReadsEnd(const char *, int){} void AbslAnnotateIgnoreReadsEnd(const char *, int){}
void AnnotateIgnoreWritesBegin(const char *, int){} void AbslAnnotateIgnoreWritesBegin(const char *, int){}
void AnnotateIgnoreWritesEnd(const char *, int){} void AbslAnnotateIgnoreWritesEnd(const char *, int){}
void AnnotateEnableRaceDetection(const char *, int, int){} void AbslAnnotateEnableRaceDetection(const char *, int, int){}
void AnnotateMemoryIsInitialized(const char *, int, void AbslAnnotateMemoryIsInitialized(const char *, int,
const volatile void *mem, size_t size) { const volatile void *mem, size_t size) {
#if __has_feature(memory_sanitizer) #if __has_feature(memory_sanitizer)
__msan_unpoison(mem, size); __msan_unpoison(mem, size);
...@@ -74,7 +74,7 @@ void AnnotateMemoryIsInitialized(const char *, int, ...@@ -74,7 +74,7 @@ void AnnotateMemoryIsInitialized(const char *, int,
#endif #endif
} }
void AnnotateMemoryIsUninitialized(const char *, int, void AbslAnnotateMemoryIsUninitialized(const char *, int,
const volatile void *mem, size_t size) { const volatile void *mem, size_t size) {
#if __has_feature(memory_sanitizer) #if __has_feature(memory_sanitizer)
__msan_allocated_memory(mem, size); __msan_allocated_memory(mem, size);
...@@ -84,7 +84,7 @@ void AnnotateMemoryIsUninitialized(const char *, int, ...@@ -84,7 +84,7 @@ void AnnotateMemoryIsUninitialized(const char *, int,
#endif #endif
} }
static int GetRunningOnValgrind(void) { static int GetAbslRunningOnValgrind(void) {
#ifdef RUNNING_ON_VALGRIND #ifdef RUNNING_ON_VALGRIND
if (RUNNING_ON_VALGRIND) return 1; if (RUNNING_ON_VALGRIND) return 1;
#endif #endif
...@@ -96,24 +96,24 @@ static int GetRunningOnValgrind(void) { ...@@ -96,24 +96,24 @@ static int GetRunningOnValgrind(void) {
} }
/* See the comments in dynamic_annotations.h */ /* See the comments in dynamic_annotations.h */
int RunningOnValgrind(void) { int AbslRunningOnValgrind(void) {
static volatile int running_on_valgrind = -1; static volatile int running_on_valgrind = -1;
int local_running_on_valgrind = running_on_valgrind; int local_running_on_valgrind = running_on_valgrind;
/* C doesn't have thread-safe initialization of statics, and we /* C doesn't have thread-safe initialization of statics, and we
don't want to depend on pthread_once here, so hack it. */ don't want to depend on pthread_once here, so hack it. */
ANNOTATE_BENIGN_RACE(&running_on_valgrind, "safe hack"); ANNOTATE_BENIGN_RACE(&running_on_valgrind, "safe hack");
if (local_running_on_valgrind == -1) if (local_running_on_valgrind == -1)
running_on_valgrind = local_running_on_valgrind = GetRunningOnValgrind(); running_on_valgrind = local_running_on_valgrind = GetAbslRunningOnValgrind();
return local_running_on_valgrind; return local_running_on_valgrind;
} }
/* See the comments in dynamic_annotations.h */ /* See the comments in dynamic_annotations.h */
double ValgrindSlowdown(void) { double AbslValgrindSlowdown(void) {
/* Same initialization hack as in RunningOnValgrind(). */ /* Same initialization hack as in AbslRunningOnValgrind(). */
static volatile double slowdown = 0.0; static volatile double slowdown = 0.0;
double local_slowdown = slowdown; double local_slowdown = slowdown;
ANNOTATE_BENIGN_RACE(&slowdown, "safe hack"); ANNOTATE_BENIGN_RACE(&slowdown, "safe hack");
if (RunningOnValgrind() == 0) { if (AbslRunningOnValgrind() == 0) {
return 1.0; return 1.0;
} }
if (local_slowdown == 0.0) { if (local_slowdown == 0.0) {
......
...@@ -79,7 +79,7 @@ const void *VDSOSupport::Init() { ...@@ -79,7 +79,7 @@ const void *VDSOSupport::Init() {
// on stack, and so glibc works as if VDSO was not present. // on stack, and so glibc works as if VDSO was not present.
// But going directly to kernel via /proc/self/auxv below bypasses // But going directly to kernel via /proc/self/auxv below bypasses
// Valgrind zapping. So we check for Valgrind separately. // Valgrind zapping. So we check for Valgrind separately.
if (RunningOnValgrind()) { if (AbslRunningOnValgrind()) {
vdso_base_.store(nullptr, std::memory_order_relaxed); vdso_base_.store(nullptr, std::memory_order_relaxed);
getcpu_fn_.store(&GetCPUViaSyscall, std::memory_order_relaxed); getcpu_fn_.store(&GetCPUViaSyscall, std::memory_order_relaxed);
return nullptr; return nullptr;
......
...@@ -1052,7 +1052,7 @@ TEST(FindOneCharTest, EdgeCases) { ...@@ -1052,7 +1052,7 @@ TEST(FindOneCharTest, EdgeCases) {
#ifndef THREAD_SANITIZER // Allocates too much memory for tsan. #ifndef THREAD_SANITIZER // Allocates too much memory for tsan.
TEST(HugeStringView, TwoPointTwoGB) { TEST(HugeStringView, TwoPointTwoGB) {
if (sizeof(size_t) <= 4 || RunningOnValgrind()) if (sizeof(size_t) <= 4 || AbslRunningOnValgrind())
return; return;
// Try a huge std::string piece. // Try a huge std::string piece.
const size_t size = size_t{2200} * 1000 * 1000; const size_t size = size_t{2200} * 1000 * 1000;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment