glibc/sysdeps
Adhemerval Zanella 841a67a0ad Consolidate arm and mips posix_fadvise implementations
As noted by c1f0601389, previous posix_fadvise consolidation
broke on mips o32.  As stated in commit message, MIPS o32 only defines
__NR_fadvise64 and it is behaves like __NR_fadvise64_64.

This patches consolidates both ARM and mips o32 version by fixing
the ARM used option (__NR_fadvise64_64 withouth the alignment required
by abi) and added another option, __ASSUME_FADVISE64_AS_64_64,
which is used on mips o32.

When this option is used, posix_fadvise will use __NR_fadvise64_64
behavior (by defining or not __ASSUME_FADVISE64_64_6ARG).  For
mips, if __NR_fadvise64_64 is not defined, __NR_fadvise will be used.

I also updated the posix_fadvise comments to explain better the
different kernel abi used in the supported architectures.

I checked with a mips o32 and verified that posix_fadvise.o is
indeed using 7 argument syscall with the expected argument position.
I also checked on i686-linux-gnu and arm-gnu-eabihf.

	* sysdeps/unix/sysv/linux/arm/posix_fadvise.c: Remove file.
	* sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c: Likewise.
	* sysdeps/unix/sysv/linux/mips/kernel-features.h
	(__ASSUME_FADVISE64_AS_64_64): Define.
	* sysdeps/unix/sysv/linux/posix_fadvise.c [__NR_fadvise64]: Add
	!defined __ASSUME_FADVISE64_AS_64_64 to use syscall issue.
	[!__NR_fadvise64 && __ASSUME_FADVISE64_64_6ARG]: Remove
	__ALIGNMENT_ARG usage.
	[!__NR_fadvise64 && !__ASSUME_FADVISE64_64_6ARG]: Define
	__NR_fadvise64_64 if it is not defined.
2017-02-06 10:21:55 -02:00
..
aarch64 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
alpha alpha: Use saturating arithmetic in memchr 2017-02-01 14:39:04 -08:00
arm Fix ARM fpu_control.h for assemblers requiring VFP insn names (bug 21047). 2017-01-19 00:05:34 +00:00
generic Drop GLIBC_TUNABLES for setxid programs when tunables is disabled (bz #21073) 2017-02-02 15:50:24 +05:30
gnu Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
hppa Remove very old libm-test-ulps entries. 2017-01-20 23:58:49 +00:00
i386 Allow IFUNC relocation against unrelocated shared library 2017-02-02 13:14:59 -08:00
ia64 Remove very old libm-test-ulps entries. 2017-01-20 23:58:49 +00:00
ieee754 Move wrappers to libm-compat-calls-auto 2017-01-04 16:25:04 -02:00
init_array Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
m68k m68k: fix 64bit atomic ops 2017-02-01 01:32:31 +01:00
mach Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
microblaze Remove very old libm-test-ulps entries. 2017-01-20 23:58:49 +00:00
mips New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
nacl Bug 20116: Fix use after free in pthread_create() 2017-01-28 19:21:44 -05:00
nios2 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
nptl Clear list of acquired robust mutexes in the child process after forking. 2017-01-13 17:17:38 +01:00
posix Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
powerpc powerpc: Regenerate ULPs 2017-01-13 09:36:46 -02:00
pthread Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s390 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
sh Remove very old libm-test-ulps entries. 2017-01-20 23:58:49 +00:00
sparc sparc: Remove optimized math routines which cause testsuite failures. 2017-02-03 17:55:25 -08:00
tile tile: Check for pointer add overflow in memchr 2017-01-16 15:44:48 -05:00
unix Consolidate arm and mips posix_fadvise implementations 2017-02-06 10:21:55 -02:00
wordsize-32 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
wordsize-64 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
x86 New pthread rwlock that is more scalable. 2017-01-10 11:50:17 +01:00
x86_64 Allow IFUNC relocation against unrelocated shared library 2017-02-02 13:14:59 -08:00