about summary refs log tree commit diff
path: root/sysdeps/powerpc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-03-23 19:44:31 +0000
committerUlrich Drepper <drepper@redhat.com>2003-03-23 19:44:31 +0000
commit9eb88290df0c6522a7a52fa44ed821a6fba60a5a (patch)
tree4c663f4b2c765faefbece43109e24415b0b014fc /sysdeps/powerpc
parentf9ad605a05633387c0bb4048158f047a3c2df014 (diff)
downloadglibc-9eb88290df0c6522a7a52fa44ed821a6fba60a5a.tar.gz
glibc-9eb88290df0c6522a7a52fa44ed821a6fba60a5a.tar.xz
glibc-9eb88290df0c6522a7a52fa44ed821a6fba60a5a.zip
Update.
2003-03-23  Ulrich Drepper  <drepper@redhat.com>

	* sysdeps/unix/make-syscalls.sh: Recognize 'E' in first position of
	the parameter description to denote no error checking.  Generate
	appropriate pseudo asm code.
	* sysdeps/unix/syscalls.list: Mark getgid, getpid, getuid with 'E'.
	* sysdeps/unix/sysv/linux/syscalls.list: Mark getegid, geteuid,
	getpgrp, and getppid with 'E'.
	* sysdeps/powerpc/powerpc32/sysdep.h: Define PSEUDO_NOERRNO,
	PSEUDO_END_NOERRNO, and ret_NOERRNO.
	* sysdeps/powerpc/powerpc64/sysdep.h: Likewise.
	* sysdeps/unix/sysdep.h: Likewise.
	* sysdeps/unix/alpha/sysdep.h: Likewise.
	* sysdeps/unix/sparc/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/arm/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/cris/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/hppa/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/m68k/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sh/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.
Diffstat (limited to 'sysdeps/powerpc')
-rw-r--r--sysdeps/powerpc/powerpc32/sysdep.h13
-rw-r--r--sysdeps/powerpc/powerpc64/sysdep.h14
2 files changed, 27 insertions, 0 deletions
diff --git a/sysdeps/powerpc/powerpc32/sysdep.h b/sysdeps/powerpc/powerpc32/sysdep.h
index bc201a80bd..338c69ae68 100644
--- a/sysdeps/powerpc/powerpc32/sysdep.h
+++ b/sysdeps/powerpc/powerpc32/sysdep.h
@@ -131,6 +131,19 @@
 #define	PSEUDO_END(name)						      \
   END (name)
 
+#define PSEUDO_NOERRNO(name, syscall_name, args)			      \
+  .section ".text";							      \
+  ENTRY (name)								      \
+    DO_CALL (SYS_ify (syscall_name));
+
+#define PSEUDO_RET_NOERRNO						      \
+    blr
+#define ret_NOERRNO PSEUDO_RET_NOERRNO
+
+#undef	PSEUDO_END_NOERRNO
+#define	PSEUDO_END_NOERRNO(name)					      \
+  END (name)
+
 /* Local labels stripped out by the linker.  */
 #undef L
 #define L(x) .L##x
diff --git a/sysdeps/powerpc/powerpc64/sysdep.h b/sysdeps/powerpc/powerpc64/sysdep.h
index 9b895df3f0..34c9caa5d7 100644
--- a/sysdeps/powerpc/powerpc64/sysdep.h
+++ b/sysdeps/powerpc/powerpc64/sysdep.h
@@ -225,6 +225,20 @@ LT_LABELSUFFIX(name,_name_end): ; \
 #define	PSEUDO_END(name) \
   END (name)
 
+#define PSEUDO_NOERRNO(name, syscall_name, args) \
+  .section ".text";	\
+  ENTRY (name) \
+  DO_CALL (SYS_ify (syscall_name));
+
+#define PSEUDO_RET_NOERRNO \
+    blr
+
+#define ret_NOERRNO PSEUDO_RET_NOERRNO
+
+#undef	PSEUDO_END_NOERRNO
+#define	PSEUDO_END_NOERRO(name) \
+  END (name)
+
 /* Label in text section.  */
 /* ppc64 function descriptors which requires . notation */
 #define C_TEXT(name) .##name