LLVM and clang on powerpc-darwin8

This page is dedicated to tracking the status of LLVM and clang on powerpc-apple-darwin8 (OS X 10.4). Support for this platform is waning, and I'd like to make a concerted effort to get a modern compiler working, as an alternative to GCC. The system compiler for darwin8 is Apple's port of g++-4.0.1 (build 5370), which comes with XCode 2.5. Although upstream LLVM no longer officially supports building with g++-4.0.1, it actually doesn't take much patching effort to build with it.

Release 3.0 status

Fink packaging

My fink packaging for llvm30 can be found here:
 llvm30.info
 llvm30.patch

The build uses dynamic shared libraries, which greatly reduces the size of compiled binaries. llvm30.info's PatchScript contains several little fixes to the cmake files to correctly link libraries.

The latest revision includes a patch (r147657) that fixes numerous PCH failures for powerpc (linux and darwin both affected). The debug trail for this issue can be found at this paste.

cmake options

fink build cmake options (%p=/sw, %v=3.0):

Test logs

Currently, this port builds and passes a majority of its tests, but the existing failures have yet to be scrutinized and fixed.

I've logged the results of make -k check-all for release-3.0 on powerpc-darwin8:
Test logs for 3.0, built on powerpc-darwin8 g++-4.0.1
unpatched .bz2
patched r147657 .bz2 Release: -O3 -DNDEBUG
patched r147657, -O0 .bz2 Using -O0 and with ENABLE_ASSERTIONS:ON (same test failures)
Alexander Hansen helped test the fink package on powerpc-darwin9.
Test logs for 3.0, built on powerpc-darwin9 g++-4.2.1
patched r147657 .bz2
These results look quite similar!

Release 3.1 status

Fink packaging

My fink packaging for llvm31 can be found here:
 llvm31.info
 llvm31.patch

This build is similar to release-3.0's build. The patch contains workaround for g++-4.0.1 and several cmake build fixes. It has been tested on i386-darwin10, x86_64-darwin11, which build a 3-stage bootstrap successfully, with pretty clean test results.

cmake options

same as before with 3.0

Test logs

I've logged the results of make -k check-all for release-3.1 on powerpc-darwin8:
Test logs for 3.1, built on powerpc-darwin8 g++-4.0.1
log .bz2 500+ test failures, many in CodeGen(Generic,PowerPC), LLVM::ExecutionEngine

Release 3.2 status

Fink packaging

My fink packaging for llvm32 can be found here:
 llvm32.info
 llvm32.patch

For this revision, only the native target is enabled. For non-PowerPC systems, the build undergoes a 3-stage bootstrap, validated on i686-darwin10, x86_64-darwin11. When tests are run, the logs are also saved to the share/docs/llvm32/testlogs directory (installed). The patch contains several backported patches from svn-trunk: driver fixes for PowerPC-Darwin.

cmake options

same as before with 3.1

Test logs

