[PATCH] D14293: [libcxx] Add -fno-exceptions libcxx builders to zorg
Asiri Rathnayake via cfe-commits
cfe-commits at lists.llvm.org
Tue Nov 3 10:19:37 PST 2015
rmaprath created this revision.
rmaprath added reviewers: rengolin, gribozavr, gkistanova, EricWF.
rmaprath added a subscriber: cfe-commits.
This patch adds the necessary builders to zorg to get the -fno-exceptions libcxx library variant building. I've only used those build-slaves which I have got explicit permission to use for this purpose.
As discussed on the cfe-dev list, these builders won't run the libcxx test suite (they will, in the near future, when we adapt the tests).
These builders will ensure that we don't break the -fno-exceptions library build. This patch can only go in once D14292 is sorted.
http://reviews.llvm.org/D14293
Files:
buildbot/osuosl/master/config/builders.py
zorg/buildbot/builders/LibcxxAndAbiBuilder.py
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',
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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D14293.39083.patch
Type: text/x-patch
Size: 3128 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20151103/17d854f3/attachment.bin>
More information about the cfe-commits
mailing list