This is an archive of the discontinued LLVM Phabricator instance.

Prevent building of libunwind, libcxx, libcxxabi, and lld on powerpc64 buildbots
ClosedPublic

Authored by seurer on May 26 2015, 9:21 AM.

Details

Summary

libunwind, libcxx, libcxxabi, and lld are not supported (and do not work) on powerpc64 (neither BE nor LE). However, they are always included in the code that the sanitizer buildbots fetch and compile. Changes made to them sometimes cause the powerpc64 buildbots to stop working until someone (like me) goes in and corrects the compilation problems. Until they are supported they need to be removed from what the powerpc64 buildbots fetch and build.

Checking the BUILDBOT_BUILDERNAME environment variable in buildbot_functions.sh was the simplest way I could see to do this and also let me try out the changes locally on the powerpc64 buildbots before submitting this revision.

Diff Detail

Event Timeline

seurer updated this revision to Diff 26515.May 26 2015, 9:21 AM
seurer retitled this revision from to Prevent building of libunwind, libcxx, libcxxabi, and lld on powerpc64 buildbots.
seurer updated this object.
seurer edited the test plan for this revision. (Show Details)
seurer added reviewers: eugenis, gkistanova.
seurer added a subscriber: Restricted Project.
seurer added a subscriber: Unknown Object (MLST).May 26 2015, 10:23 AM
eugenis edited edge metadata.May 26 2015, 10:27 AM

Could you please do this with less code duplication?
Like SUBDIRS=xxx
if (PPC64) SUBDIRS=$SUBDIRS yyy
for tree in $SUBDIRS

and the same with build targets.

seurer updated this revision to Diff 26523.May 26 2015, 10:53 AM
seurer edited edge metadata.

How does that look?

eugenis added inline comments.May 26 2015, 11:05 AM
zorg/buildbot/builders/sanitizers/buildbot_functions.sh
160–169

Missing ${extra_dirs} in this line?
You probably want to skip this step completely on PPC64.

seurer added inline comments.May 26 2015, 11:11 AM
zorg/buildbot/builders/sanitizers/buildbot_functions.sh
160–169

Oops, yeah. I will change this to just skip the whole thing.

seurer updated this revision to Diff 26526.May 26 2015, 11:12 AM

Updated diff

eugenis accepted this revision.May 26 2015, 11:15 AM
eugenis edited edge metadata.

LGTM

This revision is now accepted and ready to land.May 26 2015, 11:15 AM

+ subdirs='llvm llvm/tools/clang llvm/projects/compiler-rt'
+ llvm/projects/libcxx llvm/projects/libcxxabi llvm/tools/lld
/mnt/b/sanitizer-buildbot3/sanitizer-x86_64-linux-fast/sanitizer_buildbot/sanitizers/buildbot_functions.sh: line 23: llvm/projects/libcxx: Is a directory

if [ "$BUILDBOT_BUILDERNAME" != "sanitizer-ppc64-linux1" -a "$BUILDBOT_BUILDERNAME" != "sanitizer-ppc64le-linux" ]; then
  subdirs=${subdirs} llvm/projects/libcxx llvm/projects/libcxxabi llvm/tools/lld
fi

It looks like that is the line that broke things. Should the right hand side be in quotes?

if [ "$BUILDBOT_BUILDERNAME" != "sanitizer-ppc64-linux1" -a "$BUILDBOT_BUILDERNAME" != "sanitizer-ppc64le-linux" ]; then
  subdirs="${subdirs} llvm/projects/libcxx llvm/projects/libcxxabi llvm/tools/lld"
fi

Yeah, probably.