The configure scripts adds -mbranch-protection=pac-ret, which on
OpenBSD actually *downgrades* the protection and makes things fail on
arm64 systems that implement BTI.
Use -mbranch-protection=standard instead.
ok?
Index: lang/ruby/3.2/Makefile
===================================================================
RCS file: /cvs/ports/lang/ruby/3.2/Makefile,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile
--- lang/ruby/3.2/Makefile 13 Jun 2023 05:00:23 -0000 1.5
+++ lang/ruby/3.2/Makefile 23 Sep 2023 18:32:57 -0000
@@ -3,7 +3,7 @@ DISTNAME = ruby-${VERSION}
SHARED_LIBS = ruby32 0.0
NEXTVER = 3.3
PKGSPEC-main ?= ruby->=3.2.0,<${NEXTVER}
-REVISION-main = 0
+REVISION-main = 1
PSEUDO_FLAVORS= no_ri_docs bootstrap
# Do not build the RI docs on slow arches
Index: lang/ruby/3.2/patches/patch-configure
===================================================================
RCS file: /cvs/ports/lang/ruby/3.2/patches/patch-configure,v
retrieving revision 1.2
diff -u -p -r1.2 patch-configure
--- lang/ruby/3.2/patches/patch-configure 1 Apr 2023 19:28:26 -0000
1.2
+++ lang/ruby/3.2/patches/patch-configure 23 Sep 2023 18:32:57 -0000
@@ -1,4 +1,5 @@
Support arm64 coroutines.
+Don't downgrade arm64 branch protection.
Set correct shared library name.
@@ -8,6 +9,15 @@ so ports don't have to be bumped when Op
Index: configure
--- configure.orig
+++ configure
+@@ -10897,7 +10897,7 @@ esac
+ case "$target_cpu" in #(
+ aarch64) :
+
+- for opt in -mbranch-protection=pac-ret -msign-return-address=all
++ for opt in -mbranch-protection=standard -msign-return-address=all
+ do :
+
+
@@ -29475,6 +29475,10 @@ esac
coroutine_type=x86