Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jul 2007 01:24:44 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 122691 for review
Message-ID:  <200707020124.l621Oisx035607@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=122691

Change 122691 by peter@peter_overcee on 2007/07/02 01:23:43

	Fix differentiation of RSYSCALL and PSEUDO on arm.  PSEUDO
	was implemented identically to RSYSCALL and caused symbol
	pollution/collisions.

Affected files ...

.. //depot/projects/hammer/lib/libc/arm/SYS.h#4 edit

Differences ...

==== //depot/projects/hammer/lib/libc/arm/SYS.h#4 (text+ko) ====

@@ -56,26 +56,19 @@
 	_SYSCALL_NOERROR(x);						\
 	bcs PIC_SYM(CERROR, PLT)
 
-#define SYSCALL_NOERROR(x)						\
-	_SYSCALL_NOERROR(x)
-
 #define SYSCALL(x)							\
 	_SYSCALL(x)
 
-
-#define PSEUDO_NOERROR(x)						\
-	_SYSCALL_NOERROR(x);						\
+#define PSEUDO(x)							\
+	ENTRY(__CONCAT(__sys_, x));					\
+	.weak _C_LABEL(__CONCAT(_,x));					\
+	.set _C_LABEL(__CONCAT(_,x)),_C_LABEL(__CONCAT(__sys_,x));	\
+	SYSTRAP(x)
+	bcs PIC_SYM(CERROR, PLT)
 	RET
 
-#define PSEUDO(x)							\
+#define RSYSCALL(x)							\
 	_SYSCALL(x);							\
 	RET
 
-
-#define RSYSCALL_NOERROR(x)						\
-	PSEUDO_NOERROR(x)
-
-#define RSYSCALL(x)							\
-	PSEUDO(x)
-
 	.globl  CERROR



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707020124.l621Oisx035607>