On Sat, Dec 23, 2023 at 05:44:43PM -0500, George Koehler wrote: > devel/boost is broken on powerpc and powerpc64, because > <boost/fiber/detail/cpu_relax.hpp> picks the wrong asm syntax. > This patch fixes it, ok?
ok > The REVISION bump conflicts with tb's "boost futex diff"; > I will do REVISION= 1 if tb commits before me. > --gkoehler Please go ahead, I can cope. > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/devel/boost/Makefile,v > retrieving revision 1.139 > diff -u -p -r1.139 Makefile > --- Makefile 19 Dec 2023 06:14:25 -0000 1.139 > +++ Makefile 23 Dec 2023 18:33:03 -0000 > @@ -11,6 +11,7 @@ COMMENT-md= machine-dependent libraries > VERSION= 1.84.0 > DISTNAME= boost_${VERSION:S/./_/g} > PKGNAME= boost-${VERSION} > +REVISION= 0 > EPOCH = 0 > CATEGORIES= devel > SITES= > https://boostorg.jfrog.io/artifactory/main/release/${VERSION}/source/ > Index: patches/patch-boost_fiber_detail_cpu_relax_hpp > =================================================================== > RCS file: patches/patch-boost_fiber_detail_cpu_relax_hpp > diff -N patches/patch-boost_fiber_detail_cpu_relax_hpp > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-boost_fiber_detail_cpu_relax_hpp 23 Dec 2023 18:33:03 > -0000 > @@ -0,0 +1,15 @@ > +Fix powerpc and powerpc64, where clang defines __POWERPC__ but rejects > +Darwin's "r27" syntax with "error: invalid operand for instruction". > + > +Index: boost/fiber/detail/cpu_relax.hpp > +--- boost/fiber/detail/cpu_relax.hpp.orig > ++++ boost/fiber/detail/cpu_relax.hpp > +@@ -59,7 +59,7 @@ namespace detail { > + // processors > + // extended mnemonics (available with POWER7) > + // yield == or 27, 27, 27 > +-# if defined(__POWERPC__) // Darwin PPC > ++# if defined(__APPLE__) // Darwin PPC > + # define cpu_relax() asm volatile ("or r27,r27,r27" ::: "memory"); > + # else > + # define cpu_relax() asm volatile ("or 27,27,27" ::: "memory");