git: 0e867a491156 - main - aarch/SYS.h: implement _SYSCALL_BODY() macro

From: Brooks Davis <brooks_at_FreeBSD.org>
Date: Fri, 02 Feb 2024 17:10:18 UTC
The branch main has been updated by brooks:

URL: https://cgit.FreeBSD.org/src/commit/?id=0e867a49115687398fd486b3af67fbb41f48b8a8

commit 0e867a49115687398fd486b3af67fbb41f48b8a8
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2024-02-02 17:08:55 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2024-02-02 17:08:55 +0000

    aarch/SYS.h: implement _SYSCALL_BODY() macro
    
    Add _SYSCALL_BODY() macro which invokes the syscall via _SYCALL() and
    calls cerror as required.  Use to implement PSEUDO() and RSYSCALL().
    
    Sponsored by:   DARPA
    Differential Revision:  https://reviews.freebsd.org/D43058
---
 lib/libc/aarch64/SYS.h | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/lib/libc/aarch64/SYS.h b/lib/libc/aarch64/SYS.h
index af7f0200a0c7..07d14ab1bb44 100644
--- a/lib/libc/aarch64/SYS.h
+++ b/lib/libc/aarch64/SYS.h
@@ -40,21 +40,21 @@
  * to jump around to use more capable unconditional branch
  * instruction.
  */
-#define	PSEUDO(name)						\
-ENTRY(__sys_##name);						\
-	WEAK_REFERENCE(__sys_##name, _##name);			\
+#define	_SYSCALL_BODY(name)					\
 	_SYSCALL(name);						\
 	b.cs	1f;						\
 	ret;							\
-1:	b	cerror;						\
+1:	b	cerror
+
+#define	PSEUDO(name)						\
+ENTRY(__sys_##name);						\
+	WEAK_REFERENCE(__sys_##name, _##name);			\
+	_SYSCALL_BODY(name);					\
 END(__sys_##name)
 
 #define	RSYSCALL(name)						\
 ENTRY(__sys_##name);						\
 	WEAK_REFERENCE(__sys_##name, name);			\
 	WEAK_REFERENCE(__sys_##name, _##name);			\
-	_SYSCALL(name);						\
-	b.cs	1f;						\
-	ret;							\
-1:	b	cerror;						\
+	_SYSCALL_BODY(name);					\
 END(__sys_##name)