Skip site navigation (1)Skip section navigation (2)
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>