Index: buildbot/osuosl/master/config/builders.py =================================================================== --- buildbot/osuosl/master/config/builders.py +++ buildbot/osuosl/master/config/builders.py @@ -740,6 +759,18 @@ env={'CC': 'clang', 'CXX': 'clang++'}), 'category': 'libcxx'}, + # x86_64 -fno-exceptions libcxx build (skips libcxx tests) + {'name': 'libcxx-libcxxabi-x86_64-linux-debian-noexceptions', + 'slavenames': ['gribozavr4'], + 'builddir': 'libcxx-libcxxabi-x86_64-linux-debian-noexceptions', + 'factory': LibcxxAndAbiBuilder.getLibcxxAndAbiBuilder( + env={'CC': 'clang', 'CXX': 'clang++'}, + cmake_extra_opts={'LIBCXX_ENABLE_EXCEPTIONS': 'OFF'}, + # TODO: Remove this once the libcxx tests are updated to pass on + # the -fno-exceptions library build. + additional_features={'no-libcxx-tests'}), + 'category': 'libcxx'}, + {'name': 'libcxx-libcxxabi-singlethreaded-x86_64-linux-debian', 'slavenames': ['gribozavr4'], 'builddir': 'libcxx-libcxxabi-singlethreaded-x86_64-linux-debian', @@ -840,6 +871,24 @@ cmake_extra_opts={'LIBCXXABI_USE_LLVM_UNWINDER': 'True', 'CMAKE_C_FLAGS': '-mcpu=cortex-a15', 'CMAKE_CXX_FLAGS': '-mcpu=cortex-a15'})}, + + # Cortex-A15 -fno-exceptions libcxx build (skips libcxx tests) + {'name': 'libcxx-libcxxabi-arm-linux-noexceptions', + 'slavenames': ['linaro-chrome-01'], + 'builddir': 'libcxx-libcxxabi-arm-linux-noexceptions', + 'category': 'libcxx', + 'factory': LibcxxAndAbiBuilder.getLibcxxAndAbiBuilder( + env={'CC': 'clang', 'CXX': 'clang++'}, + # FIXME: there should be a way to merge autodetected with user-defined linker flags + # See: libcxxabi/test/lit.cfg + lit_extra_opts={'link_flags': '"-lc++abi -lc -lm -lpthread -lunwind -ldl -L/opt/llvm/lib/clang/3.6.0/lib/linux -lclang_rt.builtins-arm"'}, + cmake_extra_opts={'LIBCXXABI_USE_LLVM_UNWINDER': 'True', + 'CMAKE_C_FLAGS': '-mcpu=cortex-a15', + 'CMAKE_CXX_FLAGS': '-mcpu=cortex-a15', + 'LIBCXX_ENABLE_EXCEPTIONS': 'OFF'}, + # TODO: Remove this once the libcxx tests are updated to pass on + # the -fno-exceptions library build. + additional_features={'no-libcxx-tests'})}, ] # Experimental and stopped builders Index: zorg/buildbot/builders/LibcxxAndAbiBuilder.py =================================================================== --- zorg/buildbot/builders/LibcxxAndAbiBuilder.py +++ zorg/buildbot/builders/LibcxxAndAbiBuilder.py @@ -128,6 +128,10 @@ descriptionDone = ['test', 'libcxxabi'], workdir = build_path)) + # Skip libcxx tests if requested + if 'no-libcxx-tests' in additional_features: + return f + # Test libc++ f.addStep(LitTestCommand( name = 'test.libcxx',