mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-23 03:10:05 +00:00
function if it is not defined. Add some necessary casts.
This commit is contained in:
parent
f9fe75e945
commit
24030b0f78
@ -1,7 +1,7 @@
|
|||||||
2009-04-09 Ulrich Drepper <drepper@redhat.com>
|
2009-04-09 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/preadv.c: Avoid prototype for static
|
* sysdeps/unix/sysv/linux/preadv.c: Avoid prototype for static
|
||||||
function if it is not defined.
|
function if it is not defined. Add some necessary casts.
|
||||||
* sysdeps/unix/sysv/linux/pwritev.c: Likewise.
|
* sysdeps/unix/sysv/linux/pwritev.c: Likewise.
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/kernel-features.h: SPARC and IA64 also
|
* sysdeps/unix/sysv/linux/kernel-features.h: SPARC and IA64 also
|
||||||
|
@ -29,6 +29,13 @@
|
|||||||
#include <sys/syscall.h>
|
#include <sys/syscall.h>
|
||||||
#include <kernel-features.h>
|
#include <kernel-features.h>
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
#define __NR_preadv 295
|
||||||
|
#elif defined __i386__
|
||||||
|
#define __NR_preadv 333
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef PREADV
|
#ifndef PREADV
|
||||||
# define PREADV preadv
|
# define PREADV preadv
|
||||||
# define PREADV_REPLACEMENT __atomic_preadv_replacement
|
# define PREADV_REPLACEMENT __atomic_preadv_replacement
|
||||||
@ -53,14 +60,16 @@ PREADV (fd, vector, count, offset)
|
|||||||
ssize_t result;
|
ssize_t result;
|
||||||
|
|
||||||
if (SINGLE_THREAD_P)
|
if (SINGLE_THREAD_P)
|
||||||
result = INLINE_SYSCALL (preadv, 5, fd, vector, count, offset >> 32,
|
result = INLINE_SYSCALL (preadv, 5, fd, vector, count,
|
||||||
offset & 0xffffffff);
|
(off_t) ((off64_t) offset >> 32),
|
||||||
|
(off_t) (offset & 0xffffffff));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||||
|
|
||||||
result = INLINE_SYSCALL (preadv, 5, fd, vector, count, offset >> 32,
|
result = INLINE_SYSCALL (preadv, 5, fd, vector, count,
|
||||||
offset & 0xffffffff);
|
(off_t) ((off64_t) offset >> 32),
|
||||||
|
(off_t) (offset & 0xffffffff));
|
||||||
|
|
||||||
LIBC_CANCEL_RESET (oldtype);
|
LIBC_CANCEL_RESET (oldtype);
|
||||||
}
|
}
|
||||||
|
@ -29,6 +29,13 @@
|
|||||||
#include <sys/syscall.h>
|
#include <sys/syscall.h>
|
||||||
#include <kernel-features.h>
|
#include <kernel-features.h>
|
||||||
|
|
||||||
|
#ifdef __x86_64__
|
||||||
|
#define __NR_pwritev 296
|
||||||
|
#elif defined __i386__
|
||||||
|
#define __NR_pwritev 334
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifndef PWRITEV
|
#ifndef PWRITEV
|
||||||
# define PWRITEV pwritev
|
# define PWRITEV pwritev
|
||||||
# define PWRITEV_REPLACEMENT __atomic_pwritev_replacement
|
# define PWRITEV_REPLACEMENT __atomic_pwritev_replacement
|
||||||
@ -53,14 +60,16 @@ PWRITEV (fd, vector, count, offset)
|
|||||||
ssize_t result;
|
ssize_t result;
|
||||||
|
|
||||||
if (SINGLE_THREAD_P)
|
if (SINGLE_THREAD_P)
|
||||||
result = INLINE_SYSCALL (pwritev, 5, fd, vector, count, offset >> 32,
|
result = INLINE_SYSCALL (pwritev, 5, fd, vector, count,
|
||||||
offset & 0xffffffff);
|
(off_t) ((off64_t) offset >> 32),
|
||||||
|
(off_t) (offset & 0xffffffff));
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
int oldtype = LIBC_CANCEL_ASYNC ();
|
int oldtype = LIBC_CANCEL_ASYNC ();
|
||||||
|
|
||||||
result = INLINE_SYSCALL (pwritev, 5, fd, vector, count, offset >> 32,
|
result = INLINE_SYSCALL (pwritev, 5, fd, vector, count,
|
||||||
offset & 0xffffffff);
|
(off_t) ((off64_t) offset >> 32),
|
||||||
|
(off_t) (offset & 0xffffffff));
|
||||||
|
|
||||||
LIBC_CANCEL_RESET (oldtype);
|
LIBC_CANCEL_RESET (oldtype);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user