On Fri, 2013-10-25 at 10:58 +0100, David Laight wrote: > > This is not a distro issue. It's a libstdc++ portability issue. libstdc++ > > hardcodes lwsync unless __NO_LWSYNC__ is explicitly defined, > > which you only get with -mcpu=8540/-mcpu=8548. When compiled > > for any powerpc target other than -mcpu=8540/-mcpu=8548, including > > the default -mcpu=common, libstdc++ will end up containing lwsync. > > There is no way to explicitly request libstdc++ to be built without lwsync > > with an -mcpu target other than 8540/8548. > > > > The issue is easily demonstrated by running a program that throws a > > C++ exception: __cxa_throw() is called, which has an lwsync. This > > results in an illegal instruction exception when run on an e500v1/e500v2. > > Perhaps libstc++ should be working out at run time whether lwsync is valid?
Do we have enough coats of paint on this bike shed yet ? :-) I'm personally tempted to take Scott's approach since that's what we do for other things as well, it just works and is simple. Cheers, Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev