<div dir="ltr"><div><div><div><div><div>Hi Rick,<br><br></div>You are welcome.<br><br></div>r195058 and r195065  should give you what you need. Please notice that both jobs and loadaverage parameters are specified as buildslave properties.<br>
<br>Please let me know if anything is still missing.<br></div><br></div>Thanks,<br><br></div>Galina.<br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 18, 2013 at 4:41 PM, Rick Foos <span dir="ltr"><<a href="mailto:rfoos@codeaurora.org" target="_blank">rfoos@codeaurora.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Galina,<br>
<br>
Thank you, those are excellent changes. The jobs/loadaverage is much easier to read now.<br>
<br>
Best Regards,<br>
Rick<br>
<br>
On 11/18/2013 05:57 PM, Galina Kistanova wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Author: gkistanova<br>
Date: Mon Nov 18 17:57:02 2013<br>
New Revision: 195058<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=195058&view=rev" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project?rev=195058&view=rev</a><br>
Log:<br>
Based on the patch proposed by Rick Foos!<br>
Added a new buildslave, hexagon-build-03, and a few modifications stabilize the sanitizer on the server.<br>
<br>
Modified:<br>
     zorg/trunk/buildbot/osuosl/<u></u>master/config/builders.py<br>
     zorg/trunk/buildbot/osuosl/<u></u>master/config/slaves.py<br>
     zorg/trunk/zorg/buildbot/<u></u>builders/ClangAndLLDBuilder.py<br>
<br>
Modified: zorg/trunk/buildbot/osuosl/<u></u>master/config/builders.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/builders.py?rev=195058&r1=195057&r2=195058&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/zorg/trunk/buildbot/<u></u>osuosl/master/config/builders.<u></u>py?rev=195058&r1=195057&r2=<u></u>195058&view=diff</a><br>

==============================<u></u>==============================<u></u>==================<br>
--- zorg/trunk/buildbot/osuosl/<u></u>master/config/builders.py (original)<br>
+++ zorg/trunk/buildbot/osuosl/<u></u>master/config/builders.py Mon Nov 18 17:57:02 2013<br>
@@ -623,6 +623,14 @@ def _get_sanitizer_builders():<br>
             'slavenames' :["sanitizer-buildbot2"],<br>
             'builddir': "sanitizer-x86_64-linux-<u></u>bootstrap",<br>
             'factory': SanitizerBuilder.<u></u>getSanitizerBuildFactory()},<br>
+<br>
+          # hexagon-build-03: /opt/usr/bin contains clang-3.4 for sanitizer.<br>
+          {'name': "llvm-clang-lld-x86_64-ubuntu-<u></u>13.04-sanitize-address",<br>
+           'slavenames':["hexagon-build-<u></u>03"],<br>
+           'builddir':"llvm-clang-lld-<u></u>x86_64-ubuntu-13.04-fsanitize-<u></u>address",<br>
+           'factory': ClangAndLLDBuilder.<u></u>getClangAndLLDBuildFactory(<br>
+                                             buildWithSanitizerOptions=['-<u></u>fsanitize=address'],<br>
+                                             env={'PATH':'/opt/usr/bin:/<u></u>usr/local/bin:/usr/bin:/bin'})<u></u>},<br>
            ]<br>
    # Experimental and stopped builders<br>
<br>
Modified: zorg/trunk/buildbot/osuosl/<u></u>master/config/slaves.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/zorg/trunk/buildbot/osuosl/master/config/slaves.py?rev=195058&r1=195057&r2=195058&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/zorg/trunk/buildbot/<u></u>osuosl/master/config/slaves.<u></u>py?rev=195058&r1=195057&r2=<u></u>195058&view=diff</a><br>

==============================<u></u>==============================<u></u>==================<br>
--- zorg/trunk/buildbot/osuosl/<u></u>master/config/slaves.py (original)<br>
+++ zorg/trunk/buildbot/osuosl/<u></u>master/config/slaves.py Mon Nov 18 17:57:02 2013<br>
@@ -188,7 +188,12 @@ def get_build_slaves():<br>
          create_slave("osu8", properties={'jobs' : 6}, max_builds=2),<br>
            # Ubuntu 12.04 x86-64, Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz<br>
