about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/ia64
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2003-08-16 06:21:46 +0000
committerUlrich Drepper <drepper@redhat.com>2003-08-16 06:21:46 +0000
commitbfef9264665ff93866882402a71c116cd0757de1 (patch)
treef36c804cadea320ac8637774c7b4a6f30ae7cdc8 /sysdeps/unix/sysv/linux/ia64
parent20d9b98f8a33c85b855e4aa5366acadd979de4d4 (diff)
downloadglibc-bfef9264665ff93866882402a71c116cd0757de1.tar.gz
glibc-bfef9264665ff93866882402a71c116cd0757de1.tar.xz
glibc-bfef9264665ff93866882402a71c116cd0757de1.zip
Update.
2003-08-15  Ulrich Drepper  <drepper@redhat.com>

	* io/Versions [GLIBC_2.3.3]: Add posix_fadvise64.
	* io/fcntl.h (posix_fadvise64): Change type of third parameter to
	off_t.
	* sysdeps/unix/sysv/linux/posix_fadvise.c: Adjust definition.
	* sysdeps/unix/make-syscalls.sh: Recognize V prefix to the parameter
	description indicating the error value is returned, not -1.
	* sysdeps/unix/sysv/linux/Makefile [subdir=io] (subdir_routines): Add
	posix_fadvise64_64.
	* sysdeps/unix/sysv/linux/kernel-features.h: Add definition of
	__ASSUME_FADVISE64_64_SYSCALL.
	* sysdeps/unix/sysv/linux/syscalls.list: Don't define madvise and
	posix_madvise in one file.  Have posix_madvise defined with error
	value returned.
	Define posix_fadvise64_64 entry.  Add version info to posix_fadvise64
	entry.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Define
	posix_fadvise64_64 entry.  Add version info to posix_fadvise64 entry.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list: Likewise.
	* sysdeps/unix/sysv/linux/i386/posix_fadvise.S: New file.
	* sysdeps/unix/sysv/linux/i386/sysdep.h: Define PSEUDO_ERRVAL,
	PSEUDO_END_ERRVAL, and ret_ERRVAL.
	* sysdeps/unix/sysv/linux/ia64/sysdep.h: Likewise.
	* sysdeps/unix/sysv/linux/x86_64/sysdep.h: Likewise.

	* posix/Makefile (routines): Add posix_madvise.
	* sysdeps/generic/madvise.c: Don't define posix_madvise.
	* sysdeps/generic/posix_madvise.c: New file.
	* sysdeps/unix/sysv/aix/posix_madvise.c: New file.
Diffstat (limited to 'sysdeps/unix/sysv/linux/ia64')
-rw-r--r--sysdeps/unix/sysv/linux/ia64/syscalls.list3
-rw-r--r--sysdeps/unix/sysv/linux/ia64/sysdep.h11
2 files changed, 13 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/ia64/syscalls.list b/sysdeps/unix/sysv/linux/ia64/syscalls.list
index c2027b670f..a368226b91 100644
--- a/sysdeps/unix/sysv/linux/ia64/syscalls.list
+++ b/sysdeps/unix/sysv/linux/ia64/syscalls.list
@@ -5,7 +5,8 @@ umount2		-	umount		2	__umount2	umount2
 # Whee! 64-bit systems naturally implement llseek.
 llseek		EXTRA	lseek		C:3	__libc_lseek	__lseek lseek __libc_lseek64 __llseek llseek __lseek64 lseek64
 lseek		llseek	-
-posix_fadvise64	-	fadvise64	4	posix_fadvise64	posix_fadvise
+posix_fadvise64	-	fadvise64	4	posix_fadvise64	posix_fadvise@GLIBC_2.2
+posix_fadvise64_64 -	fadvise64	4	posix_fadvise64	posix_fadvise@GLIBC_2.3.3
 pread		-	pread		C:4	__libc_pread	__libc_pread64 __pread pread __pread64 pread64
 pwrite		-	pwrite		C:4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
 fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs fstatfs64 __fstatfs64
diff --git a/sysdeps/unix/sysv/linux/ia64/sysdep.h b/sysdeps/unix/sysv/linux/ia64/sysdep.h
index 0f729a3c3e..2fc32efd47 100644
--- a/sysdeps/unix/sysv/linux/ia64/sysdep.h
+++ b/sysdeps/unix/sysv/linux/ia64/sysdep.h
@@ -110,6 +110,17 @@
 #undef PSEUDO_END_NOERRNO
 #define PSEUDO_END_NOERRNO(name)	.endp C_SYMBOL_NAME(name);
 
+#undef PSEUDO_ERRVAL
+#define	PSEUDO_ERRVAL(name, syscall_name, args)	\
+  ENTRY(name)						\
+    DO_CALL (SYS_ify(syscall_name));		\
+	cmp.eq p6,p0=-1,r10;			\
+(p6)	mov r10=r8;
+
+
+#undef PSEUDO_END_ERRVAL
+#define PSEUDO_END_ERRVAL(name)	.endp C_SYMBOL_NAME(name);
+
 #undef END
 #define END(name)						\
 	.size	C_SYMBOL_NAME(name), . - C_SYMBOL_NAME(name) ;	\