Open Quuxplusone opened 5 years ago
Bugzilla Link | PR39692 |
Status | NEW |
Importance | P enhancement |
Reported by | Jeffrey Walton (noloader@gmail.com) |
Reported on | 2018-11-16 10:14:09 -0800 |
Last modified on | 2018-12-28 10:34:41 -0800 |
Version | 7.0 |
Hardware | Macintosh MacOS X |
CC | ken.cunningham.webuse@gmail.com, llvm-bugs@lists.llvm.org, mclow.lists@gmail.com, noloader@gmail.com |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | |
See also |
Jeff, there are a few outstanding show-stoppers to get clang/llvm on PowerMacs.
Some are in the build, and are fairly easy to get around manually (I am running clang-3.8 and clang-5.0 on a PowerMac G5 running Leopard now, and clang-3.8 on a 10.4 PowerMac). Automating them is rather more difficult. I expect that we will need to write our own build scripts for PowerPC Darwin, as incorporating PPC32 Darwin support for compiler_rt in particular back into the main trunk is looking very unlikely to me.
Libcxx / libcxxabi also build and function. Again, not with the default scripts, but with some manual steps. I have the build with libcxx 7.0.1 building with gcc7 on PowerPC Leopard 10.5 at present.
BUT -- aside from these build issues -- there are several real big issues. Some of the PowerPC Darwin 32bit ABI is just plain not implemented in llvm yet https://bugs.llvm.org/show_bug.cgi?id=33108.
Also, there is a major bug in the exception table generation; only basic "catch-all" exceptions will work. Anything with a non-default landing pad either segfaults or just doesn't work https://bugs.llvm.org/show_bug.cgi?id=30866.
These issues all look fixable, but we may need some help with the exception table and ABI implementation. There are very few people with those skills left, and even fewer of them with interest. Iain Sandoe has those skills, but many other projects on his plate.
Despite that, clang-3.8 on PowerPC Darwin 9 passes 98% of the clang test suite when I last ran it about a year ago, and can be used to build many things that gcc can't build.