| From 79afb676904653403145fda9e1a6a9d3ea1cb22a Mon Sep 17 00:00:00 2001 |
| From: Jussi Kukkonen <jussi.kukkonen@intel.com> |
| Date: Fri, 7 Aug 2015 11:10:32 +0300 |
| Subject: [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/configure.ac b/configure.ac |
| index dc928ae..65439ce 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -179,14 +179,24 @@ AC_EGREP_CPP(yes, |
| #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.1.4 |
| |