[compiler-rt] r304699 - Revert "[sanitizer-coverage] test for -fsanitize-coverage=inline-8bit-counters"
Kostya Serebryany via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 8 10:04:13 PDT 2017
Hi Renato,
Sorry for the breakage.
Do you have the test logs for these failures?
On Mon, Jun 5, 2017 at 12:36 AM, Renato Golin via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
> Author: rengolin
> Date: Mon Jun 5 02:36:02 2017
> New Revision: 304699
>
> URL: http://llvm.org/viewvc/llvm-project?rev=304699&view=rev
> Log:
> Revert "[sanitizer-coverage] test for -fsanitize-coverage=inline-
> 8bit-counters"
>
> Revert "Mark sancov test as unsupported on Darwin"
> Revert "[LSan] Detect dynamic loader by its base address."
>
> This reverts commit r304633.
> This reverts commit r304673.
> This reverts commit r304632.
>
> Those commit have broken LOTS of ARM/AArch64 bots for two days.
>
> Removed:
> compiler-rt/trunk/test/sanitizer_common/TestCases/
> sanitizer_coverage_inline8bit_counter.cc
> Modified:
> compiler-rt/trunk/lib/lsan/lsan_common.cc
> compiler-rt/trunk/lib/lsan/lsan_common_linux.cc
> compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
> compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform.h
>
> Modified: compiler-rt/trunk/lib/lsan/lsan_common.cc
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/
> lsan/lsan_common.cc?rev=304699&r1=304698&r2=304699&view=diff
> ============================================================
> ==================
> --- compiler-rt/trunk/lib/lsan/lsan_common.cc (original)
> +++ compiler-rt/trunk/lib/lsan/lsan_common.cc Mon Jun 5 02:36:02 2017
> @@ -408,9 +408,6 @@ static void MarkInvalidPCCb(uptr chunk,
>
> // On Linux, handles dynamically allocated TLS blocks by treating all
> chunks
> // allocated from ld-linux.so as reachable.
> -// On Linux, treats all chunks allocated from ld-linux.so as reachable,
> which
> -// covers dynamically allocated TLS blocks, internal dynamic loader's
> loaded
> -// modules accounting etc.
> // Dynamic TLS blocks contain the TLS variables of dynamically loaded
> modules.
> // They are allocated with a __libc_memalign() call in allocate_and_init()
> // (elf/dl-tls.c). Glibc won't tell us the address ranges occupied by
> those
>
> Modified: compiler-rt/trunk/lib/lsan/lsan_common_linux.cc
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/
> lsan/lsan_common_linux.cc?rev=304699&r1=304698&r2=304699&view=diff
> ============================================================
> ==================
> --- compiler-rt/trunk/lib/lsan/lsan_common_linux.cc (original)
> +++ compiler-rt/trunk/lib/lsan/lsan_common_linux.cc Mon Jun 5 02:36:02
> 2017
> @@ -23,10 +23,6 @@
> #include "sanitizer_common/sanitizer_linux.h"
> #include "sanitizer_common/sanitizer_stackdepot.h"
>
> -#if SANITIZER_USE_GETAUXVAL
> -#include <sys/auxv.h>
> -#endif // SANITIZER_USE_GETAUXVAL
> -
> namespace __lsan {
>
> static const char kLinkerName[] = "ld";
> @@ -34,12 +30,8 @@ static const char kLinkerName[] = "ld";
> static char linker_placeholder[sizeof(LoadedModule)] ALIGNED(64);
> static LoadedModule *linker = nullptr;
>
> -static bool IsLinker(const LoadedModule& module) {
> -#if SANITIZER_USE_GETAUXVAL
> - return module.base_address() == getauxval(AT_BASE);
> -#else
> - return LibraryNameIs(module.full_name(), kLinkerName);
> -#endif // SANITIZER_USE_GETAUXVAL
> +static bool IsLinker(const char* full_name) {
> + return LibraryNameIs(full_name, kLinkerName);
> }
>
> __attribute__((tls_model("initial-exec")))
> @@ -57,25 +49,22 @@ void InitializePlatformSpecificModules()
> ListOfModules modules;
> modules.init();
> for (LoadedModule &module : modules) {
> - if (!IsLinker(module))
> - continue;
> + if (!IsLinker(module.full_name())) continue;
> if (linker == nullptr) {
> linker = reinterpret_cast<LoadedModule *>(linker_placeholder);
> *linker = module;
> module = LoadedModule();
> } else {
> VReport(1, "LeakSanitizer: Multiple modules match \"%s\". "
> - "TLS and other allocations originating from linker might
> be "
> - "falsely reported as leaks.\n", kLinkerName);
> + "TLS will not be handled correctly.\n", kLinkerName);
> linker->clear();
> linker = nullptr;
> return;
> }
> }
> if (linker == nullptr) {
> - VReport(1, "LeakSanitizer: Dynamic linker not found. TLS and other "
> - "allocations originating from linker might be falsely
> reported "
> - "as leaks.\n");
> + VReport(1, "LeakSanitizer: Dynamic linker not found. "
> + "TLS will not be handled correctly.\n");
> }
> }
>
>
> Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/
> sanitizer_common/sanitizer_linux.cc?rev=304699&r1=304698&
> r2=304699&view=diff
> ============================================================
> ==================
> --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc (original)
> +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_linux.cc Mon Jun 5
> 02:36:02 2017
> @@ -75,6 +75,16 @@ extern char **environ; // provided by c
> #include <sys/signal.h>
> #endif
>
> +#ifndef __GLIBC_PREREQ
> +#define __GLIBC_PREREQ(x, y) 0
> +#endif
> +
> +#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 16)
> +# define SANITIZER_USE_GETAUXVAL 1
> +#else
> +# define SANITIZER_USE_GETAUXVAL 0
> +#endif
> +
> #if SANITIZER_USE_GETAUXVAL
> #include <sys/auxv.h>
> #endif
>
> Modified: compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform.h
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/
> sanitizer_common/sanitizer_platform.h?rev=304699&r1=
> 304698&r2=304699&view=diff
> ============================================================
> ==================
> --- compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform.h (original)
> +++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_platform.h Mon Jun
> 5 02:36:02 2017
> @@ -269,14 +269,5 @@
> # define SANITIZER_SUPPRESS_LEAK_ON_PTHREAD_EXIT 0
> #endif
>
> -#ifndef __GLIBC_PREREQ
> -#define __GLIBC_PREREQ(x, y) 0
> -#endif
> -
> -#if SANITIZER_LINUX && __GLIBC_PREREQ(2, 16)
> -# define SANITIZER_USE_GETAUXVAL 1
> -#else
> -# define SANITIZER_USE_GETAUXVAL 0
> -#endif
>
> #endif // SANITIZER_PLATFORM_H
>
> Removed: compiler-rt/trunk/test/sanitizer_common/TestCases/
> sanitizer_coverage_inline8bit_counter.cc
> URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/
> test/sanitizer_common/TestCases/sanitizer_coverage_
> inline8bit_counter.cc?rev=304698&view=auto
> ============================================================
> ==================
> --- compiler-rt/trunk/test/sanitizer_common/TestCases/
> sanitizer_coverage_inline8bit_counter.cc (original)
> +++ compiler-rt/trunk/test/sanitizer_common/TestCases/
> sanitizer_coverage_inline8bit_counter.cc (removed)
> @@ -1,23 +0,0 @@
> -// Tests -fsanitize-coverage=inline-8bit-counters
> -//
> -// REQUIRES: has_sancovcc,stable-runtime
> -// UNSUPPORTED: i386-darwin, x86_64-darwin
> -//
> -// RUN: %clangxx -O0 %s -fsanitize-coverage=inline-8bit-counters 2>&1
> -
> -#include <stdio.h>
> -#include <assert.h>
> -
> -const char *first_counter;
> -
> -extern "C"
> -void __sanitizer_cov_8bit_counters_init(const char *start, const char
> *end) {
> - printf("INIT: %p %p\n", start, end);
> - assert(end - start > 1);
> - first_counter = start;
> -}
> -
> -int main() {
> - assert(first_counter);
> - assert(*first_counter == 1);
> -}
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170608/5d1cdee4/attachment-0001.html>
More information about the llvm-commits
mailing list