]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
build-sys: don't check for swapon() number of arguments
authorKarel Zak <kzak@redhat.com>
Mon, 18 Dec 2017 12:57:20 +0000 (13:57 +0100)
committerKarel Zak <kzak@redhat.com>
Mon, 18 Dec 2017 12:57:20 +0000 (13:57 +0100)
The syscall swapon() with two arguments is supported since Linux 1.3.2
and it's really long time ago... Let's assume that all libc header files
have been already fixed.

Signed-off-by: Karel Zak <kzak@redhat.com>
configure.ac
sys-utils/swapoff.c
sys-utils/swapon.c

index 1cb18dc20141fc535060ec79b74b065c7c130229..4403391e78e3a0deb031a1934326526511fd1701 100644 (file)
@@ -343,20 +343,6 @@ AC_CHECK_MEMBERS([struct termios.c_line],,,
 AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
        [#include <sys/stat.h>])
 
-AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
-[[
-#ifdef HAVE_SYS_SWAP_H
-# include <sys/swap.h>
-#endif
-#include <unistd.h>
-]],
-[[swapon("/dev/null", 0);]])],
-[AC_DEFINE([SWAPON_HAS_TWO_ARGS], [1], [Is swapon() declared with two parameters?])
-],
-[AC_MSG_NOTICE([Your libc thinks that swapon has 1 arg only.])
-])
-
-
 AC_CHECK_DECLS([_NL_TIME_WEEK_1STDAY],[],[],[[#include <langinfo.h>]])
 
 AC_CHECK_DECL([llseek],
@@ -1431,10 +1417,14 @@ AM_CONDITIONAL([BUILD_FSTRIM], [test "x$build_fstrim" = xyes])
 
 UL_BUILD_INIT([swapon], [check])
 UL_REQUIRES_LINUX([swapon])
+UL_REQUIRES_SYSCALL_CHECK([swapon], [UL_CHECK_SYSCALL([swapon])], [swapon])
+UL_REQUIRES_SYSCALL_CHECK([swapon], [UL_CHECK_SYSCALL([swapoff])], [swapoff])
 UL_REQUIRES_BUILD([swapon], [libblkid])
 UL_REQUIRES_BUILD([swapon], [libmount])
 UL_REQUIRES_BUILD([swapon], [libsmartcols])
 AM_CONDITIONAL([BUILD_SWAPON], [test "x$build_swapon" = xyes])
+AC_CHECK_FUNCS([swapon])
+AC_CHECK_FUNCS([swapoff])
 
 
 UL_BUILD_INIT([lsblk], [check])
index e5e059d745931634e73955510981befc10d17c55..0a3807fdac15e52cee6a90da7f0bb1e290f454dc 100644 (file)
@@ -14,8 +14,7 @@
 #include "swapprober.h"
 #include "swapon-common.h"
 
-#ifndef SWAPON_HAS_TWO_ARGS
-/* libc is insane, let's call the kernel */
+#if !defined(HAVE_SWAPOFF) && defined(SYS_swapoff)
 # include <sys/syscall.h>
 # define swapoff(path) syscall(SYS_swapoff, path)
 #endif
index 6bf67a91f81d5ba586225e84b318d50e3b12715e..13437f7719b3bb16a2e1b5b2e40a41c653430b9d 100644 (file)
@@ -59,8 +59,7 @@
 # define SWAP_FLAG_PRIO_SHIFT  0
 #endif
 
-#ifndef SWAPON_HAS_TWO_ARGS
-/* libc is insane, let's call the kernel */
+#if !defined(HAVE_SWAPON) && defined(SYS_swapon)
 # include <sys/syscall.h>
 # define swapon(path, flags) syscall(SYS_swapon, path, flags)
 #endif