diff options
Diffstat (limited to 'lib/libc/arch/arm/SYS.h')
| -rw-r--r-- | lib/libc/arch/arm/SYS.h | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/lib/libc/arch/arm/SYS.h b/lib/libc/arch/arm/SYS.h index c6cfdbc4fcd..2fb7c3a91ba 100644 --- a/lib/libc/arch/arm/SYS.h +++ b/lib/libc/arch/arm/SYS.h @@ -1,4 +1,4 @@ -/* $OpenBSD: SYS.h,v 1.8 2015/03/31 12:31:19 jsing Exp $ */ +/* $OpenBSD: SYS.h,v 1.9 2015/04/07 01:27:06 guenther Exp $ */ /* $NetBSD: SYS.h,v 1.8 2003/08/07 16:42:02 agc Exp $ */ /*- @@ -42,6 +42,8 @@ .weak _C_LABEL(x); \ _C_LABEL(x) = _C_LABEL(_thread_sys_ ## x); \ ENTRY(_thread_sys_ ## x) +#define SYSENTRY_HIDDEN(x) \ + ENTRY(_thread_sys_ ## x) #define SYSTRAP(x) \ ldr r12, =SYS_ ## x; \ @@ -54,10 +56,16 @@ #define _SYSCALL_NOERROR(x,y) \ SYSENTRY(x); \ SYSTRAP(y) +#define _SYSCALL_HIDDEN_NOERROR(x,y) \ + SYSENTRY_HIDDEN(x); \ + SYSTRAP(y) #define _SYSCALL(x, y) \ _SYSCALL_NOERROR(x,y); \ bcs PIC_SYM(CERROR, PLT) +#define _SYSCALL_HIDDEN(x, y) \ + _SYSCALL_HIDDEN_NOERROR(x,y); \ + bcs PIC_SYM(CERROR, PLT) #define SYSCALL_NOERROR(x) \ _SYSCALL_NOERROR(x,x) @@ -73,6 +81,9 @@ #define PSEUDO(x,y) \ _SYSCALL(x,y); \ mov r15, r14 +#define PSEUDO_HIDDEN(x,y) \ + _SYSCALL_HIDDEN(x,y); \ + mov r15, r14 #define RSYSCALL_NOERROR(x) \ @@ -80,5 +91,7 @@ #define RSYSCALL(x) \ PSEUDO(x,x) +#define RSYSCALL_HIDDEN(x) \ + PSEUDO_HIDDEN(x,x) .globl CERROR |
