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