Date: Wed, 30 Aug 2006 18:39:24 GMT From: Oleksandr Tymoshenko <gonzo@FreeBSD.org> To: Perforce Change Reviews <perforce@FreeBSD.org> Subject: PERFORCE change 105346 for review Message-ID: <200608301839.k7UIdOO6010811@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=105346 Change 105346 by gonzo@gonzo_hq on 2006/08/30 18:38:29 o Reorder defines that is we will have __sys_xxx as a syscall entry point and _xxx, xxx as weak aliases for __sys_xxx. Affected files ... .. //depot/projects/mips2/src/lib/libc/mips/SYS.h#4 edit Differences ... ==== //depot/projects/mips2/src/lib/libc/mips/SYS.h#4 (text+ko) ==== @@ -86,43 +86,44 @@ # define PIC_CALL(l,sr) j _C_LABEL(l) #endif -# define SYSTRAP(x) li v0,SYS_ ## x; syscall; +# define SYSTRAP(x) li v0, SYS_ ## x; syscall; /* * Do a syscall that cannot fail (sync, get{p,u,g,eu,eg)id) */ #define RSYSCALL_NOERROR(x) \ - PSEUDO_NOERROR(x,x) + PSEUDO_NOERROR(x) /* * Do a normal syscall. */ #define RSYSCALL(x) \ - PSEUDO(x,x) + PSEUDO(x) /* - * Do a syscall that has an internal name and a weak external alias. - */ -#define WSYSCALL(weak,strong) \ - WEAK_ALIAS(weak,strong); \ - PSEUDO(strong,weak) - -/* * Do a renamed or pseudo syscall (e.g., _exit()), where the entrypoint * and syscall name are not the same. */ -#define PSEUDO_NOERROR(x,y) \ -LEAF(x); \ - SYSTRAP(y); \ +#define PSEUDO_NOERROR(x) \ +LEAF(__sys_ ## x); \ + .weak _C_LABEL(x); \ + _C_LABEL(x) = _C_LABEL(__CONCAT(__sys_,x)); \ + .weak _C_LABEL(__CONCAT(_,x)); \ + _C_LABEL(__CONCAT(_,x)) = _C_LABEL(__CONCAT(__sys_,x)); \ + SYSTRAP(x); \ j ra; \ - END(x) + END(__sys_ ## x) -#define PSEUDO(x,y) \ -LEAF(x); \ +#define PSEUDO(x) \ +LEAF(__sys_ ## x); \ + .weak _C_LABEL(x); \ + _C_LABEL(x) = _C_LABEL(__CONCAT(__sys_,x)); \ + .weak _C_LABEL(__CONCAT(_,x)); \ + _C_LABEL(__CONCAT(_,x)) = _C_LABEL(__CONCAT(__sys_,x)); \ PIC_PROLOGUE(x,t9); \ - SYSTRAP(y); \ + SYSTRAP(x); \ bne a3,zero,err; \ j ra; \ err: \ PIC_CALL(__cerror,t9); \ - END(x) + END(__sys_ ## x)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200608301839.k7UIdOO6010811>