Wednesday, November 01, 2023

Re: bulk without syscall(2) results

Theo Buehler <tb@theobuehler.org> writes:

> print/luametatex
>
> Doesn't seem to be linked to anything, but might be better to fix anyway:
>
> /tmp/pobj/luametatex-2.10.08/luametatex-2.10.08/source/libraries/mimalloc/src/prim/unix/prim.c:67:10: warning: implicit declaration of function 'syscall' is invalid in C99 [-Wimplicit-function-declaration]
> return syscall(SYS_open,fpath,open_flags,0);
> ^
> /tmp/pobj/luametatex-2.10.08/luametatex-2.10.08/source/libraries/mimalloc/src/prim/unix/prim.c:70:10: warning: implicit declaration of function 'syscall' is invalid in C99 [-Wimplicit-function-declaration]
> return syscall(SYS_read,fd,buf,bufsize);
> ^
> /tmp/pobj/luametatex-2.10.08/luametatex-2.10.08/source/libraries/mimalloc/src/prim/unix/prim.c:73:10: warning: implicit declaration of function 'syscall' is invalid in C99 [-Wimplicit-function-declaration]
> return syscall(SYS_close,fd);
> ^
> /tmp/pobj/luametatex-2.10.08/luametatex-2.10.08/source/libraries/mimalloc/src/prim/unix/prim.c:76:10: warning: implicit declaration of function 'syscall' is invalid in C99 [-Wimplicit-function-declaration]
> return syscall(SYS_access,fpath,mode);

I tested that the attached builds/installs, but my system isn't
syscall-free.

Unfortunately I can't effectively verify without removing syscall from
my libc. The port code defines these static functions that invoke
syscall unconditionally, then only uses them in code guarded with linux
defines. So, like you said, the change below has no effect on the
produced object files.

Thanks
Greg

From f0d81de3cedf6c8fe4aae78384cb97622b3dc1de Mon Sep 17 00:00:00 2001
From: Greg Steuck <greg@nest.cx>
Date: Wed, 1 Nov 2023 18:36:57 -0700
Subject: [PATCH] print/luametatex: avoid direct syscall

---
print/luametatex/Makefile | 1 +
...-source_libraries_mimalloc_src_prim_unix_prim_c | 14 ++++++++++++++
2 files changed, 15 insertions(+)
create mode 100644 print/luametatex/patches/patch-source_libraries_mimalloc_src_prim_unix_prim_c

diff --git a/print/luametatex/Makefile b/print/luametatex/Makefile
index 7c1e346bd1a..0ba665893c4 100644
--- a/print/luametatex/Makefile
+++ b/print/luametatex/Makefile
@@ -1,6 +1,7 @@
COMMENT = TeX engine for ConTeXt

V = 2.10.08
+REVISION = 0
PKGNAME = luametatex-${V}

GH_ACCOUNT = contextgarden
diff --git a/print/luametatex/patches/patch-source_libraries_mimalloc_src_prim_unix_prim_c b/print/luametatex/patches/patch-source_libraries_mimalloc_src_prim_unix_prim_c
new file mode 100644
index 00000000000..9ce5b73d15c
--- /dev/null
+++ b/print/luametatex/patches/patch-source_libraries_mimalloc_src_prim_unix_prim_c
@@ -0,0 +1,14 @@
+Use proper libc stubs instead of direct syscalls on OpenBSD
+
+Index: source/libraries/mimalloc/src/prim/unix/prim.c
+--- source/libraries/mimalloc/src/prim/unix/prim.c.orig
++++ source/libraries/mimalloc/src/prim/unix/prim.c
+@@ -50,7 +50,7 @@ terms of the MIT license. A copy of the license can be
+ #include <sys/sysctl.h>
+

No comments:

Post a Comment