Status of the PowerPC-Darwin ports

Happy New Year clang-sters and llvm-ites!

From the Because-You-Can Department, I thought I'd take a moment to share

with everyone the progress of the powerpc-darwin port of LLVM and clang. I continue to maintain long-lived branches at github/fangism, doing roughly weekly merges form trunk. This 'pet' project is alive and well and has made significant progress in the last few months. The 'team' has doubled in numbers, thanks to Iain Sandoe, long-time GCC powerpc-darwin maintainer.

Here'w where we stand:
* Stage-1 still builds using the system compiler, g++-4.0, at -O2
   Can compile mach-o/PIC objects, shared libraries.
* Only weeks ago did stage-2 finish for the first time ever at -O0
    -no-integrated-as, with one tiny workaround.
    -O1 blocked by bug 14579.
* In last few days, stage-3 finished a -O0 build (taking 3+ days)
   A handful of objects mis-compare against stage-2.
* In recent weeks, using Iain Sandoe's EH-frame patches, I've built libc++
    against the system libsupc++, -O0, and passes over 95% of tests.

Latest test results of stage-1:
http: //
http: //

Stage-2 test results:
http: //
http: //

libc++ test results:

Known issues (filed):
* EH-frame fix for system libunwind compatibility (Iain's patch)
* ABI data-layout/alignment issues
* Various CodeGen and miscompilation issues

Immediate tasks:
* I need help identifying which recent commits fixed bugs 15901 and 15965, which unblocked stage-2 on trunk, so that I might try to backport to powerpc-darwin's release 3.4 branch. It was something that affected CodeGen.

Wishes (not all realistic):
* Get a -O1 bootstrap working. 3 days to build stage-3 is too painful.
* FIx most or all libc++(libsupc++) test failures.
* Keep stage-1 buildable with g++-4.0 for one (more) release cycle.
   This conflicts with the push to require C++11 in stage-1.
* FIx most or all libc++(libsupc++) test failures.
* Use a relatively stable powerpc-darwin clang to bootstrap the next clang
   that requires C++11, using libc++.

I keep a status page with more logs, bugs, and wishes:

I want to take a moment thank everyone who's pointed me in the right direction for diagonstics and patches, or even fixed issues I've reported (sometimes unknowingly). You've been a tremendous help over email and IRC, and made these accomplishments possible.

"Keeping the legacy alive"