xref: /openbsd-src/regress/usr.bin/lastcomm/gadget.S (revision 8784bc95e0f81d168290a273cb96649cc97e4c4e)
1/*	$OpenBSD: gadget.S,v 1.2 2024/03/13 11:18:42 kettenis Exp $	*/
2
3#include <sys/syscall.h>
4#include <machine/asm.h>
5
6#if !defined(_ASM_TYPE_FUNCTION)
7#define _ASM_TYPE_FUNCTION @function
8#endif
9
10        .section .rodata
11        .globl	gadget_getpid
12        .type	gadget_getpid,_ASM_TYPE_FUNCTION
13gadget_getpid:
14#if defined(__amd64__)
15	endbr64
16	mov	$SYS_getpid, %eax
17	syscall
18	ret
19#elif defined(__aarch64__)
20	bti	c
21	mov	x8, #SYS_getpid
22	svc	0
23	dsb	nsh
24	isb
25	ret
26#else
27#error "Missing gadget."
28#endif
29
30	.space 4096
31