aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer
diff options
context:
space:
mode:
authorMax Ostapenko <m.ostapenko@partner.samsung.com>2015-10-21 10:47:54 +0300
committerMaxim Ostapenko <chefmax@gcc.gnu.org>2015-10-21 10:47:54 +0300
commit15ebe1fe46a75067b027128e35d75b17a5d4e299 (patch)
treee324e6eab65584b85d63817b2f6db0c32e1eba46 /libsanitizer
parent0d57d3e06be746b68022464c332ff0e5313fa87e (diff)
re PR bootstrap/63888 (bootstrap failed when configured with -with-build-config=bootstrap-asan --disable-werror)
libsanitizer/ PR bootstrap/63888 Reapply: 2015-02-20 Jakub Jelinek <jakub@redhat.com> * asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation support until it is rewritten upstream. * c-c++-common/asan/pr63888.c: New test. From-SVN: r229114
Diffstat (limited to 'libsanitizer')
-rw-r--r--libsanitizer/ChangeLog11
-rw-r--r--libsanitizer/asan/asan_globals.cc4
2 files changed, 14 insertions, 1 deletions
diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog
index 4e463efec46..80ce1585857 100644
--- a/libsanitizer/ChangeLog
+++ b/libsanitizer/ChangeLog
@@ -1,5 +1,16 @@
2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+ PR bootstrap/63888
+ Reapply:
+ 2015-02-20 Jakub Jelinek <jakub@redhat.com>
+
+ * asan/asan_globals.cc (RegisterGlobal): Disable detect_odr_violation
+ support until it is rewritten upstream.
+
+ * c-c++-common/asan/pr63888.c: New test.
+
+2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
+
PR sanitizer/63958
Reapply:
2014-10-14 David S. Miller <davem@davemloft.net>
diff --git a/libsanitizer/asan/asan_globals.cc b/libsanitizer/asan/asan_globals.cc
index b132c8b09b9..9c3588b8e08 100644
--- a/libsanitizer/asan/asan_globals.cc
+++ b/libsanitizer/asan/asan_globals.cc
@@ -144,7 +144,9 @@ static void RegisterGlobal(const Global *g) {
CHECK(AddrIsInMem(g->beg));
CHECK(AddrIsAlignedByGranularity(g->beg));
CHECK(AddrIsAlignedByGranularity(g->size_with_redzone));
- if (flags()->detect_odr_violation) {
+ // This "ODR violation" detection is fundamentally incompatible with
+ // how GCC registers globals. Disable as useless until rewritten upstream.
+ if (0 && flags()->detect_odr_violation) {
// Try detecting ODR (One Definition Rule) violation, i.e. the situation
// where two globals with the same name are defined in different modules.
if (__asan_region_is_poisoned(g->beg, g->size_with_redzone)) {