From e08af84191b2a8ca226e1c72c27c63dcf8ac8c27 Mon Sep 17 00:00:00 2001
From: Sami Kerola <kerolasa@iki.fi>
Date: Sun, 28 Jul 2013 22:11:16 +0100
Subject: [PATCH] setarch: prefer preprocessor rather than autotools check
It seems to be pointless to spend time in ./configure phase when
preprocessor has to perform #ifndef check anyway.
[kzak@redhat.com: -
Note that on RHEL-7 glibc' <sys/personality.h> does not contain the
same set of the flags like <linux/personality.h>. We need to include
glibc version dues to syscall, so it seems better make our macro
fallbacks more robust.]
Addresses: http://bugzilla.redhat.com/show_bug.cgi?id=1690102
Upstream: http://github.com/karelzak/util-linux/commit/f29a3d1868c847ae41bc681db58bd087fc9f941d
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
---
configure.ac | 12 ------------
sys-utils/setarch.c | 22 +++++++++++-----------
2 files changed, 11 insertions(+), 23 deletions(-)
diff --git a/configure.ac b/configure.ac
index 4c5d098e6..49de6c6b3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -260,18 +260,6 @@ AC_CHECK_MEMBERS([struct termios.c_line],,,
AC_CHECK_MEMBERS([struct stat.st_mtim.tv_nsec],,,
[#include <sys/stat.h>])
-AC_CHECK_DECLS([
- UNAME26,
- ADDR_NO_RANDOMIZE,
- FDPIC_FUNCPTRS,
- MMAP_PAGE_ZERO,
- ADDR_COMPAT_LAYOUT,
- READ_IMPLIES_EXEC,
- ADDR_LIMIT_32BIT,
- WHOLE_SECONDS,
- STICKY_TIMEOUTS,
- ADDR_LIMIT_3GB], [], [], [#include <linux/personality.h>])
-
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[[
#ifdef HAVE_SYS_SWAP_H
diff --git a/sys-utils/setarch.c b/sys-utils/setarch.c
index 0e45cfef9..9863cb298 100644
--- a/sys-utils/setarch.c
+++ b/sys-utils/setarch.c
@@ -56,37 +56,37 @@ enum {
} while(0)
-#if !HAVE_DECL_UNAME26
+#ifndef UNAME26
# define UNAME26 0x0020000
#endif
-#if !HAVE_DECL_ADDR_NO_RANDOMIZE
+#ifndef ADDR_NO_RANDOMIZE
# define ADDR_NO_RANDOMIZE 0x0040000
#endif
-#if !HAVE_DECL_FDPIC_FUNCPTRS
+#ifndef FDPIC_FUNCPTRS
# define FDPIC_FUNCPTRS 0x0080000
#endif
-#if !HAVE_DECL_MMAP_PAGE_ZERO
+#ifndef MMAP_PAGE_ZERO
# define MMAP_PAGE_ZERO 0x0100000
#endif
-#if !HAVE_DECL_ADDR_COMPAT_LAYOUT
+#ifndef ADDR_COMPAT_LAYOUT
# define ADDR_COMPAT_LAYOUT 0x0200000
#endif
-#if !HAVE_DECL_READ_IMPLIES_EXEC
+#ifndef READ_IMPLIES_EXEC
# define READ_IMPLIES_EXEC 0x0400000
#endif
-#if !HAVE_DECL_ADDR_LIMIT_32BIT
+#ifndef ADDR_LIMIT_32BIT
# define ADDR_LIMIT_32BIT 0x0800000
#endif
-#if !HAVE_DECL_SHORT_INODE
+#ifndef SHORT_INODE
# define SHORT_INODE 0x1000000
#endif
-#if !HAVE_DECL_WHOLE_SECONDS
+#ifndef WHOLE_SECONDS
# define WHOLE_SECONDS 0x2000000
#endif
-#if !HAVE_DECL_STICKY_TIMEOUTS
+#ifndef STICKY_TIMEOUTS
# define STICKY_TIMEOUTS 0x4000000
#endif
-#if !HAVE_DECL_ADDR_LIMIT_3GB
+#ifndef ADDR_LIMIT_3GB
# define ADDR_LIMIT_3GB 0x8000000
#endif
--
2.21.0