[zorg] r286794 - Add support for libc++ ABI checking
Eric Fiselier via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 13 19:15:08 PST 2016
Author: ericwf
Date: Sun Nov 13 21:15:08 2016
New Revision: 286794
URL: http://llvm.org/viewvc/llvm-project?rev=286794&view=rev
Log:
Add support for libc++ ABI checking
Modified:
zorg/trunk/buildbot/osuosl/master/config/builders.py
zorg/trunk/zorg/buildbot/builders/LibcxxAndAbiBuilder.py
Modified: zorg/trunk/buildbot/osuosl/master/config/builders.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=286794&r1=286793&r2=286794&view=diff
==============================================================================
--- zorg/trunk/buildbot/osuosl/master/config/builders.py (original)
+++ zorg/trunk/buildbot/osuosl/master/config/builders.py Sun Nov 13 21:15:08 2016
@@ -908,7 +908,8 @@ def _get_libcxx_builders():
'builddir': 'libcxx-libcxxabi-x86_64-linux-debian',
'factory': LibcxxAndAbiBuilder.getLibcxxAndAbiBuilder(
env={'CC': 'clang', 'CXX': 'clang++'},
- lit_extra_args=['--shuffle']),
+ lit_extra_args=['--shuffle'],
+ check_libcxx_abilist=True),
'category': 'libcxx'},
{'name': 'libcxx-libcxxabi-x86_64-linux-debian-noexceptions',
@@ -946,7 +947,8 @@ def _get_libcxx_builders():
'factory': LibcxxAndAbiBuilder.getLibcxxAndAbiBuilder(
env={'PATH': '/usr/local/bin:/usr/bin:/bin',
'CC': 'clang', 'CXX': 'clang++'},
- lit_extra_opts={'std':'c++03'}),
+ lit_extra_opts={'std':'c++03'},
+ check_libcxx_abilist=True),
'category': 'libcxx'},
{'name': 'libcxx-libcxxabi-x86_64-linux-ubuntu-cxx11',
@@ -955,7 +957,8 @@ def _get_libcxx_builders():
'factory': LibcxxAndAbiBuilder.getLibcxxAndAbiBuilder(
env={'PATH': '/usr/local/bin:/usr/bin:/bin',
'CC': 'clang', 'CXX': 'clang++'},
- lit_extra_opts={'std': 'c++11', 'enable_warnings': 'true'}),
+ lit_extra_opts={'std': 'c++11', 'enable_warnings': 'true'},
+ check_libcxx_abilist=True),
'category': 'libcxx'},
{'name': 'libcxx-libcxxabi-x86_64-linux-ubuntu-cxx14',
@@ -964,7 +967,8 @@ def _get_libcxx_builders():
'factory': LibcxxAndAbiBuilder.getLibcxxAndAbiBuilder(
env={'PATH': '/usr/local/bin:/usr/bin:/bin',
'CC': 'clang', 'CXX': 'clang++'},
- lit_extra_opts={'std': 'c++14', 'enable_warnings': 'true'}),
+ lit_extra_opts={'std': 'c++14', 'enable_warnings': 'true'},
+ check_libcxx_abilist=True),
'category': 'libcxx'},
{'name': 'libcxx-libcxxabi-x86_64-linux-ubuntu-cxx1z',
@@ -973,7 +977,8 @@ def _get_libcxx_builders():
'factory': LibcxxAndAbiBuilder.getLibcxxAndAbiBuilder(
env={'PATH': '/usr/local/bin:/usr/bin:/bin',
'CC': 'clang', 'CXX': 'clang++'},
- lit_extra_opts={'std': 'c++1z', 'enable_warnings': 'true'}),
+ lit_extra_opts={'std': 'c++1z', 'enable_warnings': 'true'},
+ check_libcxx_abilist=True),
'category': 'libcxx'},
{'name': 'libcxx-libcxxabi-x86_64-linux-ubuntu-asan',
Modified: zorg/trunk/zorg/buildbot/builders/LibcxxAndAbiBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LibcxxAndAbiBuilder.py?rev=286794&r1=286793&r2=286794&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/LibcxxAndAbiBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/LibcxxAndAbiBuilder.py Sun Nov 13 21:15:08 2016
@@ -54,7 +54,7 @@ def getLibcxxWholeTree(f, src_root):
def getLibcxxAndAbiBuilder(f=None, env={}, additional_features=set(),
cmake_extra_opts={}, lit_extra_opts={},
- lit_extra_args=[]):
+ lit_extra_args=[], check_libcxx_abilist=False):
if f is None:
f = buildbot.process.factory.BuildFactory()
@@ -88,6 +88,11 @@ def getLibcxxAndAbiBuilder(f=None, env={
for key in cmake_extra_opts:
cmake_opts.append('-D' + key + '=' + cmake_extra_opts[key])
+ # FIXME: The libc++ abilist's are generated in release mode with debug
+ # symbols Other configurations may contain additional non-inlined symbols.
+ if check_libcxx_abilist and not 'CMAKE_BUILD_TYPE' in cmake_extra_opts:
+ cmake_opts.append('-DCMAKE_BUILD_TYPE=RELWITHDEBINFO')
+
# Nuke/remake build directory and run CMake
f.addStep(buildbot.steps.shell.ShellCommand(
name='rm.builddir', command=['rm', '-rf', build_path],
@@ -127,4 +132,12 @@ def getLibcxxAndAbiBuilder(f=None, env={
descriptionDone = ['test', 'libcxx'],
workdir = build_path))
+ if check_libcxx_abilist:
+ f.addStep(buildbot.steps.shell.ShellCommand(
+ name = 'test.libcxx.abilist',
+ command = ['make', 'check-cxx-abilist'],
+ description = ['testing', 'libcxx', 'abi'],
+ descriptionDone = ['test', 'libcxx', 'abi'],
+ workdir = build_path))
+
return f
More information about the llvm-commits
mailing list