diff options
author | Joseph Myers <joseph@codesourcery.com> | 2018-11-23 17:53:50 +0000 |
---|---|---|
committer | Joseph Myers <joseph@codesourcery.com> | 2018-11-23 17:53:50 +0000 |
commit | 1283c478aa0a9b3d84320db5745a61b7f61b360c (patch) | |
tree | def3ad714311a2880898cd7b82ac20805d515987 | |
parent | c089fd80c793b1a987e1a6e9a08248b0861ec7ed (diff) | |
download | glibc-1283c478aa0a9b3d84320db5745a61b7f61b360c.tar glibc-1283c478aa0a9b3d84320db5745a61b7f61b360c.tar.gz glibc-1283c478aa0a9b3d84320db5745a61b7f61b360c.tar.bz2 glibc-1283c478aa0a9b3d84320db5745a61b7f61b360c.zip |
Fix Arm __ASSUME_COPY_FILE_RANGE (bug 23915).
The generic kernel-features.h defines __ASSUME_COPY_FILE_RANGE for 4.5
and later kernels. However, for 32-bit Arm binaries running on 64-bit
Arm kernels, the syscall was only wired up in the 4.7 kernel, although
the 32-bit Arm kernel had the syscall from 4.5 onwards. This patch
corrects the Arm kernel-features.h to undefine the macro for
configured minimum kernel versions before 4.7.
Tested (compilation only) with a build-many-glibcs.py build for
arm-linux-gnueabi.
[BZ #23915]
* sysdeps/unix/sysv/linux/arm/kernel-features.h
[__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_COPY_FILE_RANGE):
Undefine.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/arm/kernel-features.h | 7 |
2 files changed, 11 insertions, 3 deletions
@@ -1,3 +1,10 @@ +2018-11-23 Joseph Myers <joseph@codesourcery.com> + + [BZ #23915] + * sysdeps/unix/sysv/linux/arm/kernel-features.h + [__LINUX_KERNEL_VERSION < 0x040700] (__ASSUME_COPY_FILE_RANGE): + Undefine. + 2018-11-23 H.J. Lu <hongjiu.lu@intel.com> * sysdeps/x86/Makefile (tests): Add tst-cet-legacy-1a. diff --git a/sysdeps/unix/sysv/linux/arm/kernel-features.h b/sysdeps/unix/sysv/linux/arm/kernel-features.h index c6e745227c..e4ca98bfea 100644 --- a/sysdeps/unix/sysv/linux/arm/kernel-features.h +++ b/sysdeps/unix/sysv/linux/arm/kernel-features.h @@ -40,11 +40,12 @@ #define __ASSUME_RECV_SYSCALL 1 #define __ASSUME_SEND_SYSCALL 1 -/* Support for the mlock2 syscall was added to the compat syscall - table for 64-bit kernels in 4.7, although present in 32-bit kernels - from 4.4. */ +/* Support for the mlock2 and copy_file_range syscalls was added to + the compat syscall table for 64-bit kernels in 4.7, although + present in 32-bit kernels from 4.4 and 4.5 respectively. */ #if __LINUX_KERNEL_VERSION < 0x040700 # undef __ASSUME_MLOCK2 +# undef __ASSUME_COPY_FILE_RANGE #endif #undef __ASSUME_CLONE_DEFAULT |