Opened 7 years ago
Last modified 7 years ago
#55442 new defect
libunwind @3.9.1: UNREACHABLE executed!
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | jeremyhu (Jeremy Huddleston Sequoia) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | leopard | Cc: | |
Port: | libunwind |
Description
libunwind, a dependency of libcxxabi on Leopard, fails to build with the chosen compiler, clang-3.4, saying UNREACHABLE executed!
Attachments (1)
Change History (8)
Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | libunwind-main.log added |
---|
comment:1 Changed 7 years ago by kencu (Ken)
comment:2 Changed 7 years ago by kencu (Ken)
I did build libunwind as universal with intel code:
libunwind @3.9.1_0+universal (active) platform='darwin 9' archs='i386 x86_64' date='2017-06-20T20:17:59-0700'
comment:3 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Yeah, that's a known issue with clang-3.4 building for ppc.
Leopard/libtstdc++ won't get you very far. As Ken mentioned, clang-3.7 is much better at darwin/ppc, but it's still got some issues that I never got around to addressing. I know BSD and Linux folks were pushing on ppc support, so it's possible some of that has since been addressed, but I haven't looked into it for about 2 years.
comment:4 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
This was on an Intel Mac, but I didn't consider that it was forcing a universal build which would try to build ppc code.
Given this situation, I'm becoming convinced we should forget libc++ on Leopard i386 and use the working gcc6 solution in the cxx11-1.1 portgroup; see comment:ticket:55382:42.
comment:5 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
libc++ works perfectly fine with i386. It's just ppc that clang has difficulty building because (frankly) nobody uses it any more.
comment:6 Changed 7 years ago by kencu (Ken)
libc++ works on ppc too; you just can't build it with clang 3.4, which generates unreliable ppc code. But there is no interest, to be sure.
building any kind of PPC code with clang-3.4 does not work reliably.
To generate PPC code, you can use gcc (any version) or clang-3.8 (my special version, but without c++ exceptions). No other compiler is very useful. You can get something out of clang-3.7, but not much.