-        create_slave("hexagon-build-<u></u>02", properties={'jobs': 12}, max_builds=4),<br>
+        create_slave("hexagon-build-<u></u>02", properties={'jobs': 12, 'loadaverage': 32},<br>
+            max_builds=4),<br>
+        # Ubuntu 13.04 x86-64, Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz<br>
+        # hexagon-build-03: /opt/usr/bin contains clang-3.4 for sanitizer.<br>
+        create_slave("hexagon-build-<u></u>03", properties={'jobs': 16, 'loadaverage': 32},<br>
+            max_builds=2),<br>
            # Cavium Octeon II V0.8, MIPS64 big endian, Debian squeeze (6.0.6)<br>
          create_slave("mipsswbrd002", properties={'jobs' : 6}, max_builds=1),<br>
<br>
Modified: zorg/trunk/zorg/buildbot/<u></u>builders/ClangAndLLDBuilder.py<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/ClangAndLLDBuilder.py?rev=195058&r1=195057&r2=195058&view=diff" target="_blank">http://llvm.org/viewvc/llvm-<u></u>project/zorg/trunk/zorg/<u></u>buildbot/builders/<u></u>ClangAndLLDBuilder.py?rev=<u></u>195058&r1=195057&r2=195058&<u></u>view=diff</a><br>

==============================<u></u>==============================<u></u>==================<br>
--- zorg/trunk/zorg/buildbot/<u></u>builders/ClangAndLLDBuilder.py (original)<br>
+++ zorg/trunk/zorg/buildbot/<u></u>builders/ClangAndLLDBuilder.py Mon Nov 18 17:57:02 2013<br>
@@ -2,15 +2,16 @@ import os<br>
    import buildbot<br>
  import buildbot.process.factory<br>
-from buildbot.steps.source import SVN, Git<br>
-from buildbot.steps.shell import Configure, ShellCommand<br>
+from buildbot.steps.source import SVN<br>
+from buildbot.steps.shell import ShellCommand<br>
  from buildbot.steps.shell import WarningCountingShellCommand<br>
  from buildbot.process.properties import WithProperties<br>
  from zorg.buildbot.commands.<u></u>LitTestCommand import LitTestCommand<br>
    def getClangAndLLDBuildFactory(<br>
             clean=True,<br>
-           env=None):<br>
+           env=None,<br>
+           buildWithSanitizerOptions=<u></u>None):<br>
        llvm_srcdir = "llvm.src"<br>
      llvm_objdir = "llvm.obj"<br>
@@ -38,11 +39,15 @@ def getClangAndLLDBuildFactory(<br>
                    baseURL='<a href="http://llvm.org/svn/llvm-project/llvm/" target="_blank">http://llvm.org/svn/<u></u>llvm-project/llvm/</a>',<br>
                    defaultBranch='trunk',<br>
                    workdir=llvm_srcdir))<br>
