Re: unbreak boost for powerpc, powerpc64

2023-12-24 Thread Stuart Henderson

I suggest using ${PATCHORIG} rather than hardcoding to any particular value..

--
 Sent from a phone, apologies for poor formatting.

On 24 December 2023 00:53:05 George Koehler  wrote:


On Sat, 23 Dec 2023 23:46:33 +0100
Theo Buehler  wrote:


Please go ahead, I can cope.


I committed it.  Now if anyone runs update-plist, my commit adds
cpu_relax.hpp.orig.port to this warning,

Warning: entries NOT added to boost-1.84.0p0v0:
include/boost/atomic/detail/futex.hpp.orig.port (.orig.port suffix ?)
include/boost/fiber/detail/cpu_relax.hpp.orig.port (.orig.port suffix ?)
include/boost/fiber/detail/futex.hpp.orig.port (.orig.port suffix ?)
share/b2/tools/gcc.jam.orig.port (.orig.port suffix ?)

do-install runs pax -s ':^.*\.orig$$::' to skip .orig files, but
we changed PATCHORIG to .orig.port some time ago, so
-s ':^.*\.orig\.port$$::' might be better.




Re: unbreak boost for powerpc, powerpc64

2023-12-23 Thread Brad Smith

On 2023-12-23 7:52 p.m., George Koehler wrote:

On Sat, 23 Dec 2023 23:46:33 +0100
Theo Buehler  wrote:


Please go ahead, I can cope.

I committed it.  Now if anyone runs update-plist, my commit adds
cpu_relax.hpp.orig.port to this warning,

Warning: entries NOT added to boost-1.84.0p0v0:
  include/boost/atomic/detail/futex.hpp.orig.port (.orig.port suffix ?)
  include/boost/fiber/detail/cpu_relax.hpp.orig.port (.orig.port suffix ?)
  include/boost/fiber/detail/futex.hpp.orig.port (.orig.port suffix ?)
  share/b2/tools/gcc.jam.orig.port (.orig.port suffix ?)

do-install runs pax -s ':^.*\.orig$$::' to skip .orig files, but
we changed PATCHORIG to .orig.port some time ago, so
-s ':^.*\.orig\.port$$::' might be better.


Yes. That should be updated to do as intended. Thanks.OK with me.


Re: unbreak boost for powerpc, powerpc64

2023-12-23 Thread George Koehler
On Sat, 23 Dec 2023 23:46:33 +0100
Theo Buehler  wrote:

> Please go ahead, I can cope.

I committed it.  Now if anyone runs update-plist, my commit adds
cpu_relax.hpp.orig.port to this warning,

Warning: entries NOT added to boost-1.84.0p0v0:
 include/boost/atomic/detail/futex.hpp.orig.port (.orig.port suffix ?)
 include/boost/fiber/detail/cpu_relax.hpp.orig.port (.orig.port suffix ?)
 include/boost/fiber/detail/futex.hpp.orig.port (.orig.port suffix ?)
 share/b2/tools/gcc.jam.orig.port (.orig.port suffix ?)

do-install runs pax -s ':^.*\.orig$$::' to skip .orig files, but
we changed PATCHORIG to .orig.port some time ago, so
-s ':^.*\.orig\.port$$::' might be better.



Re: unbreak boost for powerpc, powerpc64

2023-12-23 Thread Brad Smith

On 2023-12-23 5:44 p.m., George Koehler wrote:

devel/boost is broken on powerpc and powerpc64, because
 picks the wrong asm syntax.
This patch fixes it, ok?

The REVISION bump conflicts with tb's "boost futex diff";
I will do REVISION= 1 if tb commits before me.
--gkoehler


https://github.com/boostorg/fiber/commit/2bd8eb02f81ab8297aa89b8cb29b0f3867b9fafe

OK.



Re: unbreak boost for powerpc, powerpc64

2023-12-23 Thread Theo Buehler
On Sat, Dec 23, 2023 at 05:44:43PM -0500, George Koehler wrote:
> devel/boost is broken on powerpc and powerpc64, because
>  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 -  1.139
> +++ Makefile  23 Dec 2023 18:33:03 -
> @@ -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 -
> +++ patches/patch-boost_fiber_detail_cpu_relax_hpp23 Dec 2023 18:33:03 
> -
> @@ -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");



unbreak boost for powerpc, powerpc64

2023-12-23 Thread George Koehler
devel/boost is broken on powerpc and powerpc64, because
 picks the wrong asm syntax.
This patch fixes it, ok?

The REVISION bump conflicts with tb's "boost futex diff";
I will do REVISION= 1 if tb commits before me.
--gkoehler

Index: Makefile
===
RCS file: /cvs/ports/devel/boost/Makefile,v
retrieving revision 1.139
diff -u -p -r1.139 Makefile
--- Makefile19 Dec 2023 06:14:25 -  1.139
+++ Makefile23 Dec 2023 18:33:03 -
@@ -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 -
+++ patches/patch-boost_fiber_detail_cpu_relax_hpp  23 Dec 2023 18:33:03 
-
@@ -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");