[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