mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-11 11:50:06 +00:00
Fix MIPS o32 posix_fadvise.
The posix_fadvise consolidation broke posix_fadvise for MIPS o32, so resulting in posix/tst-posix_fadvise failing. MIPS o32 (and the other ABIs) has only the posix_fadvise64 syscall, which acts like posix_fadvise64_64 (in the o32 case, because of the alignment argument it's actually a 7-argument syscall). The generic posix_fadvise implementation presumes that if __NR_fadvise64 is defined, it's for the case where a single len argument is passed to the syscall rather than two syscall arguments in the case of a 32-bit system. The generic posix_fadvise64 works fine for this case (defining __NR_fadvise64_64 to __NR_fadvise64 as needed). ARM has a posix_fadvise.c that uses __posix_fadvise64_l64 in posix_fadvise, and that approach also works for MIPS o32, so this patch makes MIPS o32 include the ARM file. Tested for MIPS o32. * sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c: New file.
This commit is contained in:
parent
4dfb9c9411
commit
c1f0601389
@ -1,5 +1,7 @@
|
||||
2017-01-12 Joseph Myers <joseph@codesourcery.com>
|
||||
|
||||
* sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c: New file.
|
||||
|
||||
* math/fgetexcptflg.c (__fegetexceptflag): Store 0 in fexcept_t
|
||||
object.
|
||||
|
||||
|
4
sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c
Normal file
4
sysdeps/unix/sysv/linux/mips/mips32/posix_fadvise.c
Normal file
@ -0,0 +1,4 @@
|
||||
/* The o32 MIPS fadvise64 syscall behaves as fadvise64_64. The ARM
|
||||
implementation of posix_fadvise works correctly for this case; the
|
||||
generic implementation mishandles it. */
|
||||
#include <sysdeps/unix/sysv/linux/arm/posix_fadvise.c>
|
Loading…
Reference in New Issue
Block a user