Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Add sysctl.mk and bits/sysctl.h
  • Loading branch information
H.J. Lu committed May 22, 2012
1 parent 7333835 commit c900932
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 1 deletion.
11 changes: 11 additions & 0 deletions ChangeLog
@@ -1,3 +1,14 @@
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
Expand Down
4 changes: 3 additions & 1 deletion sysdeps/unix/sysv/linux/Makefile
Expand Up @@ -17,7 +17,9 @@ sysdep_routines += internal_accept4 recvmmsg internal_recvmmsg sendmmsg \
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

Expand Down
1 change: 1 addition & 0 deletions sysdeps/unix/sysv/linux/bits/sysctl.h
@@ -0,0 +1 @@
/* Empty file. */
2 changes: 2 additions & 0 deletions sysdeps/unix/sysv/linux/sys/sysctl.h
Expand Up @@ -60,6 +60,8 @@
# undef __undef__LINUX_COMPILER_H
#endif

#include <bits/sysctl.h>

__BEGIN_DECLS

/* Read or write system parameters. */
Expand Down
3 changes: 3 additions & 0 deletions sysdeps/unix/sysv/linux/sysctl.mk
@@ -0,0 +1,3 @@
# 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
20 changes: 20 additions & 0 deletions sysdeps/unix/sysv/linux/x86_64/bits/sysctl.h
@@ -0,0 +1,20 @@
/* 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
2 changes: 2 additions & 0 deletions sysdeps/unix/sysv/linux/x86_64/x32/sysctl.mk
@@ -0,0 +1,2 @@
# X32 doesn't support sysctl.
sysctl =

0 comments on commit c900932

Please sign in to comment.