Index | Thread | Search

From:
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject:
devel/ffcall: ENDBR64
To:
ports@openbsd.org
Cc:
jasper@openbsd.org
Date:
Thu, 22 Feb 2024 20:36:28 +0100

Download raw body.

Thread
  • Mark Kettenis:

    devel/ffcall: ENDBR64

This has various asm bits that do some nasty things.  Ionly fixed some
as the other stuff seems to violate X-only and R^W.  And some bits
even use an executable stack.  But nothing that uses this (lang/clisp
and lang/gforth as far as I can tell) use -Wl,-zwxneeded or
-Wl,--no-execute-only.  So this should be good enough?


Index: devel/ffcall/Makefile
===================================================================
RCS file: /cvs/ports/devel/ffcall/Makefile,v
retrieving revision 1.34
diff -u -p -r1.34 Makefile
--- devel/ffcall/Makefile	21 Sep 2023 09:49:53 -0000	1.34
+++ devel/ffcall/Makefile	22 Feb 2024 18:56:50 -0000
@@ -4,7 +4,7 @@ ONLY_FOR_ARCHS=	alpha amd64 hppa i386 mi
 COMMENT=	foreign function call libraries
 
 DISTNAME=	ffcall-1.10
-REVISION =	5
+REVISION =	6
 SHARED_LIBS=	avcall		1.0 \
 		callback	1.0
 CATEGORIES=	devel
Index: devel/ffcall/patches/patch-avcall_avcall-x86_64_s
===================================================================
RCS file: /cvs/ports/devel/ffcall/patches/patch-avcall_avcall-x86_64_s,v
retrieving revision 1.2
diff -u -p -r1.2 patch-avcall_avcall-x86_64_s
--- devel/ffcall/patches/patch-avcall_avcall-x86_64_s	11 Mar 2022 18:50:02 -0000	1.2
+++ devel/ffcall/patches/patch-avcall_avcall-x86_64_s	22 Feb 2024 18:56:50 -0000
@@ -1,7 +1,15 @@
 Index: avcall/avcall-x86_64.s
 --- avcall/avcall-x86_64.s.orig
 +++ avcall/avcall-x86_64.s
-@@ -326,50 +326,4 @@ __builtin_avcall:
+@@ -5,6 +5,7 @@
+ 	.type	__builtin_avcall,@function
+ __builtin_avcall:
+ .LFB1:
++	endbr64
+ 	pushq	%r12
+ .LCFI0:
+ 	xorl	%r11d, %r11d
+@@ -326,50 +327,4 @@ __builtin_avcall:
  	movq	16(%rbx), %rax
  	movss	%xmm0, (%rax)
  	jmp	.L24
Index: devel/ffcall/patches/patch-vacall_vacall-x86_64_s
===================================================================
RCS file: /cvs/ports/devel/ffcall/patches/patch-vacall_vacall-x86_64_s,v
retrieving revision 1.2
diff -u -p -r1.2 patch-vacall_vacall-x86_64_s
--- devel/ffcall/patches/patch-vacall_vacall-x86_64_s	11 Mar 2022 18:50:02 -0000	1.2
+++ devel/ffcall/patches/patch-vacall_vacall-x86_64_s	22 Feb 2024 18:56:50 -0000
@@ -1,7 +1,15 @@
 Index: vacall/vacall-x86_64.s
 --- vacall/vacall-x86_64.s.orig
 +++ vacall/vacall-x86_64.s
-@@ -203,42 +203,4 @@ __vacall:
+@@ -5,6 +5,7 @@
+ 	.type	__vacall,@function
+ __vacall:
+ .LFB1:
++	endbr64
+ 	pushq	%r12
+ .LCFI0:
+ 	subq	$192, %rsp
+@@ -203,42 +204,4 @@ __vacall:
  .L53:
  	movsbq	40(%rsp),%rax
  	jmp	.L1