From b9fcb1698cd154a339319f0e446a1dc0a9cf5891 Mon Sep 17 00:00:00 2001 From: anton Date: Mon, 1 Apr 2024 18:52:34 +0000 Subject: [PATCH] The regress/sys/arch/amd64/fpu/fenv.S utility issues "direct" syscalls which does not go through libc. This is no longer possible due to pinsyscalls(2). Borrow the PINSYSCALL asm macro from libc/arch/DEFS.h to setup a .openbsd.syscalls section. --- regress/sys/arch/amd64/fpu/fenv.S | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/regress/sys/arch/amd64/fpu/fenv.S b/regress/sys/arch/amd64/fpu/fenv.S index 1178d15e670..1ad78a1a51e 100644 --- a/regress/sys/arch/amd64/fpu/fenv.S +++ b/regress/sys/arch/amd64/fpu/fenv.S @@ -1,4 +1,4 @@ -/* $OpenBSD: fenv.S,v 1.1.1.1 2018/08/21 18:35:18 bluhm Exp $ */ +/* $OpenBSD: fenv.S,v 1.2 2024/04/01 18:52:34 anton Exp $ */ /* * Copyright (c) 2018 Alexander Bluhm * @@ -17,6 +17,13 @@ #include +#define PINSYSCALL(sysno, label) \ + .pushsection .openbsd.syscalls,"",%progbits; \ + .p2align 2; \ + .long label; \ + .long sysno; \ + .popsection; + .section .note.openbsd.ident, "a" .p2align 2 .long 8 @@ -49,7 +56,11 @@ _start: mov $1, %rdi mov $env, %rsi mov $(env_end-env), %rdx +1: syscall + PINSYSCALL(SYS_write, 1b) mov $SYS_exit, %rax mov $0, %rdi +2: syscall + PINSYSCALL(SYS_exit, 2b) -- 2.20.1