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

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 22 10:07:47 PDT 2021


Thanks!
https://reviews.llvm.org/rG149d5a8c4793

On Thu, 22 Apr 2021 at 04:57, Yvan Roux <yvan.roux at linaro.org> wrote:

> 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/2fe045e9/attachment.html>


More information about the llvm-commits mailing list