PERFORCE change 122691 for review
Peter Wemm
peter at FreeBSD.org
Mon Jul 2 01:24:45 UTC 2007
http://perforce.freebsd.org/chv.cgi?CH=122691
Change 122691 by peter at 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
More information about the p4-projects
mailing list