[compiler-rt] r209013 - Exclude several ASan tests from test suite if we're using GCC

Greg Fitzgerald garious at gmail.com
Fri May 16 14:31:01 PDT 2014


I see, thanks.  Seems I'm looking at a different issue on clang + qemu-arm.

-Greg


On Fri, May 16, 2014 at 2:28 PM, Alexey Samsonov <samsonov at google.com> wrote:
> On Fri, May 16, 2014 at 2:23 PM, Greg Fitzgerald <garious at gmail.com> wrote:
>>
>> Cool, I was just looking at these.  Do you know what's wrong with GCC
>> here?
>
>
> Well, GCC-ASan doesn't support certain sanitizer compile flags. Also,
> GCC driver doesn't do the right thing for lines like:
>   gcc -x c++ a.cc b.so
> (it treats b.so as a source file).
>
>>
>>
>> By the way, if you're planning on making this test suite usable with
>> GCC, maybe call that feature "Clang-compiled-runtime" to avoid any
>> confusion?
>
>
> Nope, it doesn't matter which compiler was used to build the runtime, this
> feature
> is used to distinguish between the compiler/toolchain used to run the tests.
>
> With this change, I'm able to run test-suite for GCC-ASan:
> https://code.google.com/p/address-sanitizer/wiki/AddressSanitizerTestSuite
>
>>
>>
>> -Greg
>>
>>
>> On Fri, May 16, 2014 at 1:12 PM, Alexey Samsonov <samsonov at google.com>
>> wrote:
>> > Author: samsonov
>> > Date: Fri May 16 15:12:27 2014
>> > New Revision: 209013
>> >
>> > URL: http://llvm.org/viewvc/llvm-project?rev=209013&view=rev
>> > Log:
>> > Exclude several ASan tests from test suite if we're using GCC
>> >
>> > Modified:
>> >     compiler-rt/trunk/test/asan/TestCases/Linux/asan_prelink_test.cc
>> >     compiler-rt/trunk/test/asan/TestCases/Linux/heavy_uar_test.cc
>> >     compiler-rt/trunk/test/asan/TestCases/Linux/odr-violation.cc
>> >     compiler-rt/trunk/test/asan/TestCases/Linux/preinit_test.cc
>> >     compiler-rt/trunk/test/asan/TestCases/heap-overflow.cc
>> >     compiler-rt/trunk/test/lit.common.cfg
>> >
>> > Modified:
>> > compiler-rt/trunk/test/asan/TestCases/Linux/asan_prelink_test.cc
>> > URL:
>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Linux/asan_prelink_test.cc?rev=209013&r1=209012&r2=209013&view=diff
>> >
>> > ==============================================================================
>> > --- compiler-rt/trunk/test/asan/TestCases/Linux/asan_prelink_test.cc
>> > (original)
>> > +++ compiler-rt/trunk/test/asan/TestCases/Linux/asan_prelink_test.cc Fri
>> > May 16 15:12:27 2014
>> > @@ -9,7 +9,8 @@
>> >  // RUN: %clangxx_asan %t.o %t.so -Wl,-R. -o %t
>> >  // RUN: ASAN_OPTIONS=verbosity=1 %run %t 2>&1 | FileCheck %s
>> >
>> > -// REQUIRES: x86_64-supported-target, asan-64-bits
>> > +// GNU driver doesn't handle .so files properly.
>> > +// REQUIRES: x86_64-supported-target, asan-64-bits, Clang
>> >  #if BUILD_SO
>> >  int G;
>> >  int *getG() {
>> >
>> > Modified: compiler-rt/trunk/test/asan/TestCases/Linux/heavy_uar_test.cc
>> > URL:
>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Linux/heavy_uar_test.cc?rev=209013&r1=209012&r2=209013&view=diff
>> >
>> > ==============================================================================
>> > --- compiler-rt/trunk/test/asan/TestCases/Linux/heavy_uar_test.cc
>> > (original)
>> > +++ compiler-rt/trunk/test/asan/TestCases/Linux/heavy_uar_test.cc Fri
>> > May 16 15:12:27 2014
>> > @@ -4,6 +4,9 @@
>> >  // RUN: %clangxx_asan -O2 %s -o %t && \
>> >  // RUN:   not %run %t 2>&1 | FileCheck %s
>> >
>> > +// FIXME: Fix this test under GCC.
>> > +// REQUIRES: Clang
>> > +
>> >  #include <stdio.h>
>> >  #include <string.h>
>> >  #include <stdlib.h>
>> >
>> > Modified: compiler-rt/trunk/test/asan/TestCases/Linux/odr-violation.cc
>> > URL:
>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Linux/odr-violation.cc?rev=209013&r1=209012&r2=209013&view=diff
>> >
>> > ==============================================================================
>> > --- compiler-rt/trunk/test/asan/TestCases/Linux/odr-violation.cc
>> > (original)
>> > +++ compiler-rt/trunk/test/asan/TestCases/Linux/odr-violation.cc Fri May
>> > 16 15:12:27 2014
>> > @@ -11,6 +11,9 @@
>> >  // RUN: ASAN_OPTIONS=detect_odr_violation=1     %run %t 2>&1 |
>> > FileCheck %s --check-prefix=DISABLED
>> >  // RUN: ASAN_OPTIONS=detect_odr_violation=2 not %run %t 2>&1 |
>> > FileCheck %s
>> >
>> > +// GNU driver doesn't handle .so files properly.
>> > +// REQUIRES: Clang
>> > +
>> >  #ifndef SZ
>> >  # define SZ 4
>> >  #endif
>> >
>> > Modified: compiler-rt/trunk/test/asan/TestCases/Linux/preinit_test.cc
>> > URL:
>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/Linux/preinit_test.cc?rev=209013&r1=209012&r2=209013&view=diff
>> >
>> > ==============================================================================
>> > --- compiler-rt/trunk/test/asan/TestCases/Linux/preinit_test.cc
>> > (original)
>> > +++ compiler-rt/trunk/test/asan/TestCases/Linux/preinit_test.cc Fri May
>> > 16 15:12:27 2014
>> > @@ -2,6 +2,9 @@
>> >  // RUN: %clangxx_asan -DFUNC=main %s         -o %t    -Wl,-R. %t.so
>> >  // RUN: %run %t
>> >
>> > +// GNU driver doesn't handle .so files properly.
>> > +// REQUIRES: Clang
>> > +
>> >  // This test ensures that we call __asan_init early enough.
>> >  // We build a shared library w/o asan instrumentation
>> >  // and the binary with asan instrumentation.
>> >
>> > Modified: compiler-rt/trunk/test/asan/TestCases/heap-overflow.cc
>> > URL:
>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/TestCases/heap-overflow.cc?rev=209013&r1=209012&r2=209013&view=diff
>> >
>> > ==============================================================================
>> > --- compiler-rt/trunk/test/asan/TestCases/heap-overflow.cc (original)
>> > +++ compiler-rt/trunk/test/asan/TestCases/heap-overflow.cc Fri May 16
>> > 15:12:27 2014
>> > @@ -3,6 +3,10 @@
>> >  // RUN: %clangxx_asan -O2 %s -o %t && not %run %t 2>&1 | FileCheck %s
>> >  // RUN: %clangxx_asan -O3 %s -o %t && not %run %t 2>&1 | FileCheck %s
>> >  // RUN: ASAN_OPTIONS=print_stats=1 not %run %t 2>&1 | FileCheck %s
>> > +
>> > +// FIXME: Fix this test under GCC.
>> > +// REQUIRES: Clang
>> > +
>> >  #include <stdlib.h>
>> >  #include <string.h>
>> >  int main(int argc, char **argv) {
>> >
>> > Modified: compiler-rt/trunk/test/lit.common.cfg
>> > URL:
>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lit.common.cfg?rev=209013&r1=209012&r2=209013&view=diff
>> >
>> > ==============================================================================
>> > --- compiler-rt/trunk/test/lit.common.cfg (original)
>> > +++ compiler-rt/trunk/test/lit.common.cfg Fri May 16 15:12:27 2014
>> > @@ -28,6 +28,8 @@ elif compiler_id == 'GNU':
>> >    config.cxx_mode_flags = ["-x c++"]
>> >  else:
>> >    lit_config.fatal("Unsupported compiler id: %r" % compiler_id)
>> > +# Add compiler ID to the list of available features.
>> > +config.available_features.add(compiler_id)
>> >
>> >  # Clear some environment variables that might affect Clang.
>> >  possibly_dangerous_env_vars = ['COMPILER_PATH', 'RC_DEBUG_OPTIONS',
>> >
>> >
>> > _______________________________________________
>> > llvm-commits mailing list
>> > llvm-commits at cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
>
> --
> Alexey Samsonov, Mountain View, CA



More information about the llvm-commits mailing list