[compiler-rt] r300897 - Enable lsan test suite on Darwin x86_64 builds

Ahmed Bougacha via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 25 16:29:35 PDT 2017


On Fri, Apr 21, 2017 at 8:14 AM, Francis Ricci <francisjricci at gmail.com> wrote:
> Hi Ahmed - not sure how familiar you are with this buildbot, but it
> appears to be running on out-of-date code. Looking at the source
> browser here: http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/ws/compiler-rt.src/lib/lsan/lsan_common_mac.cc,
> the file is not up-to-date with llvm master, and does not have all the
> required code to pass the tests I enabled. Any idea why this would be
> the case?

I don't think it's showing the current sources (for boring jenkins
reasons the 'workspace' link isn't always accurate, but Mike tells me
that's gradually being fixed).

But I haven't been able to reproduce locally though.  The bots run on
10.11.6, so I also tried running the test (built on 10.12) there, and
it's also succeeding.

I filed PR32796, I'll try to find out more.

-Ahmed

> On Thu, Apr 20, 2017 at 8:22 PM, Francis Ricci <francisjricci at gmail.com> wrote:
>> Thanks - things didn't fail on my local machine, but I'll attempt to repro
>> with the buildbot config.
>>
>>
>> On Thu, Apr 20, 2017, 8:15 PM Ahmed Bougacha <ahmed.bougacha at gmail.com>
>> wrote:
>>>
>>> Hi Francis,
>>>
>>> I reverted this in r300929, as most lsan/asan tests are now failing on
>>> darwin.
>>> See e.g.,
>>> http://green.lab.llvm.org/green/job/clang-stage1-configure-RA_check/30443/
>>> -Ahmed
>>>
>>>
>>> On Thu, Apr 20, 2017 at 2:27 PM, Francis Ricci via llvm-commits
>>> <llvm-commits at lists.llvm.org> wrote:
>>> > Author: fjricci
>>> > Date: Thu Apr 20 16:27:25 2017
>>> > New Revision: 300897
>>> >
>>> > URL: http://llvm.org/viewvc/llvm-project?rev=300897&view=rev
>>> > Log:
>>> > Enable lsan test suite on Darwin x86_64 builds
>>> >
>>> > Reviewers: kubamracek, alekseyshl
>>> >
>>> > Subscribers: mgorny, llvm-commits
>>> >
>>> > Differential Revision: https://reviews.llvm.org/D32191
>>> >
>>> > Modified:
>>> >     compiler-rt/trunk/cmake/config-ix.cmake
>>> >     compiler-rt/trunk/test/asan/lit.cfg
>>> >     compiler-rt/trunk/test/lsan/lit.common.cfg
>>> >
>>> > Modified: compiler-rt/trunk/cmake/config-ix.cmake
>>> > URL:
>>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/cmake/config-ix.cmake?rev=300897&r1=300896&r2=300897&view=diff
>>> >
>>> > ==============================================================================
>>> > --- compiler-rt/trunk/cmake/config-ix.cmake (original)
>>> > +++ compiler-rt/trunk/cmake/config-ix.cmake Thu Apr 20 16:27:25 2017
>>> > @@ -476,7 +476,7 @@ else()
>>> >  endif()
>>> >
>>> >  if (COMPILER_RT_HAS_SANITIZER_COMMON AND LSAN_SUPPORTED_ARCH AND
>>> > -    OS_NAME MATCHES "Linux|FreeBSD")
>>> > +    OS_NAME MATCHES "Darwin|Linux|FreeBSD")
>>> >    set(COMPILER_RT_HAS_LSAN TRUE)
>>> >  else()
>>> >    set(COMPILER_RT_HAS_LSAN FALSE)
>>> >
>>> > Modified: compiler-rt/trunk/test/asan/lit.cfg
>>> > URL:
>>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/asan/lit.cfg?rev=300897&r1=300896&r2=300897&view=diff
>>> >
>>> > ==============================================================================
>>> > --- compiler-rt/trunk/test/asan/lit.cfg (original)
>>> > +++ compiler-rt/trunk/test/asan/lit.cfg Thu Apr 20 16:27:25 2017
>>> > @@ -38,6 +38,11 @@ if config.host_os == 'Darwin':
>>> >    # Also, make sure we do not overwhelm the syslog while testing.
>>> >    default_asan_opts = 'abort_on_error=0'
>>> >    default_asan_opts += ':log_to_syslog=0'
>>> > +
>>> > +  # On Darwin, leak checking is not enabled by default. Enable for
>>> > x86_64
>>> > +  # tests to prevent regressions
>>> > +  if config.target_arch == 'x86_64':
>>> > +    default_asan_opts += ':detect_leaks=1'
>>> >  elif config.android:
>>> >    # The same as on Darwin, we default to "abort_on_error=1" which slows
>>> > down
>>> >    # testing. Also, all existing tests are using "not" instead of "not
>>> > --crash"
>>> > @@ -217,7 +222,9 @@ if re.search('mthumb', config.target_cfl
>>> >    config.available_features.add('fast-unwinder-works')
>>> >
>>> >  # Turn on leak detection on 64-bit Linux.
>>> > -if config.host_os == 'Linux' and (config.target_arch == 'x86_64' or
>>> > config.target_arch == 'i386'):
>>> > +leak_detection_linux = (config.host_os == 'Linux') and
>>> > (config.target_arch == 'x86_64' or config.target_arch == 'i386')
>>> > +leak_detection_mac = (config.host_os == 'Darwin') and
>>> > (config.target_arch == 'x86_64')
>>> > +if leak_detection_linux or leak_detection_mac:
>>> >    config.available_features.add('leak-detection')
>>> >
>>> >  # Set LD_LIBRARY_PATH to pick dynamic runtime up properly.
>>> >
>>> > Modified: compiler-rt/trunk/test/lsan/lit.common.cfg
>>> > URL:
>>> > http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/test/lsan/lit.common.cfg?rev=300897&r1=300896&r2=300897&view=diff
>>> >
>>> > ==============================================================================
>>> > --- compiler-rt/trunk/test/lsan/lit.common.cfg (original)
>>> > +++ compiler-rt/trunk/test/lsan/lit.common.cfg Thu Apr 20 16:27:25 2017
>>> > @@ -67,8 +67,10 @@ config.substitutions.append( ("%clangxx
>>> >  config.substitutions.append( ("%clang_lsan ",
>>> > build_invocation(clang_lsan_cflags)) )
>>> >  config.substitutions.append( ("%clangxx_lsan ",
>>> > build_invocation(clang_lsan_cxxflags)) )
>>> >
>>> > -# LeakSanitizer tests are currently supported on x86-64 Linux, arm
>>> > Linux and mips64 Linux only.
>>> > -if config.host_os not in ['Linux'] or config.host_arch not in
>>> > ['x86_64', 'mips64', 'arm', 'armhf', 'armv7l']:
>>> > +# LeakSanitizer tests are currently supported on x86-64 Linux, arm
>>> > Linux, mips64 Linux, and x86_64 Darwin
>>> > +supported_linux = config.host_os in ['Linux'] and config.host_arch in
>>> > ['x86_64', 'mips64', 'arm', 'armhf', 'armv7l']
>>> > +supported_darwin = config.host_os is 'Darwin' and config.target_arch is
>>> > 'x86_64'
>>> > +if not (supported_linux or supported_darwin):
>>> >    config.unsupported = True
>>> >
>>> >  # Don't support Thumb due to broken fast unwinder
>>> >
>>> >
>>> > _______________________________________________
>>> > llvm-commits mailing list
>>> > llvm-commits at lists.llvm.org
>>> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list