+2012-05-22 H.J. Lu <hongjiu.lu@intel.com>
+
+ * sysdeps/unix/sysv/linux/Makefile: Include
+ $(firstword $(wildcard $(sysdirs:=/sysctl.mk))).
+ (sysdep_routines): Replace sysctl with $(sysctl).
+ * sysdeps/unix/sysv/linux/bits/sysctl.h: New file.
+ * sysdeps/unix/sysv/linux/sysctl.mk: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/bits/sysctl.h: Likewise.
+ * sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk: Likewise.
+ * sysdeps/unix/sysv/linux/sys/sysctl.h: Include <bits/sysctl.h>.
+
2012-05-22 Andreas Jaeger <aj@suse.de>
* sysdeps/unix/sysv/linux/x86_64/sched_getcpu.S: Rearrange code so
endif
ifeq ($(subdir),misc)
-sysdep_routines += sysctl clone llseek umount umount2 readahead \
+include $(firstword $(wildcard $(sysdirs:=/sysctl.mk)))
+
+sysdep_routines += $(sysctl) clone llseek umount umount2 readahead \
setfsuid setfsgid makedev epoll_pwait signalfd \
eventfd eventfd_read eventfd_write prlimit
--- /dev/null
+/* Empty file. */
# undef __undef__LINUX_COMPILER_H
#endif
+#include <bits/sysctl.h>
+
__BEGIN_DECLS
/* Read or write system parameters. */
--- /dev/null
+# sysctl system call has been deprecated. It is provided for backward
+# compatility. New target should override it (see x86_64/x32/sysctl.mk).
+sysctl = sysctl
--- /dev/null
+/* Copyright (C) 2012 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#if defined __x86_64__ && defined __ILP32__
+# error "sysctl system call is unsupported in x32 kernel"
+#endif
--- /dev/null
+# X32 doesn't support sysctl.
+sysctl =