Obsolete nfsservctl

Message ID alpine.DEB.2.20.1805181542200.9493@digraph.polyomino.org.uk
State New, archived
Headers

Commit Message

Joseph Myers May 18, 2018, 3:43 p.m. UTC
  The Linux nfsservctl syscall was removed in Linux 3.1.  Since the
minimum kernel version for use with glibc is 3.2, the glibc wrapper
for this syscall can no longer usefully be called.  This patch makes
it into a compat symbol, not provided at all for static linking or new
ports.  (It was already the case that there was no header declaration
of this function.)

Tested for x86_64.

2018-05-18  Joseph Myers  <joseph@codesourcery.com>

	* sysdeps/unix/sysv/linux/syscalls.list (nfsservctl): Make into a
	compat symbol, disabled for minimum symbol version GLIBC_2.28 and
	later.
  

Comments

Florian Weimer May 18, 2018, 4:47 p.m. UTC | #1
On 05/18/2018 05:43 PM, Joseph Myers wrote:
> 2018-05-18  Joseph Myers<joseph@codesourcery.com>
> 
> 	* sysdeps/unix/sysv/linux/syscalls.list (nfsservctl): Make into a
> 	compat symbol, disabled for minimum symbol version GLIBC_2.28 and
> 	later.

Patch looks okay to me.

Thanks,
Florian
  

Patch

diff --git a/NEWS b/NEWS
index 4899a0a..bade9e4 100644
--- a/NEWS
+++ b/NEWS
@@ -69,6 +69,11 @@  Deprecated and removed features, and other changes affecting compatibility:
   binaries; the headers <ustat.h> and <sys/ustat.h> have been removed.  This
   function has been deprecated in favor of fstatfs and statfs.
 
+* The obsolete function nfsservctl is no longer available to newly linked
+  binaries.  This function was specific to systems using the Linux kernel
+  and could not usefully be used with the GNU C Library on systems with
+  version 3.1 or later of the Linux kernel.
+
 Changes to build and runtime requirements:
 
   [Add changes to build and runtime requirements here]
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index e3dfd0c..e24ea29 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -41,7 +41,7 @@  mount		EXTRA	mount		i:sssip	__mount	mount
 mremap		EXTRA	mremap		b:ainip	__mremap	mremap
 munlock		-	munlock		i:ai	munlock
 munlockall	-	munlockall	i:	munlockall
-nfsservctl	EXTRA	nfsservctl	i:ipp	nfsservctl
+nfsservctl	EXTRA	nfsservctl	i:ipp	__compat_nfsservctl	nfsservctl@GLIBC_2.0:GLIBC_2.28
 pipe		-	pipe		i:f	__pipe		pipe
 pipe2		-	pipe2		i:fi	__pipe2		pipe2
 pivot_root	EXTRA	pivot_root	i:ss	pivot_root