[compiler-rt] 5e9e463 - [lsan] Test to show lsan dependency on globals

Yvan Roux via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 22 04:56:57 PDT 2021


Hi,

this new test broke armv7 bots:

https://lab.llvm.org/buildbot/#/builders/59/builds/1725


On Wed, 21 Apr 2021 at 07:00, Vitaly Buka via llvm-commits <
llvm-commits at lists.llvm.org> wrote:

>
> Author: Vitaly Buka
> Date: 2021-04-20T22:00:26-07:00
> New Revision: 5e9e463e1fdd7980992ffc5bf78894e0f39d5d9c
>
> URL:
> https://github.com/llvm/llvm-project/commit/5e9e463e1fdd7980992ffc5bf78894e0f39d5d9c
> DIFF:
> https://github.com/llvm/llvm-project/commit/5e9e463e1fdd7980992ffc5bf78894e0f39d5d9c.diff
>
> LOG: [lsan] Test to show lsan dependency on globals
>
> This test from @MaskRay comment on D69428. The patch is looking to
> break this behavior. If we go with D69428 I hope we will have some
> workaround for this test or include explicit test update into the patch.
>
> Reviewed By: MaskRay
>
> Differential Revision: https://reviews.llvm.org/D100906
>
> Added:
>     compiler-rt/test/lsan/TestCases/use_globals_unused.cpp
>
> Modified:
>
>
> Removed:
>
>
>
>
> ################################################################################
> diff  --git a/compiler-rt/test/lsan/TestCases/use_globals_unused.cpp
> b/compiler-rt/test/lsan/TestCases/use_globals_unused.cpp
> new file mode 100644
> index 0000000000000..06f2616842b5b
> --- /dev/null
> +++ b/compiler-rt/test/lsan/TestCases/use_globals_unused.cpp
> @@ -0,0 +1,39 @@
> +// Test that unused globals are included in the root set.
> +// RUN: %clangxx_lsan -O2 %s -DTEST_LIB -c -o %t.o
> +// RUN: %clangxx_lsan -O2 %s %t.o -o %t
> +// RUN: LSAN_BASE="use_stacks=0:use_registers=0"
> +// RUN: %env_lsan_opts=$LSAN_BASE:"use_globals=0" not %run %t 2>&1 |
> FileCheck %s --check-prefixes=LEAK
> +// RUN: %env_lsan_opts=$LSAN_BASE:"use_globals=1" %run %t 2>&1 |
> FileCheck %s --implicit-check-not=leak
> +// RUN: %env_lsan_opts="" %run %t 2>&1 | FileCheck %s
> --implicit-check-not=leak
> +
> +#include <stdio.h>
> +#include <stdlib.h>
> +#include <string.h>
> +
> +#ifdef TEST_LIB
> +
> +void set(char *a) {
> +  strcpy(a, "hello");
> +}
> +
> +#else
> +
> +static void *g;
> +
> +void set(char *a);
> +void foo(void *a) {
> +  // Store from a
> diff erent function to suppress global localization.
> +  g = a;
> +}
> +
> +int main() {
> +  char a[10];
> +  set(a);
> +  char *b = strdup(a);
> +  printf("%p %s\n", b, b);
> +  g = b;
> +}
> +
> +#endif
> +
> +// LEAK: LeakSanitizer: detected memory leaks
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://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/20210422/41e72a5e/attachment.html>


More information about the llvm-commits mailing list