Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #16462

[PATCH 2/3] aclocal.m4: Fix BASH_FUNC_SBRK when cross-compiling for FreeBSD/RISC-V

Path csiph.com!xmission!news.snarked.org!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail
From Jessica Clarke <jrtc27@jrtc27.com>
Newsgroups gnu.bash.bug
Subject [PATCH 2/3] aclocal.m4: Fix BASH_FUNC_SBRK when cross-compiling for FreeBSD/RISC-V
Date Sat, 27 Jun 2020 21:06:30 +0100
Lines 45
Approved bug-bash@gnu.org
Message-ID <mailman.529.1593295309.2574.bug-bash@gnu.org> (permalink)
References <20200627200631.38456-1-jrtc27@jrtc27.com> <20200627200631.38456-3-jrtc27@jrtc27.com>
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Transfer-Encoding 8bit
X-Trace usenet.stanford.edu 1593295309 7492 209.51.188.17 (27 Jun 2020 22:01:49 GMT)
X-Complaints-To action@cs.stanford.edu
Cc Jessica Clarke <jrtc27@jrtc27.com>
To bug-bash@gnu.org
Envelope-to bug-bash@gnu.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=jrtc27.com; s=gmail.jrtc27.user; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=iahM0hY2ezyehDrj7uD9pmKjvyAS7l3X1yEX7FNohmM=; b=Xfh+w27wHYoVYZnOD6S2sNWe9NXH3h61E1OyO4tGkQx8iTILkAB3m9jyKPP7/RZh78 y6L2+/3JjyNgLrN1nCrr6A705V92GtsTOgmnxDJDvnw8r61ffpHD4iwN4w83NFTPhR0Q q2+lnkjH0/FVuj0SOzftxSsBO/0EUIvTsiZzWuPYNVSgw0M9LJKIRzB3Gn/oxxpvu2e1 oucxT0Sr0OTdaVUTWydc1TVtvXY5vLNUrNyo4UFGnKxYvk91Yp45QFEUaUzRP9Q9HfDg hT7zjDK5+ghweTTEXp8W2GfgW3GsJAaR/4EJtPKgDYfNS+1yGfCUUGB0Pk6LksQ0WiNc fpiw==
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iahM0hY2ezyehDrj7uD9pmKjvyAS7l3X1yEX7FNohmM=; b=NOR61ewbZOI9X8kc+foYpQKfC0zTyFufaBdcPp8gua9NagU0d3/ZXlSvt0rLPMwWyh qfeYFfEskRQjBFkiEXZFnTh6M7t2J+2r4S7+gcH66SOQ4g/E5ELwoIZRIWiERCuUiQ8Z o3cV7KOKgWxHqMsv8ghLFncp9aMG753wsVFnVGg25qYBx0Y76NUdbIZ3No4Afy3B+TQ7 oUNRGOWpclBkKOWAQbbxDWpI0Gufyq4uorsYvgAaTK/ZuQLrllowp6HjXKaAabAaQgC0 pCFnh4kBuZnrF+KQjMbs3SMmSJFjVbCD6GbTUDNv0InzlKJIe8vUZoZtHCr3+OXikADw Z9zQ==
X-Gm-Message-State AOAM533fQV2yfMdc0eWxn/+csgf2N2cW+UXtr4GVq++f+VGk8VfYOG1h gnEMlKC9HfRo8N6j+U3mznOra5yDyxY=
X-Google-Smtp-Source ABdhPJwkSOitRCHoknhB3OYAxdXO0DYYgUBasw4J0SScteVFe1OS+s51jirfHLEDaAGE2/le200NWQ==
X-Received by 2002:a5d:698e:: with SMTP id g14mr10582076wru.301.1593288400707; Sat, 27 Jun 2020 13:06:40 -0700 (PDT)
X-Mailer git-send-email 2.20.1
In-Reply-To <20200627200631.38456-1-jrtc27@jrtc27.com>
Received-SPF pass client-ip=2a00:1450:4864:20::444; envelope-from=jrtc27@jrtc27.com; helo=mail-wr1-x444.google.com
X-detected-operating-system by eggs.gnu.org: No matching host in p0f cache. That's all we know.
X-Spam_score_int -20
X-Spam_score -2.1
X-Spam_bar --
X-Spam_report (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN
X-Spam_action no action
X-Mailman-Approved-At Sat, 27 Jun 2020 18:01:44 -0400
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.23
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <https://lists.gnu.org/archive/html/bug-bash>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
X-Mailman-Original-Message-ID <20200627200631.38456-3-jrtc27@jrtc27.com>
X-Mailman-Original-References <20200627200631.38456-1-jrtc27@jrtc27.com>
Xref csiph.com gnu.bash.bug:16462

Show key headers only | View raw


FreeBSD unconditionally provides a prototype for sbrk(2), but on recent
ports (AArch64 and RISC-V) it does not provide the deprecated symbol.
This means that, when cross-compiling, we currently only get to use
AC_CHECK_FUNCS_ONCE, and so believe sbrk(2) to be available. Instead,
use AC_TRY_LINK so we can detect this case when cross-compiling. Also,
only define HAVE_SBRK when our tests pass, since xmalloc.c checks
whether it's defined, not its value. This likely meant the case where
sbrk(2) was available but broken did not in fact do the right thing.
---
 aclocal.m4 | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/aclocal.m4 b/aclocal.m4
index c4a54f27..c785e197 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -4196,7 +4196,12 @@ AC_DEFINE_UNQUOTED([WEXITSTATUS_OFFSET], [$bash_cv_wexitstatus_offset], [Offset
 
 AC_DEFUN([BASH_FUNC_SBRK],
 [
-  AC_CHECK_FUNCS_ONCE([sbrk])
+  AC_MSG_CHECKING([for sbrk])
+  AC_CACHE_VAL(ac_cv_func_sbrk,
+  [AC_TRY_LINK([#include <unistd.h>],
+  [ void *x = sbrk (4096); ],
+  ac_cv_func_sbrk=yes, ac_cv_func_sbrk=no)])
+  AC_MSG_RESULT($ac_cv_func_sbrk)
   if test X$ac_cv_func_sbrk = Xyes; then
     AC_CACHE_CHECK([for working sbrk], [bash_cv_func_sbrk],
       [AC_TRY_RUN([
@@ -4219,8 +4224,8 @@ main(int c, char **v)
       ac_cv_func_sbrk=no
     fi
   fi
-  if test $ac_cv_func_sbrk = no; then
-    AC_DEFINE(HAVE_SBRK, 0,
+  if test $ac_cv_func_sbrk = yes; then
+    AC_DEFINE(HAVE_SBRK, 1,
       [Define if you have a working sbrk function.])
   fi
 ])
-- 
2.20.1

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

[PATCH 2/3] aclocal.m4: Fix BASH_FUNC_SBRK when cross-compiling for FreeBSD/RISC-V Jessica Clarke <jrtc27@jrtc27.com> - 2020-06-27 21:06 +0100

csiph-web