]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Cancellation wrappers for pread/pwrite (Philip Martin).
authorJulian Seward <jseward@acm.org>
Sat, 18 May 2002 10:56:27 +0000 (10:56 +0000)
committerJulian Seward <jseward@acm.org>
Sat, 18 May 2002 10:56:27 +0000 (10:56 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@287

coregrind/arch/x86-linux/vg_libpthread.c
coregrind/arch/x86-linux/vg_libpthread_unimp.c
coregrind/vg_libpthread.c
coregrind/vg_libpthread_unimp.c
vg_libpthread.c
vg_libpthread_unimp.c

index 93cb7373ddaa2811c70cd3b77542b713f58c23ab..c9956ccb74d2d2c8a42c0e32b39c38fac8447a69 100644 (file)
@@ -1138,6 +1138,24 @@ ssize_t __pwrite64 (int __fd, const void *__buf, size_t __nbytes,
 }
 
 
+extern 
+ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset);
+__attribute__((weak))
+ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset)
+{
+   return __libc_pwrite(fd, buf, count, offset);
+}
+
+
+extern 
+ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset);
+__attribute__((weak))
+ssize_t pread(int fd, void *buf, size_t count, off_t offset)
+{
+   return __libc_pread(fd, buf, count, offset);
+}
+
+
 extern  
 void __libc_longjmp(jmp_buf env, int val) __attribute((noreturn));
 /* not weak: __attribute__((weak)) */
@@ -1556,8 +1574,6 @@ strong_alias(fcntl, __fcntl)
 strong_alias(lseek, __lseek)
 strong_alias(open, __open)
 strong_alias(open64, __open64)
-//strong_alias(pread64, __pread64)
-//strong_alias(pwrite64, __pwrite64)
 strong_alias(read, __read)
 strong_alias(wait, __wait)
 strong_alias(write, __write)
index 93a12469454e99770b9f7a07c206628b3717800d..66c586e7dbd3f98381f00cfd80f6044fc746f84d 100644 (file)
@@ -200,8 +200,8 @@ weak_alias(pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock)
 //weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock)
 weak_alias(_IO_ftrylockfile, ftrylockfile)
 
-__attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); }
-__attribute__((weak)) void pwrite ( void ) { vgPlain_unimp("pwrite"); }
+//__attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); }
+//__attribute__((weak)) void pwrite ( void ) { vgPlain_unimp("pwrite"); }
 __attribute__((weak)) void msync ( void ) { vgPlain_unimp("msync"); }
 __attribute__((weak)) void pause ( void ) { vgPlain_unimp("pause"); }
 __attribute__((weak)) void recvfrom ( void ) { vgPlain_unimp("recvfrom"); }
index 93cb7373ddaa2811c70cd3b77542b713f58c23ab..c9956ccb74d2d2c8a42c0e32b39c38fac8447a69 100644 (file)
@@ -1138,6 +1138,24 @@ ssize_t __pwrite64 (int __fd, const void *__buf, size_t __nbytes,
 }
 
 
+extern 
+ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset);
+__attribute__((weak))
+ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset)
+{
+   return __libc_pwrite(fd, buf, count, offset);
+}
+
+
+extern 
+ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset);
+__attribute__((weak))
+ssize_t pread(int fd, void *buf, size_t count, off_t offset)
+{
+   return __libc_pread(fd, buf, count, offset);
+}
+
+
 extern  
 void __libc_longjmp(jmp_buf env, int val) __attribute((noreturn));
 /* not weak: __attribute__((weak)) */
@@ -1556,8 +1574,6 @@ strong_alias(fcntl, __fcntl)
 strong_alias(lseek, __lseek)
 strong_alias(open, __open)
 strong_alias(open64, __open64)
-//strong_alias(pread64, __pread64)
-//strong_alias(pwrite64, __pwrite64)
 strong_alias(read, __read)
 strong_alias(wait, __wait)
 strong_alias(write, __write)
index 93a12469454e99770b9f7a07c206628b3717800d..66c586e7dbd3f98381f00cfd80f6044fc746f84d 100644 (file)
@@ -200,8 +200,8 @@ weak_alias(pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock)
 //weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock)
 weak_alias(_IO_ftrylockfile, ftrylockfile)
 
-__attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); }
-__attribute__((weak)) void pwrite ( void ) { vgPlain_unimp("pwrite"); }
+//__attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); }
+//__attribute__((weak)) void pwrite ( void ) { vgPlain_unimp("pwrite"); }
 __attribute__((weak)) void msync ( void ) { vgPlain_unimp("msync"); }
 __attribute__((weak)) void pause ( void ) { vgPlain_unimp("pause"); }
 __attribute__((weak)) void recvfrom ( void ) { vgPlain_unimp("recvfrom"); }
index 93cb7373ddaa2811c70cd3b77542b713f58c23ab..c9956ccb74d2d2c8a42c0e32b39c38fac8447a69 100644 (file)
@@ -1138,6 +1138,24 @@ ssize_t __pwrite64 (int __fd, const void *__buf, size_t __nbytes,
 }
 
 
+extern 
+ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset);
+__attribute__((weak))
+ssize_t pwrite(int fd, const void *buf, size_t count, off_t offset)
+{
+   return __libc_pwrite(fd, buf, count, offset);
+}
+
+
+extern 
+ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset);
+__attribute__((weak))
+ssize_t pread(int fd, void *buf, size_t count, off_t offset)
+{
+   return __libc_pread(fd, buf, count, offset);
+}
+
+
 extern  
 void __libc_longjmp(jmp_buf env, int val) __attribute((noreturn));
 /* not weak: __attribute__((weak)) */
@@ -1556,8 +1574,6 @@ strong_alias(fcntl, __fcntl)
 strong_alias(lseek, __lseek)
 strong_alias(open, __open)
 strong_alias(open64, __open64)
-//strong_alias(pread64, __pread64)
-//strong_alias(pwrite64, __pwrite64)
 strong_alias(read, __read)
 strong_alias(wait, __wait)
 strong_alias(write, __write)
index 93a12469454e99770b9f7a07c206628b3717800d..66c586e7dbd3f98381f00cfd80f6044fc746f84d 100644 (file)
@@ -200,8 +200,8 @@ weak_alias(pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock)
 //weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock)
 weak_alias(_IO_ftrylockfile, ftrylockfile)
 
-__attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); }
-__attribute__((weak)) void pwrite ( void ) { vgPlain_unimp("pwrite"); }
+//__attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); }
+//__attribute__((weak)) void pwrite ( void ) { vgPlain_unimp("pwrite"); }
 __attribute__((weak)) void msync ( void ) { vgPlain_unimp("msync"); }
 __attribute__((weak)) void pause ( void ) { vgPlain_unimp("pause"); }
 __attribute__((weak)) void recvfrom ( void ) { vgPlain_unimp("recvfrom"); }