Patchwork Correct SH kernel-features.h undefines (bug 23862)

login
register
mail settings
Submitter Joseph Myers
Date Nov. 6, 2018, 1:19 a.m.
Message ID <alpine.DEB.2.21.1811060118220.3016@digraph.polyomino.org.uk>
Download mbox | patch
Permalink /patch/30033/
State Committed
Headers show

Comments

Joseph Myers - Nov. 6, 2018, 1:19 a.m.
The SH kernel-features.h undefines __ASSUME_RENAMEAT2 for kernel
versions before 4.8, but fails to undefine __ASSUME_EXECVEAT,
__ASSUME_MLOCK2 and __ASSUME_COPY_FILE_RANGE, although all those
syscalls (and several others) were added for SH in the same Linux
kernel commit (first released in 4.8).  This patch adds the proper
undefines of those macros.

Tested with build-many-glibcs.py for its SH configurations.

2018-11-06  Joseph Myers  <joseph@codesourcery.com>

	[BZ #23862]
	* sysdeps/unix/sysv/linux/sh/kernel-features.h
	[__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_EXECVEAT): Undefine.
	[__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_MLOCK2): Likewise.
	[__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_COPY_FILE_RANGE):
	Likewise.
Florian Weimer - Nov. 6, 2018, 12:49 p.m.
* Joseph Myers:

> 	[BZ #23862]
> 	* sysdeps/unix/sysv/linux/sh/kernel-features.h
> 	[__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_EXECVEAT): Undefine.
> 	[__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_MLOCK2): Likewise.
> 	[__LINUX_KERNEL_VERSION < 0x040800] (__ASSUME_COPY_FILE_RANGE):
> 	Likewise.

This looks okay based on this kernel commit:

commit 74bdaa611fa69368fb4032ad437af073d31116bd
Author: Yoshinori Sato <ysato@users.sourceforge.jp>
Date:   Tue Jun 28 15:49:46 2016 +0900

    sh: system call wire up

Thanks,
Florian

Patch

diff --git a/sysdeps/unix/sysv/linux/sh/kernel-features.h b/sysdeps/unix/sysv/linux/sh/kernel-features.h
index b8ccb01518..60b6a8126b 100644
--- a/sysdeps/unix/sysv/linux/sh/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/sh/kernel-features.h
@@ -51,9 +51,12 @@ 
 /* sh only supports ipc syscall.  */
 #undef __ASSUME_DIRECT_SYSVIPC_SYSCALLS
 
-/* Support for the renameat2 syscall was added in 4.8.  */
+/* Support for several syscalls was added in 4.8.  */
 #if __LINUX_KERNEL_VERSION < 0x040800
 # undef __ASSUME_RENAMEAT2
+# undef __ASSUME_EXECVEAT
+# undef __ASSUME_MLOCK2
+# undef __ASSUME_COPY_FILE_RANGE
 #endif
 
 /* sh does not support the statx system call.  */