diff options
Diffstat (limited to 'lib/libc/alpha')
-rw-r--r-- | lib/libc/alpha/SYS.h | 70 | ||||
-rw-r--r-- | lib/libc/alpha/sys/Makefile.inc | 5 | ||||
-rw-r--r-- | lib/libc/alpha/sys/Ovfork.S | 6 | ||||
-rw-r--r-- | lib/libc/alpha/sys/fork.S | 6 | ||||
-rw-r--r-- | lib/libc/alpha/sys/pipe.S | 6 | ||||
-rw-r--r-- | lib/libc/alpha/sys/sigreturn.S | 4 |
6 files changed, 28 insertions, 69 deletions
diff --git a/lib/libc/alpha/SYS.h b/lib/libc/alpha/SYS.h index d53e1fb..94e9ee0 100644 --- a/lib/libc/alpha/SYS.h +++ b/lib/libc/alpha/SYS.h @@ -46,78 +46,32 @@ LLABEL(name,1): #define SYSCALL(name) \ -LEAF(__CONCAT(_,name),0); /* XXX # of args? */ \ - WEAK_ALIAS(name, __CONCAT(_,name)); \ +LEAF(__CONCAT(__sys_,name),0); /* XXX # of args? */ \ + WEAK_ALIAS(name, __CONCAT(__sys_,name)); \ + WEAK_ALIAS(__CONCAT(_,name), __CONCAT(__sys_,name)); \ CALLSYS_ERROR(name) #define SYSCALL_NOERROR(name) \ -LEAF(name,0); /* XXX # of args? */ \ +LEAF(__CONCAT(__sys_,name),0); /* XXX # of args? */ \ + WEAK_ALIAS(name, __CONCAT(__sys_,name)); \ + WEAK_ALIAS(__CONCAT(_,name), __CONCAT(__sys_,name)); \ CALLSYS_NOERROR(name) #define RSYSCALL(name) \ SYSCALL(name); \ RET; \ -END(__CONCAT(_,name)) +END(__CONCAT(__sys_,name)) #define RSYSCALL_NOERROR(name) \ SYSCALL_NOERROR(name); \ RET; \ -END(name) +END(__CONCAT(__sys_,name)) -#define PSEUDO(label,name) \ -LEAF(__CONCAT(_,label),0); /* XXX # of args? */ \ - WEAK_ALIAS(label, __CONCAT(_,label)); \ +#define PSEUDO(name) \ +LEAF(__CONCAT(__sys_,name),0); /* XXX # of args? */ \ + WEAK_ALIAS(__CONCAT(_,name), __CONCAT(__sys_, name)); \ CALLSYS_ERROR(name); \ RET; \ -END(__CONCAT(_,label)); - -#define PSEUDO_NOERROR(label,name) \ -LEAF(label,0); /* XXX # of args? */ \ - CALLSYS_NOERROR(name); \ - RET; \ -END(label); - -/* - * Design note: - * - * The macros PSYSCALL() and PRSYSCALL() are intended for use where a - * syscall needs to be renamed in the threaded library. - */ -/* - * For the thread_safe versions, we prepend __sys_ to the function - * name so that the 'C' wrapper can go around the real name. - */ -#define PNAME(name) __CONCAT(__sys_,name) - -#define PCALL(name) \ - CALL(PNAME(name)) - -#define PLEAF(name, args) \ -LEAF(PNAME(name),args) - -#define PEND(name) \ -END(PNAME(name)) - -#define PSYSCALL(name) \ -PLEAF(name,0); /* XXX # of args? */ \ - WEAK_ALIAS(name, PNAME(name)); \ - WEAK_ALIAS(__CONCAT(_,name), PNAME(name)); \ - CALLSYS_ERROR(name) - -#define PRSYSCALL(name) \ -PLEAF(name,0); /* XXX # of args? */ \ - WEAK_ALIAS(name, PNAME(name)); \ - WEAK_ALIAS(__CONCAT(_,name), PNAME(name)); \ - CALLSYS_ERROR(name) \ - RET; \ -PEND(name) - -#define PPSEUDO(label,name) \ -PLEAF(label,0); /* XXX # of args? */ \ - WEAK_ALIAS(label, PNAME(label)); \ - WEAK_ALIAS(__CONCAT(_,label), PNAME(label)); \ - CALLSYS_ERROR(name); \ - RET; \ -PEND(label) +END(__CONCAT(__sys_,name)) diff --git a/lib/libc/alpha/sys/Makefile.inc b/lib/libc/alpha/sys/Makefile.inc index b034900..f6a1490 100644 --- a/lib/libc/alpha/sys/Makefile.inc +++ b/lib/libc/alpha/sys/Makefile.inc @@ -10,8 +10,5 @@ NOASM= __semctl.o break.o exit.o ftruncate.o getdomainname.o getlogin.o \ semop.o setdomainname.o shmat.o shmctl.o shmdt.o shmget.o sstk.o \ truncate.o uname.o vfork.o yield.o -PSEUDO= _getlogin.o +PSEUDO= _getlogin.o _exit.o -# Pseudo syscalls that are renamed as __sys_{pseudo} so that libc_r -# can override them with replacements. -PSEUDOR= _exit.o diff --git a/lib/libc/alpha/sys/Ovfork.S b/lib/libc/alpha/sys/Ovfork.S index d8dd3e8..808a5a7 100644 --- a/lib/libc/alpha/sys/Ovfork.S +++ b/lib/libc/alpha/sys/Ovfork.S @@ -25,11 +25,13 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. + * + * $FreeBSD$ */ #include "SYS.h" -PSYSCALL(vfork) +SYSCALL(vfork) cmovne a4, zero, v0 /* a4 (rv[1]) != 0, child */ RET -PEND(vfork) +END(vfork) diff --git a/lib/libc/alpha/sys/fork.S b/lib/libc/alpha/sys/fork.S index a8fa754..295e588 100644 --- a/lib/libc/alpha/sys/fork.S +++ b/lib/libc/alpha/sys/fork.S @@ -25,11 +25,13 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. + * + * $FreeBSD$ */ #include "SYS.h" -PSYSCALL(fork) +SYSCALL(fork) cmovne a4, zero, v0 /* a4 (rv[1]) != 0, child */ RET -PEND(fork) +END(fork) diff --git a/lib/libc/alpha/sys/pipe.S b/lib/libc/alpha/sys/pipe.S index 76f44c2..188bfd4 100644 --- a/lib/libc/alpha/sys/pipe.S +++ b/lib/libc/alpha/sys/pipe.S @@ -25,13 +25,15 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. + * + * $FreeBSD$ */ #include "SYS.h" -PSYSCALL(pipe) +SYSCALL(pipe) stl v0, 0(a0) stl a4, 4(a0) mov zero, v0 RET -PEND(pipe) +END(pipe) diff --git a/lib/libc/alpha/sys/sigreturn.S b/lib/libc/alpha/sys/sigreturn.S index a186be6..0931f50 100644 --- a/lib/libc/alpha/sys/sigreturn.S +++ b/lib/libc/alpha/sys/sigreturn.S @@ -25,6 +25,8 @@ * * any improvements or extensions that they make and grant Carnegie the * rights to redistribute these changes. + * + * $FreeBSD$ */ #include "SYS.h" @@ -35,4 +37,4 @@ * (XXX PROFILING) */ -PRSYSCALL(sigreturn) +RSYSCALL(sigreturn) |