|
|
- From ec90292592dd2c9d5c108390841e3df24e377ed5 Mon Sep 17 00:00:00 2001
- From: Jussi Kukkonen <jussi.kukkonen@intel.com>
- Date: Sat, 24 Feb 2018 15:22:05 +0100
- Subject: [PATCH] [PATCH 4/4] Avoid mis-identifying systems as SVR4
-
- Linux can be misdetected as SVR4 because it has
- libelf installed. This leads to linking with libelf, even though no
- symbols from that library were actually used, and to a workaround for
- a buggy getlogin() being enabled.
-
- It is not documented which exact SVR4 system had the bug that the
- workaround was added for, so all I could do is make an educated guess
- at the #defines its compiler would be likely to set.
-
- Modified from patch by Maarten ter Huurne.
-
- Upstream-Status: Submitted [http://savannah.gnu.org/bugs/?43223]
-
- Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
- ---
- configure.ac | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
-
- diff --git a/src/configure.ac b/src/configure.ac
- index bd748d9..ab799d2 100644
- --- a/configure.ac
- +++ b/configure.ac
- @@ -179,14 +179,24 @@ AC_EGREP_CPP(YES_IS_DEFINED,
- #endif
- ], LIBS="$LIBS -lsocket -linet";seqptx=1)
-
- +AC_CHECKING(SVR4)
- +AC_EGREP_CPP(yes,
- +[main () {
- +#if defined(SVR4) || defined(__SVR4)
- + yes;
- +#endif
- +], AC_NOTE(- you have a SVR4 system) AC_DEFINE(SVR4) svr4=1)
- +if test -n "$svr4" ; then
- oldlibs="$LIBS"
- LIBS="$LIBS -lelf"
- AC_CHECKING(SVR4)
- AC_TRY_LINK([#include <utmpx.h>
- ],,
- -[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN),
- -[AC_CHECK_HEADER(elf.h, AC_DEFINE(SVR4) AC_DEFINE(BUGGYGETLOGIN))])]
- +[AC_CHECK_HEADER(dwarf.h, AC_DEFINE(BUGGYGETLOGIN),
- +[AC_CHECK_HEADER(elf.h, AC_DEFINE(BUGGYGETLOGIN))])]
- ,LIBS="$oldlibs")
- +fi
- +
- AC_CHECK_HEADERS([stropts.h string.h strings.h])
-
- AC_CHECKING(for Solaris 2.x)
- --
- 2.17.1
-
|