mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-07 06:43:00 +03:00
Remove __ASSUME_FADVISE64_64_SYSCALL.
This commit is contained in:
33
ChangeLog
33
ChangeLog
@@ -1,3 +1,36 @@
|
|||||||
|
2012-08-21 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/kernel-features.h
|
||||||
|
(__ASSUME_FADVISE64_64_SYSCALL): Remove.
|
||||||
|
* sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Do not include
|
||||||
|
<kernel-features.h>.
|
||||||
|
[__NR_fadvise64_64]: Make code unconditional.
|
||||||
|
[!__ASSUME_FADVISE64_64_SYSCALL]: Remove conditional code.
|
||||||
|
[__NR_fadvise64 && (!__ASSUME_FADVISE64_64_SYSCALL ||
|
||||||
|
!__NR_fadvise64_64)]: Likewise.
|
||||||
|
[!(__NR_fadvise64 && (!__ASSUME_FADVISE64_64_SYSCALL ||
|
||||||
|
!__NR_fadvise64_64))]: Likewise.
|
||||||
|
[__NR_fadvise64]: Make code unconditional.
|
||||||
|
[!__NR_fadvise64]: Remove conditional code.
|
||||||
|
* sysdeps/unix/sysv/linux/posix_fadvise64.c: Do not include
|
||||||
|
<kernel-features.h>.
|
||||||
|
(__posix_fadvise64_l64) [__NR_fadvise64_64]: Make code
|
||||||
|
unconditional.
|
||||||
|
(_posix_fadvise64_l64) [!__ASSUME_FADVISE64_64_SYSCALL]: Remove
|
||||||
|
conditional code.
|
||||||
|
* sysdeps/unix/sysv/linux/powerpc/powerpc32/posix_fadvise64.c: Do
|
||||||
|
not include <kernel-features.h>.
|
||||||
|
(__posix_fadvise64_l64) [__NR_fadvise64_64]: Make code
|
||||||
|
unconditional.
|
||||||
|
(_posix_fadvise64_l64) [!__ASSUME_FADVISE64_64_SYSCALL]: Remove
|
||||||
|
conditional code.
|
||||||
|
* sysdeps/unix/sysv/linux/s390/s390-32/posix_fadvise64.c: Do not
|
||||||
|
include <kernel-features.h>.
|
||||||
|
(__posix_fadvise64_l64) [__NR_fadvise64_64]: Make code
|
||||||
|
unconditional.
|
||||||
|
(_posix_fadvise64_l64) [!__ASSUME_FADVISE64_64_SYSCALL]: Remove
|
||||||
|
conditional code.
|
||||||
|
|
||||||
2012-08-21 Will Schmidt <will_schmidt@vnet.ibm.com>
|
2012-08-21 Will Schmidt <will_schmidt@vnet.ibm.com>
|
||||||
|
|
||||||
* sysdeps/powerpc/powerpc64/power7/memchr.S: Unrolled short loop and
|
* sysdeps/powerpc/powerpc64/power7/memchr.S: Unrolled short loop and
|
||||||
|
@@ -1,3 +1,8 @@
|
|||||||
|
2012-08-21 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
|
||||||
|
(__ASSUME_FADVISE64_64_SYSCALL): Remove.
|
||||||
|
|
||||||
2012-08-20 Joseph Myers <joseph@codesourcery.com>
|
2012-08-20 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
|
* sysdeps/unix/sysv/linux/m68k/kernel-features.h
|
||||||
|
@@ -1,3 +1,8 @@
|
|||||||
|
2012-08-21 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* sysdeps/unix/sysv/linux/tile/kernel-features.h
|
||||||
|
(__ASSUME_FADVISE64_64_SYSCALL): Remove.
|
||||||
|
|
||||||
2012-08-20 Joseph Myers <joseph@codesourcery.com>
|
2012-08-20 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* sysdeps/unix/sysv/linux/tile/kernel-features.h
|
* sysdeps/unix/sysv/linux/tile/kernel-features.h
|
||||||
|
@@ -22,7 +22,6 @@
|
|||||||
|
|
||||||
/* Many syscalls were added in 2.6.10 for m68k. */
|
/* Many syscalls were added in 2.6.10 for m68k. */
|
||||||
#define __ASSUME_UTIMES 1
|
#define __ASSUME_UTIMES 1
|
||||||
#define __ASSUME_FADVISE64_64_SYSCALL 1
|
|
||||||
|
|
||||||
#include_next <kernel-features.h>
|
#include_next <kernel-features.h>
|
||||||
|
|
||||||
|
@@ -20,7 +20,6 @@
|
|||||||
/* TILE glibc support starts with 2.6.36, guaranteeing many kernel features. */
|
/* TILE glibc support starts with 2.6.36, guaranteeing many kernel features. */
|
||||||
#define __ASSUME_STAT64_SYSCALL 1
|
#define __ASSUME_STAT64_SYSCALL 1
|
||||||
#define __ASSUME_UTIMES 1
|
#define __ASSUME_UTIMES 1
|
||||||
#define __ASSUME_FADVISE64_64_SYSCALL 1
|
|
||||||
#define __ASSUME_O_CLOEXEC 1
|
#define __ASSUME_O_CLOEXEC 1
|
||||||
#define __ASSUME_SOCK_CLOEXEC 1
|
#define __ASSUME_SOCK_CLOEXEC 1
|
||||||
#define __ASSUME_IN_NONBLOCK 1
|
#define __ASSUME_IN_NONBLOCK 1
|
||||||
|
@@ -1,5 +1,4 @@
|
|||||||
/* Copyright (C) 1995-2000,2002,2003,2004,2005,2006
|
/* Copyright (C) 1995-2012 Free Software Foundation, Inc.
|
||||||
Free Software Foundation, Inc.
|
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -20,8 +19,6 @@
|
|||||||
#include <bp-sym.h>
|
#include <bp-sym.h>
|
||||||
#include <bp-asm.h>
|
#include <bp-asm.h>
|
||||||
|
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
#define EINVAL 22
|
#define EINVAL 22
|
||||||
#define ENOSYS 38
|
#define ENOSYS 38
|
||||||
#define EOVERFLOW 75
|
#define EOVERFLOW 75
|
||||||
@@ -38,8 +35,6 @@
|
|||||||
.text
|
.text
|
||||||
ENTRY (BP_SYM (__posix_fadvise64_l64))
|
ENTRY (BP_SYM (__posix_fadvise64_l64))
|
||||||
|
|
||||||
#ifdef __NR_fadvise64_64
|
|
||||||
|
|
||||||
/* Save registers. */
|
/* Save registers. */
|
||||||
pushl %ebp
|
pushl %ebp
|
||||||
cfi_adjust_cfa_offset (4)
|
cfi_adjust_cfa_offset (4)
|
||||||
@@ -78,11 +73,6 @@ ENTRY (BP_SYM (__posix_fadvise64_l64))
|
|||||||
cfi_adjust_cfa_offset (-4)
|
cfi_adjust_cfa_offset (-4)
|
||||||
cfi_restore (ebp)
|
cfi_restore (ebp)
|
||||||
|
|
||||||
#ifndef __ASSUME_FADVISE64_64_SYSCALL
|
|
||||||
cmpl $-ENOSYS, %eax
|
|
||||||
je 1f
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* The function returns zero, or the error number. So all we
|
/* The function returns zero, or the error number. So all we
|
||||||
have to do is negate the value passed back from the kernel. */
|
have to do is negate the value passed back from the kernel. */
|
||||||
/* If 0 > %eax > -4096 there was an error. */
|
/* If 0 > %eax > -4096 there was an error. */
|
||||||
@@ -90,72 +80,15 @@ ENTRY (BP_SYM (__posix_fadvise64_l64))
|
|||||||
|
|
||||||
/* Successful; return the syscall's value. */
|
/* Successful; return the syscall's value. */
|
||||||
ret
|
ret
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined __NR_fadvise64 \
|
|
||||||
&& (!defined __ASSUME_FADVISE64_64_SYSCALL || !defined __NR_fadvise64_64)
|
|
||||||
1: /* Save registers. */
|
|
||||||
pushl %ebx
|
|
||||||
cfi_adjust_cfa_offset (4)
|
|
||||||
pushl %esi
|
|
||||||
cfi_adjust_cfa_offset (4)
|
|
||||||
pushl %edi
|
|
||||||
cfi_adjust_cfa_offset (4)
|
|
||||||
|
|
||||||
/* Overflow check. */
|
|
||||||
cmpl $0, LENHI(%esp)
|
|
||||||
movl $-EOVERFLOW, %eax
|
|
||||||
jne L(overflow)
|
|
||||||
|
|
||||||
movl FD(%esp), %ebx
|
|
||||||
cfi_rel_offset (ebx, 8)
|
|
||||||
movl OFFLO(%esp), %ecx
|
|
||||||
movl OFFHI(%esp), %edx
|
|
||||||
movl LENLO(%esp), %esi
|
|
||||||
cfi_rel_offset (esi, 4)
|
|
||||||
movl FLAGS(%esp), %edi
|
|
||||||
cfi_rel_offset (edi, 0)
|
|
||||||
|
|
||||||
movl $SYS_ify(fadvise64), %eax
|
|
||||||
ENTER_KERNEL
|
|
||||||
|
|
||||||
/* Restore registers. */
|
|
||||||
L(overflow):
|
|
||||||
popl %edi
|
|
||||||
cfi_adjust_cfa_offset (-4)
|
|
||||||
cfi_restore (edi)
|
|
||||||
popl %esi
|
|
||||||
cfi_adjust_cfa_offset (-4)
|
|
||||||
cfi_restore (esi)
|
|
||||||
popl %ebx
|
|
||||||
cfi_adjust_cfa_offset (-4)
|
|
||||||
cfi_restore (ebx)
|
|
||||||
|
|
||||||
/* If 0 > %eax > -4096 there was an error. */
|
|
||||||
negl %eax
|
|
||||||
|
|
||||||
/* Successful; return the syscall's value. */
|
|
||||||
ret
|
|
||||||
#else
|
|
||||||
movl $ENOSYS, %eax
|
|
||||||
ret
|
|
||||||
#endif
|
|
||||||
|
|
||||||
END (BP_SYM (__posix_fadvise64_l64))
|
END (BP_SYM (__posix_fadvise64_l64))
|
||||||
|
|
||||||
#ifdef __NR_fadvise64
|
|
||||||
.section .text.compat, "ax"
|
.section .text.compat, "ax"
|
||||||
ENTRY (__posix_fadvise64_l32)
|
ENTRY (__posix_fadvise64_l32)
|
||||||
DO_CALL (fadvise64, 5)
|
DO_CALL (fadvise64, 5)
|
||||||
negl %eax
|
negl %eax
|
||||||
ret
|
ret
|
||||||
PSEUDO_END_ERRVAL (__posix_fadvise64_l32)
|
PSEUDO_END_ERRVAL (__posix_fadvise64_l32)
|
||||||
#else
|
|
||||||
ENTRY (BP_SYM (__posix_fadvise64_l32))
|
|
||||||
movl $ENOSYS, %eax
|
|
||||||
ret
|
|
||||||
END (BP_SYM (__posix_fadvise64_l32))
|
|
||||||
#endif
|
|
||||||
|
|
||||||
default_symbol_version (__posix_fadvise64_l64, posix_fadvise64, GLIBC_2.3.3)
|
default_symbol_version (__posix_fadvise64_l64, posix_fadvise64, GLIBC_2.3.3)
|
||||||
symbol_version (__posix_fadvise64_l32, posix_fadvise64, GLIBC_2.2)
|
symbol_version (__posix_fadvise64_l32, posix_fadvise64, GLIBC_2.2)
|
||||||
|
@@ -98,14 +98,6 @@
|
|||||||
# define __ASSUME_UTIMES 1
|
# define __ASSUME_UTIMES 1
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* The fixed version of the posix_fadvise64 syscall appeared in
|
|
||||||
2.6.0-test3. At least for x86 and sparc. Powerpc support appeared
|
|
||||||
in 2.6.2, but for 32-bit userspace only. */
|
|
||||||
#if (defined __i386__ || defined __sparc__ \
|
|
||||||
|| (defined __powerpc__ && !defined __powerpc64__))
|
|
||||||
# define __ASSUME_FADVISE64_64_SYSCALL 1
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* On sparc64 stat64/lstat64/fstat64 syscalls were introduced in 2.6.12. */
|
/* On sparc64 stat64/lstat64/fstat64 syscalls were introduced in 2.6.12. */
|
||||||
#if defined __sparc__ && defined __arch64__
|
#if defined __sparc__ && defined __arch64__
|
||||||
# define __ASSUME_STAT64_SYSCALL 1
|
# define __ASSUME_STAT64_SYSCALL 1
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -18,7 +18,6 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
|
int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
|
||||||
int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
|
int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
|
||||||
@@ -29,7 +28,6 @@ int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
|
|||||||
int
|
int
|
||||||
__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
|
__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
|
||||||
{
|
{
|
||||||
#ifdef __NR_fadvise64_64
|
|
||||||
INTERNAL_SYSCALL_DECL (err);
|
INTERNAL_SYSCALL_DECL (err);
|
||||||
int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
|
int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd,
|
||||||
__LONG_LONG_PAIR ((long) (offset >> 32),
|
__LONG_LONG_PAIR ((long) (offset >> 32),
|
||||||
@@ -39,28 +37,7 @@ __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
|
|||||||
advise);
|
advise);
|
||||||
if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
|
if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
|
||||||
return 0;
|
return 0;
|
||||||
# ifndef __ASSUME_FADVISE64_64_SYSCALL
|
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
||||||
if (INTERNAL_SYSCALL_ERRNO (ret, err) != ENOSYS)
|
|
||||||
# endif
|
|
||||||
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
|
||||||
#endif
|
|
||||||
#ifndef __ASSUME_FADVISE64_64_SYSCALL
|
|
||||||
# ifdef __NR_fadvise64
|
|
||||||
if (len != (off_t) len)
|
|
||||||
return EOVERFLOW;
|
|
||||||
|
|
||||||
INTERNAL_SYSCALL_DECL (err2);
|
|
||||||
int ret2 = INTERNAL_SYSCALL (fadvise64, err2, 5, fd,
|
|
||||||
__LONG_LONG_PAIR ((long) (offset >> 32),
|
|
||||||
(long) offset),
|
|
||||||
(off_t) len, advise);
|
|
||||||
if (!INTERNAL_SYSCALL_ERROR_P (ret2, err2))
|
|
||||||
return 0;
|
|
||||||
return INTERNAL_SYSCALL_ERRNO (ret2, err2);
|
|
||||||
# else
|
|
||||||
return ENOSYS;
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <shlib-compat.h>
|
#include <shlib-compat.h>
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -18,7 +18,6 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
|
int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
|
||||||
int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
|
int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
|
||||||
@@ -29,34 +28,13 @@ int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
|
|||||||
int
|
int
|
||||||
__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
|
__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
|
||||||
{
|
{
|
||||||
#ifdef __NR_fadvise64_64
|
|
||||||
INTERNAL_SYSCALL_DECL (err);
|
INTERNAL_SYSCALL_DECL (err);
|
||||||
int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, advise,
|
int ret = INTERNAL_SYSCALL (fadvise64_64, err, 6, fd, advise,
|
||||||
__LONG_LONG_PAIR ((long)(offset >> 32), (long)offset),
|
__LONG_LONG_PAIR ((long)(offset >> 32), (long)offset),
|
||||||
__LONG_LONG_PAIR ((long)(len >> 32), (long)len));
|
__LONG_LONG_PAIR ((long)(len >> 32), (long)len));
|
||||||
if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
|
if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
|
||||||
return 0;
|
return 0;
|
||||||
# ifndef __ASSUME_FADVISE64_64_SYSCALL
|
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
||||||
if (INTERNAL_SYSCALL_ERRNO (ret, err) != ENOSYS)
|
|
||||||
# endif
|
|
||||||
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
|
||||||
#endif
|
|
||||||
#ifndef __ASSUME_FADVISE64_64_SYSCALL
|
|
||||||
# ifdef __NR_fadvise64
|
|
||||||
if (len != (off_t) len)
|
|
||||||
return EOVERFLOW;
|
|
||||||
|
|
||||||
INTERNAL_SYSCALL_DECL (err2);
|
|
||||||
int ret2 = INTERNAL_SYSCALL (fadvise64, err2, 6, fd, 0,
|
|
||||||
__LONG_LONG_PAIR ((long)(offset >> 32), (long)offset),
|
|
||||||
(off_t) len, advise);
|
|
||||||
if (!INTERNAL_SYSCALL_ERROR_P (ret2, err2))
|
|
||||||
return 0;
|
|
||||||
return INTERNAL_SYSCALL_ERRNO (ret2, err2);
|
|
||||||
# else
|
|
||||||
return ENOSYS;
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <shlib-compat.h>
|
#include <shlib-compat.h>
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
/* Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
/* Copyright (C) 2003-2012 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
The GNU C Library is free software; you can redistribute it and/or
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
@@ -18,7 +18,6 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <sysdep.h>
|
#include <sysdep.h>
|
||||||
#include <kernel-features.h>
|
|
||||||
|
|
||||||
int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
|
int __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise);
|
||||||
int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
|
int __posix_fadvise64_l32 (int fd, off64_t offset, size_t len, int advise);
|
||||||
@@ -37,7 +36,6 @@ struct fadvise64_64_layout
|
|||||||
int
|
int
|
||||||
__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
|
__posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
|
||||||
{
|
{
|
||||||
#ifdef __NR_fadvise64_64
|
|
||||||
struct fadvise64_64_layout parameters;
|
struct fadvise64_64_layout parameters;
|
||||||
INTERNAL_SYSCALL_DECL (err);
|
INTERNAL_SYSCALL_DECL (err);
|
||||||
|
|
||||||
@@ -48,28 +46,7 @@ __posix_fadvise64_l64 (int fd, off64_t offset, off64_t len, int advise)
|
|||||||
int ret = INTERNAL_SYSCALL (fadvise64_64, err, 1, ¶meters);
|
int ret = INTERNAL_SYSCALL (fadvise64_64, err, 1, ¶meters);
|
||||||
if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
|
if (!INTERNAL_SYSCALL_ERROR_P (ret, err))
|
||||||
return 0;
|
return 0;
|
||||||
# ifndef __ASSUME_FADVISE64_64_SYSCALL
|
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
||||||
if (INTERNAL_SYSCALL_ERRNO (ret, err) != ENOSYS)
|
|
||||||
# endif
|
|
||||||
return INTERNAL_SYSCALL_ERRNO (ret, err);
|
|
||||||
#endif
|
|
||||||
#ifndef __ASSUME_FADVISE64_64_SYSCALL
|
|
||||||
# ifdef __NR_fadvise64
|
|
||||||
if (len != (off_t) len)
|
|
||||||
return EOVERFLOW;
|
|
||||||
|
|
||||||
INTERNAL_SYSCALL_DECL (err2);
|
|
||||||
int ret2 = INTERNAL_SYSCALL (fadvise64, err2, 5, fd,
|
|
||||||
__LONG_LONG_PAIR ((long) (offset >> 32),
|
|
||||||
(long) offset),
|
|
||||||
(off_t) len, advise);
|
|
||||||
if (!INTERNAL_SYSCALL_ERROR_P (ret2, err2))
|
|
||||||
return 0;
|
|
||||||
return INTERNAL_SYSCALL_ERRNO (ret2, err2);
|
|
||||||
# else
|
|
||||||
return ENOSYS;
|
|
||||||
# endif
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#include <shlib-compat.h>
|
#include <shlib-compat.h>
|
||||||
|
Reference in New Issue
Block a user