-    f.addStep(SVN(name='svn-<u></u>compiler-rt',<br>
-                  mode='update',<br>
-                  baseURL='<a href="http://llvm.org/svn/llvm-project/compiler-rt/" target="_blank">http://llvm.org/svn/<u></u>llvm-project/compiler-rt/</a>',<br>
-                  defaultBranch='trunk',<br>
-                  workdir='%s/projects/compiler-<u></u>rt' % llvm_srcdir))<br>
+<br>
+    # Sanitizer runtime in compiler-rt, and cannot be built with sanitizer compiler.<br>
+    if buildWithSanitizerOptions is None:<br>
+        f.addStep(SVN(name='svn-<u></u>compiler-rt',<br>
+                      mode='update',<br>
+                      baseURL='<a href="http://llvm.org/svn/llvm-project/compiler-rt/" target="_blank">http://llvm.org/svn/<u></u>llvm-project/compiler-rt/</a>',<br>
+                      defaultBranch='trunk',<br>
+                      workdir='%s/projects/compiler-<u></u>rt' % llvm_srcdir))<br>
+<br>
      f.addStep(SVN(name='svn-clang'<u></u>,<br>
                    mode='update',<br>
                    baseURL='<a href="http://llvm.org/svn/llvm-project/cfe/" target="_blank">http://llvm.org/svn/<u></u>llvm-project/cfe/</a>',<br>
@@ -71,18 +76,27 @@ def getClangAndLLDBuildFactory(<br>
      # Create configuration files with cmake.<br>
      f.addStep(ShellCommand(name="<u></u>create-build-dir",<br>
                                 command=["mkdir", "-p", llvm_objdir],<br>
-                               haltOnFailure=False,<br>
+                               haltOnFailure=True,<br>
                                 description=["create build dir"],<br>
                                 workdir=".",<br>
                                 env=merged_env))<br>
+<br>
+    options = ["-std=c++11", "-Wdocumentation", "-Wno-documentation-<u></u>deprecated-sync"]<br>
+<br>
+    if buildWithSanitizerOptions:<br>
+        options += buildWithSanitizerOptions<br>
+<br>
      cmakeCommand = [<br>
          "cmake",<br>
          "-DCMAKE_BUILD_TYPE=Release",<br>
          "-DLLVM_ENABLE_ASSERTIONS=ON",<br>
-        "-DCMAKE_CXX_FLAGS=\"-std=c++<u></u>11 -Wdocumentation -Wno-documentation-deprecated-<u></u>sync\"",<br>
+        "-DCMAKE_C_COMPILER=clang",<br>
+        "-DCMAKE_CXX_COMPILER=clang++"<u></u>,<br>
+        "-DCMAKE_CXX_FLAGS=\"%s\"" % (" ".join(options)),<br>
          "-DLLVM_LIT_ARGS=\"-v\"",<br>
          "-G", "Ninja",<br>
          "../%s" % llvm_srcdir]<br>
+<br>
      # Note: ShellCommand does not pass the params with special symbols right.<br>
      # The " ".join is a workaround for this bug.<br>
      f.addStep(ShellCommand(name="<u></u>cmake-configure",<br>
@@ -92,9 +106,15 @@ def getClangAndLLDBuildFactory(<br>
                                 workdir=llvm_objdir,<br>
                                 env=merged_env))<br>
  +    ninjaCommand = [<br>
+        "nice", "-n", "10",<br>
+        "ninja",<br>
+             WithProperties("%(jobs:+-j)s")<u></u>,        WithProperties("%(jobs:-)s"),<br>
+             WithProperties("%(loadaverage:<u></u>+-l)s"), WithProperties("%(loadaverage:<u></u>-)s")]<br>
+<br>
      # Build everything.<br>
      f.addStep(<u></u>WarningCountingShellCommand(<u></u>name="build",<br>
-                                          command=["nice", "-n", "10", "ninja"],<br>
+                                          command=ninjaCommand,<br>
                                            haltOnFailure=True,<br>
                                            description=["build"],<br>
                                            workdir=llvm_objdir,<br>
@@ -102,7 +122,7 @@ def getClangAndLLDBuildFactory(<br>
        # Test everything.<br>
      f.addStep(LitTestCommand(name=<u></u>"test",<br>
-                             command=["nice", "-n", "10", "ninja", "check-all"],<br>
+                             command=ninjaCommand,<br>
                               haltOnFailure=True,<br>
                               description=["test"],<br>
                               workdir=llvm_objdir,<br>
<br>
<br>
______________________________<u></u>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu" target="_blank">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvm-commits</a><span class="HOEnZb"><font color="#888888"><br>
</font></span></blockquote><span class="HOEnZb"><font color="#888888">
<br>
<br>
-- <br>
Rick Foos<br>
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation<br>
<br>
</font></span></blockquote></div><br></div>