From 9b7138e49c6c545f09a1f016df5b26fd05d13d23 Mon Sep 17 00:00:00 2001 From: Yedidya Feldblum Date: Thu, 5 Jan 2017 09:57:26 -0800 Subject: [PATCH] Namespace the UBSAN_DISABLE symbol Summary: [Folly] Namespace the `UBSAN_DISABLE` symbol. Symbols defined by Folly should typically be namespaced to Folly. Reviewed By: igorsugak Differential Revision: D4378401 fbshipit-source-id: ff72f5f44e7c9d1bbf08efcec24bd3dc05d10ee7 --- folly/CPortability.h | 5 +++-- folly/stats/Histogram.h | 14 ++++++++------ folly/test/MemcpyTest.cpp | 3 ++- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/folly/CPortability.h b/folly/CPortability.h index 01e972e9..0989cbc9 100644 --- a/folly/CPortability.h +++ b/folly/CPortability.h @@ -90,9 +90,10 @@ * used as folly whitelists some functions. */ #if UNDEFINED_SANITIZER -# define UBSAN_DISABLE(x) __attribute__((no_sanitize(x))) +# define FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER(x) \ + __attribute__((no_sanitize(x))) #else -# define UBSAN_DISABLE(x) +# define FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER(x) #endif // UNDEFINED_SANITIZER /** diff --git a/folly/stats/Histogram.h b/folly/stats/Histogram.h index 33fe5d09..fbb25983 100644 --- a/folly/stats/Histogram.h +++ b/folly/stats/Histogram.h @@ -245,8 +245,9 @@ class Histogram { : buckets_(bucketSize, min, max, Bucket()) {} /* Add a data point to the histogram */ - void addValue(ValueType value) UBSAN_DISABLE("signed-integer-overflow") - UBSAN_DISABLE("unsigned-integer-overflow") { + void addValue(ValueType value) + FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("signed-integer-overflow") + FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("unsigned-integer-overflow") { Bucket& bucket = buckets_.getByValue(value); // NOTE: Overflow is handled elsewhere and tests check this // behavior (see HistogramTest.cpp TestOverflow* tests). @@ -257,8 +258,8 @@ class Histogram { /* Add multiple same data points to the histogram */ void addRepeatedValue(ValueType value, uint64_t nSamples) - UBSAN_DISABLE("signed-integer-overflow") - UBSAN_DISABLE("unsigned-integer-overflow") { + FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("signed-integer-overflow") + FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("unsigned-integer-overflow") { Bucket& bucket = buckets_.getByValue(value); // NOTE: Overflow is handled elsewhere and tests check this // behavior (see HistogramTest.cpp TestOverflow* tests). @@ -274,8 +275,9 @@ class Histogram { * had previously been added to the histogram; it merely subtracts the * requested value from the appropriate bucket's sum. */ - void removeValue(ValueType value) UBSAN_DISABLE("signed-integer-overflow") - UBSAN_DISABLE("unsigned-integer-overflow") { + void removeValue(ValueType value) FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER( + "signed-integer-overflow") + FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("unsigned-integer-overflow") { Bucket& bucket = buckets_.getByValue(value); // NOTE: Overflow is handled elsewhere and tests check this // behavior (see HistogramTest.cpp TestOverflow* tests). diff --git a/folly/test/MemcpyTest.cpp b/folly/test/MemcpyTest.cpp index e9f33585..f9f5a433 100644 --- a/folly/test/MemcpyTest.cpp +++ b/folly/test/MemcpyTest.cpp @@ -32,7 +32,8 @@ void init() { } } -TEST(memcpy, zero_len) UBSAN_DISABLE("nonnull-attribute") { +TEST(memcpy, zero_len) + FOLLY_DISABLE_UNDEFINED_BEHAVIOR_SANITIZER("nonnull-attribute") { // If length is 0, we shouldn't touch any memory. So this should // not crash. char* srcNull = nullptr; -- 2.34.1