I've logged the results of make -k {check,check-clang} for release-3.2 on powerpc-darwin8:
Test logs for 3.2, built on powerpc-darwin8 g++-4.0.1
llvm-3.2 log .bz2 only 2 test failures: AllocatorTests/MappedMemory/*Write*
clang-3.2 log .bz2 11 test failures

Test results (not looking bad) are similar to builds #31 and #32 on svn-trunk.

Usage notes

Some amount of CodeGen actually works with this release, though there are known issues. I've actually compiled small toy programs successfully with this version. May need to compile with -no-integrated-as as MC infrastructure for PowerPC32 is incomplete, and replace -g with -gdwarf2 on darwin8.

Release 3.3 status

The powerpc-darwin8 tree has a corresponding release-3.3 sub-branch that will track the upstream release branch. No plans to backport/cherry-pick additional patches that are onto 3.4 and beyond. see:

Fink packaging

My fink packaging for llvm33 can be found here:
 llvm33.info
 llvm33.patch

Differences from 3.2 packaging:

Test logs

Test logs for 3.3, built on powerpc-darwin8 g++-4.0.1
llvm-3.3 log 4 test failures
clang-3.3 log 15 test failures
polly-3.3 log passed

Release 3.4 status

For each project, the powerpc-darwin8-rel-3.4 branch tracks the release_34 branch. Several crucial fixes that are in master, but missed the branch point have been backported to powerpc-darwin8. I intend to backport more fixes from master as they become available.
The patchsets can be obtained by diff-ing against the release_34 branch. My fink packaging for llvm34 can be found here:
 llvm34.info
 llvm34.patch
 llvm34-clang.patch
 llvm34-compiler-rt.patch
 llvm34-polly.patch
Distribution-specific versions can be found in their respective trees, like 10.4-EOL, 10.5-EOL, 10.7 etc.

Differences from 3.3 packaging:

SVN trunk status (to 3.5)

I don't actually have a buildbot setup, but instead, I manually update and re-build whenever I feel like it.

git fork/branches

I now maintain patches on a git fork that tracks the master branches on llvm.org/git. The patch links use live branch tags, and will change over time.

Patches

Update 2013-03-04: patches will no longer be kept here. Instead grab them from the respective git branch snapshots.
My local edits to llvm and clang on svn-trunk (newest to oldest)
llvmclang
2013-02-28, r175024b llvm-local-r175024b.patch clang-local-r175024b.patch
2013-02-12, r174335 llvm-local-r174335.patch clang-local-r174335.patch
2013-01-22, r173212 llvm-local-r173212.patch clang-local-r173212.patch
2012-12-31, r171260 llvm-local-r171260.patch clang-local-r171260.patch
2012-12-18, r170308 llvm-local-r170308.patch clang-local-r170308.patch
2012-12-10, r169799 llvm-local-r169799.patch clang-local-r169799.patch
2012-11-09, r167609 llvm-local-r167609.patch clang-local-r167609.patch
2012-11-06, r167261 llvm-local-r167261.1.patch clang-local-r167261.1.patch
2012-10-31, r167161 llvm-local-r167161.patch clang-local-r167161.patch
2012-05-19 llvm-local.patch clang-local.patch
Patches may contain some extra debug code, but it should be turned off in all places.

cmake options

manual build cmake options:

Test logs

I've logged the results of make -k check-all for svn-trunk:
Test logs for svn-trunk, built on powerpc-darwin8 g++-4.0.1 (oldest to newest)
#2 r146586 .bz2
#3 r147679 .bz2 600 new unexpected failures, fixed many PCH failures (by r147657)
#4 r148107 .bz2
#5 r148316 .bz2
#6 r149127 .bz2 60 fewer unexpected failures
#7 r149615 .bz2
#8 r149887 .bz2
#9 r150197 .bz2
#10 r150570 .bz2
#11 r151623 .bz2 catastrophic failure: codegen tests hung infinite loops, many tests killed, possibly misbuilt w.r.t. threads
#12 r152354 .bz2 back to 'normal', 900+ failures
#13 r153166 .bz2 back to 800+ failures
#14 r153429 .bz2 back to 790+ failures
#15 r153893 .bz2 ENABLE_ASSERTIONS:ON, 2500+ failures, mostly CodeGen, very few unique assertion failures
#16 r153893 .bz2 -O1, ENABLE_ASSERTIONS:ON, 2500+ failures, mostly CodeGen, identical to -O3 (previous)
#17 r153893 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, 60+ failures, mostly LLVM:ExecutionEngine (amazing!)
#18 r154312 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, 100+ failures, mostly LLVM:ExecutionEngine
#19 r154783 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, 60+ failures, mostly LLVM:ExecutionEngine, clang tests didn't run
#20 r155326 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, <60 failures, LLVM:ExecutionEngine and clang
#21 r155839 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, 360+ failures, LLVM:ExecutionEngine,Tooling Clang:Index,CodeGen
#22 r156555 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, 430+ failures, LLVM:ExecutionEngine,Tooling Clang:Index,Analysis,CodeGen
#23 r157121 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, 3000+ failures, LLVM:ExecutionEngine,Tooling Clang:Index,Analysis,CodeGen (all targets)
#24 r158338 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, 3000+ failures, LLVM:ExecutionEngine,Tooling Clang:Index,Analysis,CodeGen (all targets)
#25 r159788 .bz2 Debug -g, ENABLE_ASSERTIONS:ON, 3000+ failures, LLVM:ExecutionEngine,Tooling Clang:Index,Analysis,CodeGen (all targets)
#26 llvm-r167161
clang-r167161
.bz2
.bz2
LLVM: Debug -g, ENABLE_ASSERTIONS:ON, only 14 failures, LLVM:Analysis/Profiling,AllocationTests/MappedMemory.
Clang: too many assertion failures, aborted after 130 tests. Many "Signedness mismatch" and "bitwidth too small" errors.
#27 llvm-r167261
clang-r167261
.bz2
.bz2
LLVM: Debug -g, ENABLE_ASSERTIONS:ON, only 10 failures, LLVM:AllocationTests/MappedMemory. bug 14278
Clang: patched to remove LLVM_READONLY. 735/5500+ failures, very few crashes. Many failures: unknown target triple 'unknown-apple-darwin8.11.0'
#28 clang-r167261.1 .bz2 Clang: patched in powerpc cases to driver, fixes 'unknown target triple'. Only 21/5500+ failures, very few assert-fails!
#29 llvm-r167609
clang-r167609
.bz2
.bz2
LLVM: Same 10/6200+ failures: in AllocatorTests/MappedMemoryTests
Clang: Only 20/5500+ failures, several CodeGen
#30 llvm-r167855
clang-r167855
clang-r167855.1
.bz2
.bz2
.bz2
LLVM: 11/6200+ failures: same as previous +1 new: Object/coff-archive.test
Clang: Only 13/5500+ failures, after fix for bug 11777! (with Driver/Driver.cpp patch from bug 14275)
Clang: Only 17/5500+ failures, after fix for bug 11777! (without Driver/Driver.cpp patch from bug 14275)
#31 llvm-r168581
clang-r168581
.bz2
.bz2
LLVM: 2 failures: AllocatorTests/MappedMemory/*Write* (partially patched in bug 14278)
Clang: 15 failures. Several Driver tests. Using Darwin_Generic_GCC toolchain.
#32 llvm-r169799
clang-r169799
.bz2
.bz2
LLVM: 1 failure: DebugInfo/two-cus-from-same-file.ll
Clang: 11 failures. Using DarwinClang toolchain. (partially patched in bug 3830)
#33 llvm-r170308
clang-r170308
.bz2
.bz2
LLVM: 1 failure: DebugInfo/two-cus-from-same-file.ll
Clang: 11 failures. Using DarwinClang toolchain. Same as previous.
#34 llvm-r171260
clang-r171260
.bz2
.bz2
LLVM: 1 failure: Same as previous.
Clang: 11 failures. Same as previous.
#35 llvm-r173212
clang-r173212
.bz2
.bz2
LLVM: 2 failures: Similar to previous, both related to missing Mach-O/PPC.
Clang: 11 failures. Same as previous.
#36 llvm-r174335
clang-r174335
.bz2
.bz2
LLVM: 3 failures: All due to missing Mach-O/PPC.
Clang: 13 failures. 2 new: Driver/output-file-cleanup.c, Driver/output-file-is-dir.c
#37 llvm-r175024
clang-r175024
.bz2
.bz2
LLVM: 4 failures: All due to missing Mach-O/PPC.
Clang: 32 failures. new: BasicTests/SourceManagerTest (crash), Format/FormatTests (whitespace diffs), Lex/LexTests (crash)
#37b llvm-r175024b
clang-r175024b
.bz2
.bz2
LLVM: 4 failures: 3 due to unhandled RELOC_PPC_VANILLA in DWARF code now, one due to replacing bcl instruction w/ bl.
Clang: 25 failures. new: BasicTests/SourceManagerTest (crash), Format/FormatTests (whitespace diffs), Lex/LexTests (crash)

Test logs for github:fangism/{llvm,clang}/powerpc-darwin8, built on powerpc-darwin8 g++-4.0.1 (oldest to newest)
build svn(master) date git diff master...
powerpc-darwin8
test log bz2 remarks
#37c r175024 2013-03-04 llvm
clang
llvm-r175024c
clang-r175024c
.bz2
.bz2
LLVM: 4 failures: Same as #37b.
Clang: 13 failures. Same as #36.
#38 r176513 2013-03-06 llvm
clang
llvm-r176513
clang-r176513
.bz2
.bz2
LLVM: 3 failures: Subset of #37c.
Clang: 13 failures. Same as #36.
#38b r176513 (patched)
+macho-indirect-symbol
2013-03-12 llvm
clang
llvm-r176513b
clang-r176513b
.bz2
.bz2
LLVM: 5 failures: Same as #38 +2 mach-o indirect-symbol test diffs (expected). See bug 14636.
Clang: 13 failures. Same as #38.
#39 r176996 2013-03-14 llvm
clang
llvm-r176996
clang-r176996
.bz2
.bz2
LLVM: 3 failures: Same as #38b, patched mach-o indirect-symbol tests with new ordering.
Clang: 13 failures. Same as #38b.
#40 r177690 2013-03-22 llvm
clang
llvm-r177690
clang-r177690
.bz2
.bz2
LLVM: 4 failures: Similar to #39
Clang: 18 failures. Similar to #39.
#41 r177835 2013-03-24 llvm
clang
llvm-r177835
clang-r177835
.bz2
.bz2
LLVM: 3 failures: Similar to #40, merge fixed bug 14286
Clang: 11 failures. Similar to #39b, worked around test issue 15578.
#42 r178332 2013-03-31 llvm
clang
llvm-r178332
clang-r178332
.bz2
.bz2
LLVM: 3 failures: Same as #41 (this merged in tons of PPC updates from master)
Clang: 12 failures. Similar to #41
#43 r178851 2013-04-05 llvm
clang
llvm-r178851
clang-r178851
.bz2
.bz2
LLVM: 5 failures: Those in #42, ExecutionEngine/test-interp-vec-loadstore.ll, tools/llvm-readobj/sections-ext.test
Clang: 12 failures. Same as #42
#44 r179582 2013-04-13 llvm
clang
llvm-r179582
clang-r179582
.bz2
.bz2
LLVM: 4 failures: Similar to #43, ExecutionEngine/test-interp-vec-loadstore.ll
Clang: 13 failures. Similar to #43
#45 r180052 2013-04-23 llvm
clang
llvm-r180052
clang-r180052
.bz2
.bz2
LLVM: 1 failure: ExecutionEngine/test-interp-vec-loadstore.ll
Clang: 11 failures. Similar to #44
#45b r180052 (-O1) 2013-04-24 llvm
clang
llvm-r180052-O1
clang-r180052-O1
.bz2
.bz2
LLVM: 1 failure: ExecutionEngine/test-interp-vec-loadstore.ll
Clang: 15 failures. Similar to #45, plus few more crash-recovery test failures
#45c r180052 (-O2) 2013-04-25 llvm
clang
llvm-r180052-O2
clang-r180052-O2
.bz2
.bz2
LLVM: 1 failure: Same as #45 and #45b
Clang: 15 failures. Same as #45b
#46 r180675 (-O2) 2013-04-28 llvm
clang
llvm-r180675-O2
clang-r180675-O2
.bz2
.bz2
LLVM: 1 failure: Same as #45c
Clang: 15 failures. Same as #45c
#47 r181272 (-O2)
3.3 branch point
2013-05-08 llvm
clang
llvm-r181272-O2
clang-r181272-O2
.bz2
.bz2
LLVM: 1 failure: Same as #46
Clang: 15 failures. Same as #46
#48 r181496 (-O2)
towards 3.4
2013-05-09 llvm
clang
llvm-r181496-O2
clang-r181496-O2
.bz2
.bz2
LLVM: 1 failure: Same as #47
Clang: 15 failures. Same as #47
#49 r181825 (-O2) 2013-05-14 llvm
clang
llvm-r181825-O2
clang-r181825-O2
.bz2
.bz2
LLVM: 1 failure: Same as #48
Clang: 16 failures. Same as #47, clang:Index/annotate-deep-statements.cpp
#50 r182043 (-O2) 2013-05-16 llvm
clang
llvm-r182043-O2
clang-r182043-O2
.bz2
.bz2
LLVM: 1 failure: Same as #49
Clang: 15 failures. Same as #47
#51 r182620 (-O2) 2013-05-24 llvm
clang
llvm-r182620-O2
clang-r182620-O2
.bz2
.bz2
LLVM: 1 failure: Same as #49
Clang: 16 failures. Same as #47, plus Format/style-on-command-line.cpp
#52 r182745 (-O2) 2013-05-28 llvm
clang
llvm-r182745-O2
clang-r182745-O2
.bz2
.bz2
LLVM: 1 failure: Same as #49
Clang: 16 failures. Same as #51
#53 r183541 (-O2) 2013-06-09 llvm
clang
llvm-r183541-O2
clang-r183541-O2
.bz2
.bz2
LLVM: 2 failures: Same as #51, plus Linker/transitive-lazy-link.ll
Clang: 17 failures. Same as #52, Index/annotate-deep-statements.cpp
#54 r184211 (-O2) 2013-06-18 llvm
clang
llvm-r184211-O2
clang-r184211-O2
.bz2
.bz2
LLVM: 3 failures: Same as #53, plus Other/can-execute.txt
Clang: 16 failures. Same as #52
#55 r184766 (-O2) 2013-06-25 llvm
clang
llvm-r184766-O2
clang-r184766-O2
.bz2
.bz2
LLVM: 3 failures: Same as #54
Clang: 17 failures. Same as #54, plus Index/annotate-deep-statements.cpp
#56 r185121 (-O2) 2013-06-29 llvm
clang
llvm-r185121-O2
clang-r185121-O2
.bz2
.bz2
LLVM: 4 failures: Same as #55, plus CodeGen/X86/3dnow-intrinsics.ll
Clang: 16 failures. Same as #54
#57 r185852 (-O2) 2013-07-08 llvm
clang
llvm-r185852-O2
clang-r185852-O2
.bz2
.bz2
LLVM: 3 failures: Same as #55
Clang: 18 failures. Same as #55, plus Analysis/html-diags.c
#58 r186054 (-O2) 2013-07-11 llvm
clang
llvm-r186054-O2
clang-r186054-O2
.bz2
.bz2
LLVM: 5 failures: Same as #55, plus CodeGen/X86/nonconst-static-ev.ll, CodeGen/X86/nonconst-static-iv.ll
Clang: 17 failures. Same as #57, minus Index/annotate-deep-statements.cpp
#59 r186332 (-O2) 2013-07-15 llvm
clang
llvm-r186332-O2
clang-r186332-O2
.bz2
.bz2
LLVM: 3 failures: Same as #55
Clang: 17 failures. Same as #58
#60 r186533 (-O2) 2013-07-18 llvm
clang
llvm-r186533-O2
clang-r186533-O2
.bz2
.bz2
LLVM: 25 failures!: Same as #59, plus Analysis/Profiling and ExecutionEngine tests
Clang: 18 failures. Same as #59, plus Index/annotate-deep-statements.cpp
#61 r186828 (-O2) 2013-07-22 llvm
clang
llvm-r186828-O2
clang-r186828-O2
.bz2
.bz2
LLVM: 25 failures!: Same as #60. (Recent regressions now fixed by r187027)
Clang: 18 failures. Same as #60
#62 r187158 (-O2) 2013-07-26 llvm
clang
llvm-r187158-O2
clang-r187158-O2
.bz2
.bz2
LLVM: 4 failures: Same as #55, plus Other/umask.ll
Clang: 19 failures. Same as #60, plus Analysis/crash-trace.c
#63 r187349 (-O2) 2013-07-29 llvm
clang
llvm-r187349-O2
clang-r187349-O2
.bz2
.bz2
LLVM: 5 failures: Same as #62, plus Other/pipefail.ll
Clang: 18 failures. Same as #60
#64 r187618 (-O2) 2013-08-01 llvm
clang
llvm-r187618-O2
clang-r187618-O2
.bz2
.bz2
LLVM: 4 failures: Same as #62
Clang: 18 failures. Same as #60
#65 r187808 (-O2) 2013-08-06 llvm
clang
llvm-r187808-O2
clang-r187808-O2
.bz2
.bz2
LLVM: 3 failures: Same as #62, minus test-interp-vec-loadstore.ll
Clang: 18 failures. Same as #60
#66 r188200 (-O2) 2013-08-12 llvm
clang
llvm-r188200-O2
clang-r188200-O2
.bz2
.bz2
LLVM: 4 failures: Same as #65, plus MC/ELF/comp-dir.s
Clang: 20 failures. Same as #65, plus Tooling/auto-detect-from-source-parent-of-cwd.cpp, Tooling/clang-check-pwd.cpp
#67 r188808 (-O2) 2013-08-21 llvm
clang
llvm-r188808-O2
clang-r188808-O2
.bz2
.bz2
LLVM: 3 failures: Same as #66, minus Other/can-execute.txt
Clang: 23 failures. Same as #66, plus SemaCXX/warn-consumed-analysis, Parser/crash-report.c
#68 r189234 (-O2) 2013-08-26 llvm
clang
llvm-r189234-O2
clang-r189234-O2
.bz2
.bz2
LLVM: 4 failures: Same as #67, plus Transforms/SLPVectorizer/X86/insert-element-build-vector.ll
Clang: 23 failures. Same as #67
#69 r189830 (-O2) 2013-09-04 llvm
clang
llvm-r189830-O2
clang-r189830-O2
.bz2
.bz2
LLVM: 4 failures: Same as #66, plus DebugInfo/llvm-symbolizer.test, Object/archive-symtab.test
Clang: 21 failures. Same as #67, plus ASTMatchers/Dynamic/DynamicASTMatchersTests/RegistryTest.Errors, minus Format/style-on-command-line.cpp, Frontend/verify.c, Index/annotate-deep-statements.cpp
#70 r190317 (-O2) 2013-09-10 llvm
clang
llvm-r190317-O2
clang-r190317-O2
.bz2
.bz2
LLVM: 4 failures: Same as #69
Clang: 21 failures. Same as #69
#71 r190775 (-O2) 2013-09-17 llvm
clang
llvm-r190775-O2
clang-r190775-O2
.bz2
.bz2
LLVM: 4 failures: Same as #69
Clang: 21 failures. Same as #69
#72 r191209 (-O2) 2013-09-24 llvm
clang
llvm-r191209-O2
clang-r191209-O2
.bz2
.bz2
LLVM: 5 failures: Same as #69, plus Object/archive-extract-dir.test
Clang: 22 failures. Same as #69, plus Index/annotate-deep-statements.cpp
#73 r191696 (-O2) 2013-10-01 llvm
clang
llvm-r191696-O2
clang-r191696-O2
.bz2
.bz2
LLVM: 4 failures: Same as #69
Clang: 23 failures. Same as #72
#74 r192608 (-O2) 2013-10-05 llvm
clang
llvm-r192608-O2
clang-r192608-O2
.bz2
.bz2
LLVM: 4 failures: Same as #69
Clang: 23 failures. Same as #72
#75 r192115 (-O2) 2013-10-15 llvm
clang
llvm-r192115-O2
clang-r192115-O2
.bz2
.bz2
LLVM: 204 failures: lots of CodeGen/PowerPC, some CodeGen/ARM, some DebugInfo/PowerPC
Clang: 21 failures.
#76 r193096 (-O2) 2013-10-22 llvm
clang
compiler-rt
llvm-r193096-O2
clang-r193096-O2
--
.bz2
.bz2
--
LLVM: 4 failures: same as #69
Clang: 21 failures: same as #75
#77 r193509 (-O2) 2013-10-28 llvm
clang
compiler-rt
llvm-r193509-O2
clang-r193509-O2
--
.bz2
.bz2
--
LLVM: 4 failures: same as #69
Clang: 22 failures: same as #75, plus Misc/permissions.cpp
#78 r194001 (-O2) 2013-11-04 llvm
clang
compiler-rt
llvm-r194001-O2
clang-r194001-O2
--
.bz2
.bz2
--
LLVM: 4 failures: same as #69
Clang: 22 failures: same as #75
#79 r194745
(-O2, cctools-698)
2013-11-14 llvm
clang
compiler-rt
llvm-r194745-O2
clang-r194745-O2
--
.bz2
.bz2
--
LLVM: 5 failures: same as #69, plus tools/llvm-cov/llvm-cov.test
Clang: 21 failures: same as #75, minus Index/ms-asm-no-target.cpp
#80 r195078
(-O2, cctools-698)
2013-11-21 llvm
clang
compiler-rt
llvm-r195078-O2
clang-r195078-O2
--
.bz2
.bz2
--
LLVM: 4 failures: same as #69
Clang: 21 failures: same as #75
#81 r195504
(apple-g++-4.0.1,
-O2, cctools-698)
2013-11-25 llvm
clang
compiler-rt
llvm-r195504-O2
clang-r195504-O2
--
.bz2
.bz2
--
LLVM: 2 failures: same as #69 (improved TestRunner)
Clang: 14 failures: same as #75 (mostly crash-tests and ObjC, improved TestRunner)
#82 r195934
(apple-g++-4.0.1,
-O2, cctools-698)
2013-12-01 llvm
clang
compiler-rt
llvm-r195934-O2
clang-r195934-O2
--
.bz2
.bz2
--
LLVM: 2 failures: same as #81
Clang: 14 failures: same as #81, plus Frontend/rewrite-includes-bom.c
#83 r196472
(apple-g++-4.0.1,
-O2, cctools-698)
2013-12-05 llvm
clang
compiler-rt
llvm-r196472-O2
clang-r196472-O2
--
.bz2
.bz2
--
LLVM: 2 failures: same as #81
Clang: 14 failures: same as #81, plus Driver/ccc-host-triple-no-integrated-as.c
#84 r197113
(apple-g++-4.0.1,
-O2, cctools-698)
2013-12-11 llvm
clang
compiler-rt
llvm-r197113-O2
clang-r197113-O2
--
.bz2
.bz2
--
LLVM: 5 failures: same as #81, plus CodeGen/PowerPC/tls-pic.ll, CodeGen/PowerPC/tls.ll, ExecutionEngine/test-fp.ll
Clang: 15 failures: same as #81, plus Index/comment-to-html-xml-conversion.cpp
#85 r197439
(apple-g++-4.0.1,
-O2, cctools-698)
2013-12-17 llvm
clang
compiler-rt
llvm-r197439-O2
clang-r197439-O2
--
.bz2
.bz2
--
LLVM: 3 failures: same as #81, ExecutionEngine/test-fp.ll
Clang: 15 failures: same as #84
#86 r197897
(apple-g++-4.0.1,
-O2, cctools-698)
2013-12-23 llvm
clang
compiler-rt
llvm-r197897-O2
clang-r197897-O2
--
.bz2
.bz2
--
LLVM: 2 failures: same as #81
Clang: 15 failures: same as #84
#86.2a
(stage-2!)
r197897 +FDE patch
(clang-3.5 from #86,
-O0 -no-integraed-as)
2013-12-24 llvm
clang
compiler-rt
llvm-r197897-O0
clang-r197897-O0
--
.bz2
.bz2
--
LLVM: 9 failures: same as #81, plus Analysis/CostModel/X86/testshiftshl.ll, CodeGen/Generic/APIntLoadStore.ll, CodeGen/X86/sse2-mul.ll, ...
Clang: 11 failures: mostly ObjC and crash-recovery tests
#86.2b
(stage-2!)
r197897 +FDE patch
(clang-3.5 from #86,
-O1 -no-integraed-as)
2013-12-25 llvm
clang
compiler-rt
llvm-r197897-O1
clang-r197897-O1
--
.bz2
.bz2
--
LLVM: 28 failures: same as #81, plus CodeGen/fast-isel, ...
Clang: 9 failures: same as #86.2a
#87 release-3.4 RC1
(apple-g++-4.0.1,
-O2, cctools-698)
2014-01-03 llvm
clang
compiler-rt
llvm-3.4-RC1
clang-3.4-RC1
--
.bz2
.bz2
--
LLVM: 2 failures: same as #81
Clang: 13 failures: mostly crash-recovery and ObjC related
#88 r198872
(apple-g++-4.0.1,
-O2, cctools-698)
2014-01-10 llvm
clang
compiler-rt
llvm-r198872-O2
clang-r198872-O2
--
.bz2
.bz2
--
LLVM: 2 failures: same as #81
Clang: 11 failures: mostly crash-recovery and ObjC related
#89 r199553
(apple-g++-4.0.1,
-O2, cctools-698)
2014-01-18 llvm
clang
compiler-rt
llvm-r199553-O2
clang-r199553-O2
--
.bz2
.bz2
--
LLVM: 2 failures: same as #81
Clang: 11 failures: same as #88
#90 r200309
(apple-g++-4.0.1,
-O2, cctools-698)
2014-01-28 llvm
clang
compiler-rt
llvm-r200309-O2
clang-r200309-O2
compiler-rt-r200309-O2
.bz2
.bz2
.bz2
LLVM: 2 failures: same as #81
Clang: 11 failures: same as #88
compiler-rt: 6 failures: divdc3_test, divsc3_test, divtc3_test, muldc3_test, mulsc3_test, multc3_test
#91 r200794
(apple-g++-4.0.1,
-O2, cctools-698)
2014-02-04 llvm
clang
compiler-rt
llvm-r200794-O2
clang-r200794-O2
compiler-rt-r200794-O2
.bz2
.bz2
.bz2
LLVM: 2 failures: same as #81
Clang: 10 failures: same as #88, minus Index/annotate-deep-statements.cpp
compiler-rt: 6 failures: divdc3_test, divsc3_test, divtc3_test, muldc3_test, mulsc3_test, multc3_test
#92 r201116
(apple-g++-4.0.1,
-O2, cctools-698)
2014-02-10 llvm
clang
compiler-rt
llvm-r201116-O2
clang-r201116-O2
compiler-rt-r201116-O2
.bz2
.bz2
.bz2
LLVM: 2 failures: same as #81
Clang: 11 failures: same as #88
compiler-rt: 6 failures: unchanged
#93 r201507
(apple-g++-4.0.1,
-O2, cctools-698)
2014-02-17 llvm
clang
compiler-rt
llvm-r201507-O2
clang-r201507-O2
compiler-rt-r201507-O2
.bz2
.bz2
.bz2
LLVM: 2 failures: same as #81
Clang: 11 failures: same as #88
compiler-rt: 6 failures: divdc3_test, divsc3_test, divtc3_test, muldc3_test, mulsc3_test, multc3_test
#94 r202302
(apple-g++-4.0.1,
-O2, cctools-698)
2014-02-27 llvm
clang
compiler-rt
llvm-r202302-O2
clang-r202302-O2
compiler-rt-r202302-O2
.bz2
.bz2
.bz2
LLVM: 2 failures: same as #81
Clang: 11 failures: same as #88
compiler-rt: --
#95 r202541 (last pre-C++11)
(apple-g++-4.0.1,
-O2, cctools-698)
2014-03-01 llvm
clang
compiler-rt
llvm-r202541-O2
clang-r202541-O2
compiler-rt-r202541-O2
.bz2
.bz2
.bz2
LLVM: 6 failures: same as #81, plus reg-to-reg-copy [bug 19028]
Clang: 12 failures: same as #88, plus
compiler-rt: --

r202541 is the last revision of trunk before -std=c++11 is required by the host compiler. Although at this point, both trunk and the release-3.4 branch contain known bugs, such as ABI/data-layout incompatibility, we are still able to build llvm/clang using the release-3.4 branch (fink-packaged at revision -0e), including libc++. As we continue to fix against trunk, we will backport relevant fixes to the release-3.4 branch. Onward to 3.5!

Test logs for github:fangism/{llvm,clang}/powerpc-darwin8, built on powerpc-darwin8 with clang-3.4 (oldest to newest)
build svn(master)
git tag
host compiler date git diff master...
powerpc-darwin8-C++11
test log (bz2) remarks
#95b r202541 clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-03-05 llvm
clang
compiler-rt
llvm-r202541-O0
clang-r202541-O0
--
LLVM: 6 failures: same as #95
Clang: 8 failures: subset of #95
compiler-rt: --
#96 r203045 clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-03-07 llvm
clang
compiler-rt
llvm-r203045-O0
clang-r203045-O0
--
LLVM: 2 failures: same as #81
Clang: 8 failures: same as #95b
compiler-rt: --
#97 r203448 clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-03-10 llvm
clang
compiler-rt
llvm-r203448-O0
clang-r203448-O0
--
LLVM: 2 failures: same as #81
Clang: 6 failures: subset of #96
compiler-rt: --
#98 r203596 clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-03-12 llvm
clang
compiler-rt
llvm-r203596-O0
clang-r203596-O0
--
LLVM: 2 failures: same as #81
Clang: 8 failures: subset of #96, plus
compiler-rt: --
#99 r204049
powerpc-darwin8-C++11-99
clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-03-17 llvm
clang
compiler-rt
llvm-r204049-O0
clang-r204049-O0
--
LLVM: 2 failures: same as #81
Clang: 8 failures: subset of #96, plus
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#100 r204252
powerpc-darwin8-C++11-100
clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-03-27 llvm
clang
compiler-rt
llvm-r204252-O0
clang-r204252-O0
--
LLVM: 2 failures: same as #81 (patch-fixed OS version asm directive)
Clang: 8 failures: same as #99
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#101 r205476
powerpc-darwin8-C++11-101
clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-04-03 llvm
clang
compiler-rt
llvm-r205476-O0
clang-r205476-O0
--
LLVM: 3 failures: same as #81, plus tools/llvm-cov/copy_block_helper.m
Clang: 8 failures: same as #99
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#102 r206917
powerpc-darwin8-C++11-102
clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-04-22 llvm
clang
compiler-rt
llvm-r206917-O0
clang-r206917-O0
--
LLVM: 3 failures: same as #101
Clang: 9 failures: same as #99, plus CodeGenCXX/debug-info-template-partial-specialization.cpp
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#103 r209455
powerpc-darwin8-C++11-103
clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-06-01 llvm
clang
compiler-rt
llvm-r209455-O0
clang-r209455-O0
--
LLVM: 6 failures: same as #101, plus CodeGen/X86/musttail, tools/llvm-cov/range_based_for.cpp
Clang: 9 failures: same as #102
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#104 r210125
powerpc-darwin8-C++11-104
clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-06-08 llvm
clang
compiler-rt
llvm-r210125-O0
clang-r210125-O0
--
LLVM: 6 failures: same as #103
Clang: 9 failures: same as #102
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#105 r210489
powerpc-darwin8-C++11-105
clang++-3.4-0e -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-06-10 llvm
clang
compiler-rt
llvm-r210489-O0
clang-r210489-O0
--
LLVM: 7 failures: same as #103, plus DebugInfo/missing-abstract-variable.ll
Clang: 9 failures: same as #102
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#106 r211613
powerpc-darwin8-C++11-106
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-06-24 llvm
clang
compiler-rt
llvm-r211613-O0
clang-r211613-O0
--
LLVM: 9 failures: same as #105, plus DebugInfo/global.ll, Transforms/LoopUnroll/unroll-pragmas.ll
Clang: 9 failures: same as #102
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#107 r212748
powerpc-darwin8-C++11-107
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-07-12 llvm
clang
compiler-rt
llvm-r212748-O0
clang-r212748-O0
--
LLVM: 11 failures: same as #106, plus ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s, ExecutionEngine/RuntimeDyld/macho_relocations.test
Clang: 9 failures: same as #102
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#108 r213572
powerpc-darwin8-C++11-108
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-07-21 llvm
clang
compiler-rt
llvm-r213572-O0
clang-r213572-O0
--
LLVM: 11 failures: same as #106
Clang: 10 failures: same as #102, plus Driver/cl-x86-flags.c
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#109 r214445
powerpc-darwin8-C++11-109
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-08-01 llvm
clang
compiler-rt
llvm-r214445-O0
clang-r214445-O0
--
LLVM: 13 failures: same as #106, plus ExecutionEngine/RuntimeDyld/ARM/MachO_ARM_PIC_relocations.s, ExecutionEngine/RuntimeDyld/X86/MachO_x86-64_PIC_relocations.s
Clang: 9 failures: same as #102
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#110 r215366
powerpc-darwin8-C++11-110
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-08-11 llvm
clang
compiler-rt
llvm-r215366-O0
clang-r215366-O0
--
LLVM: 13 failures: same as #109
Clang: 9 failures: same as #102
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#111 r215938
powerpc-darwin8-C++11-111
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-08-19 llvm
clang
compiler-rt
llvm-r215938-O0
clang-r215938-O0
--
LLVM: 13 failures: same as #109
Clang: 9 failures: same as #102
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#112 r216413
powerpc-darwin8-C++11-112
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-08-26 llvm
clang
compiler-rt
llvm-r216413-O0
clang-r216413-O0
--
LLVM: 17 failures: same as #109, plus several llvm-cov
Clang: 8 failures: same as #102, minus ARCMT/objcmt/numeric-literals.m (patched by Iain)
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#113 r216921
powerpc-darwin8-C++11-113
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-09-02 llvm
clang
compiler-rt
llvm-r216921-O0
clang-r216921-O0
--
LLVM: 17 failures: same as #112
Clang: 8 failures: same as #112
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#114 r217404
powerpc-darwin8-C++11-114
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-09-08 llvm
clang
compiler-rt
llvm-r217404-O0
clang-r217404-O0
--
LLVM: 66 failures: same as #112, plus ExecutionEngine/* (unreachable) [lhames, due to killing off old JIT at r216982]
Clang: 8 failures: same as #112
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#115 r218257
powerpc-darwin8-C++11-115
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-09-22 llvm
clang
compiler-rt
llvm-r218257-O0
clang-r218257-O0
--
LLVM: 68 failures: same as #114, plus ...
Clang: 8 failures: same as #112
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#116 r219128
powerpc-darwin8-C++11-116
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-10-06 llvm
clang
compiler-rt
llvm-r219128-O0
clang-r219128-O0
--
LLVM: 71 failures: same as #115, plus CodeGen/PowerPC/hello-reloc.ll, MC/MachO/symbol-indirect.s, tools/llvm-cov/report.cpp, tools/llvm-cov/showTemplateInstantiations.cpp
Clang: 9 failures: same as #112, plus CodeGen/builtins-ppc-altivec.c
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#117 r220304
powerpc-darwin8-C++11-117
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-10-21 llvm
clang
compiler-rt
llvm-r220304-O0
clang-r220304-O0
--
LLVM: 69 failures: same as #116, minus ExecutionEngine/RuntimeDyld/X86/MachO_i386_DynNoPIC_relocations.s and CodeGen/PowerPC/hello-reloc.ll
Clang: 10 failures: same as #116, plus OpenMP/parallel_firstprivate_codegen.cpp
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#118 r221794
powerpc-darwin8-C++11-118
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-11-13 llvm
clang
compiler-rt
llvm-r221794-O0
clang-r221794-O0
--
LLVM: 42 failures: in-progress mach-o PPC JIT for ExecutionEngine
Clang: 9 failures: same as #117, minus CodeGen/builtins-ppc-altivec.ll
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#119 r223055
powerpc-darwin8-C++11-119
clang++-3.4.2-1 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-12-01 llvm
clang
compiler-rt
llvm-r223055-O0
clang-r223055-O0
--
LLVM: 54 failures: same as #118, plus DebugIR unit tests (bogus, deleted)
Clang: 9 failures: same as #118
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#120 r224400
powerpc-darwin8-C++11-120
clang++-3.4.2-3 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2014-12-17 llvm
clang
compiler-rt
llvm-r224400-O0
clang-r224400-O0
--
LLVM: 60 failures: same as #119, plus some MC tests (ignore DebugIR and Object stale unit tests)
Clang: 20 failures: same as #119, plus some CodeGen, Index, Integration, Sema
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#121 r225991 (3.6 base)
powerpc-darwin8-C++11-121
clang++-3.4.2-3 -std=c++11
-stdlib=libc++ -no-integrated-as
-O0, cctools-698
2015-02-09 llvm
clang
compiler-rt
llvm-r225991-O0
clang-r225991-O0
--
LLVM: 64 failures: mostly ExecutionEngine
Clang: 13 failures:
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#122 r236644
powerpc-darwin8-C++11-122
clang++-3.4.2-3 -std=c++11
-stdlib=libc++ -O2 -g
2015-07-05 llvm
clang
compiler-rt
llvm-r236644-O0
clang-r236644-O0
--
LLVM: failed to start tests (bogus dep on llvm-go)
Clang: 12 failures:
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
#123 r242220
powerpc-darwin8-C++11-123
clang++-3.4.2-3 -std=c++11
-stdlib=libc++ -O2 -g
2015-07-23 llvm
clang
compiler-rt
llvm-r242220-O0
clang-r242220-O0
--
LLVM: 19 failures:
Clang: 14 failures:
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
3.7-rc1 --
[powerpc-darwin8-C++11-rel-3.7]
clang++-3.4.2-3 -std=c++11
-stdlib=libc++ -O2 -g
2015-07-25 llvm
clang
compiler-rt
llvm-rel-3.7-rc1-O0
clang-rel-3.7-rc1-O0
--
LLVM: 19 failures:
Clang: 14 failures:
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32
3.7-rc2 --
[powerpc-darwin8-C++11-rel-3.7]
clang++-3.4.2-3 -std=c++11
-stdlib=libc++ -O2 -g
2015-08-02 llvm
clang
compiler-rt
llvm-rel-3.7-rc2-O0
clang-rel-3.7-rc2-O0
--
LLVM: 19 failures:
Clang: 16 failures:
compiler-rt: fails to link ASan, missing 64b atomic functions on PPC32

compiler-rt status

Patched on powerpc-darwin8 branch. It builds. Not really tested yet. Mostly interested in just libclang_rt.ppc, not interested in the various Sanitizer (yet).
Current diff (live): compiler-rt:master..powerpc-darwin8

libc++ status

On darwin, libc++ requires libc++abi (or libcxxrt or libsupc++).
Current (live) patches: libc++:master..powerpc-darwin8
Release-3.4 branch patches: libc++:release_34..powerpc-darwin8-rel-3.4

Building libc++abi

libc++abi seems to require a c++0x compiler, so we can use our stage1-clang.
It also depends on libunwind, but libunwind is provided by the system's libgcc, so I've used that for now, though I'm aware of other alternatives.
No source patch necessary for powerpc-darwin8, just use tip-of-trunk/master.
Instead of the "buildit" script, I use this Makefile to build libcxxabi on powerpc-darwin8. Previously tests were all failing due to EH frame incompatibility: but with EH-frame/FDE patches from Iain Sandoe, the tests pass ALL but 2! His patch has been committed to trunk. Even if we do not use libc++abi to build libc++, this proves that most of EH frame code generation is now working.

Using libsupc++.a

Alternatively, and less painfully, perhaps more correctly, libc++ may build against the system's /usr/lib/libsupc++.a. libc++'s implementation expects some symbol definitions that aren't provided by darwin8's libsupc++, so some conditionals need to be adjusted. On the powerpc-darwin8 branch, the build against libsupc++.a is done by passing -DDARWIN_LIBSUPCXX=darwin_version_major.

Building libc++

Again, we compile libc++ with the stage-1 clang++.
Minimal patching was needed to compile libc++ on powerpc-darwin8. Building libc++ required some tweaking of compiler and linker flags.

Here's my resulting CMakeCache.txt.
I used compiler flags similar to those used for libc++abi.

When using libc++abi only

I pointed to my installed libc++abi headers: I used the following CMAKE_SHARED_LINKER_FLAGS:

Using libsupc++.a

Early test logs:
2013-12-14 -- 228 failures, 95% passing!
2013-12-17 -- 221 failures, fixed undefined symbols
2013-12-18 -- 157 failures, with Iain's FDE/EH patches!
2013-12-24 -- 155 failures, with Iain's FDE/EH patches!
(After cleaning up some tests, faking 64b atomics, and FDE/EH patches in trunk)
2014-01-15 -- (libcxxabi.dylib) 88 failures
2014-01-16 -- (libsupc++.a) 120 failures
Known Issues

Polly status

The only known issue with Polly is not specific to powerpc-darwin8: bug 14833: cmake+shared link fails
Use the following patch to fix the build.

Dependencies (versions of fink packages that I happen to be building against):

All tests have been passing on powerpc-darwin8 since release 3.2. From build #45c, tests also pass on powerpc-darwin8 at -O2 (stage 1).

Stage 2 status

I've been attempting to use the stage-1 built clang (pre-installed) to build a stage-2 llvm/clang. Currently, I'm still trying to use the system vendor C++ libraries, libstdc++ from g++-4.0.1. I intend to switch over to libc++ eventually. My cmake options: I finally got libLLVMSupport.dylib to link successfully after fixing bug 15763 (2013-04-21)! (I did have to manually insert -lclang_rt.ppc into the link script, because I couldn't get any linker flags to append it in the right place.)
When compiler-rt objects are compiled they still use the -g option from CMakeLists.txt, which produces debug info in the asm that is too new for the system assembler (-no-integrated-as). Thus, the -g option needs to be removed for stage 2. Is there a better way to do this than hack compiler-rt/CMakeLists.txt?

Stage 1 optimization

I've had trouble compiling stage 1 with powerpc-apple-darwin8-gcc-4.0.1 -O1. -O2 has same issues. Known issues: Build #45b is the first successful build using -O1 for stage 1 flags, where the above translation units were manually compiled with -O0. Summary: only new test failures were related to crash recovery, probably good enough, no worse off than -O0. Tests are much faster than with -O0! Build #45c is with -O2 (except for a few units), and has results identical to -O1! This mixed-compilation workaround is also applicable to release 3.2.

Reported Issues

I've bookmarked what I think are the most important issues that need to be debugged: Resolved issues (fix or worked around):

Priorities

  1. Achieve a successful 3-stage bootstrap of llvm/clang at -O0 -no-integrated-as
  2. For bootstrapping purposes, new host compiler just needs to work enough to compile, even if it itself is ABI incompatible.