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, as you know well. 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.