63 lines
2.0 KiB
Diff
63 lines
2.0 KiB
Diff
From 754e0d1edc1c01b18f4890de7c58f7610e589d76 Mon Sep 17 00:00:00 2001
|
|
From: Vincent Fazio <vfazio@gmail.com>
|
|
Date: Tue, 7 Feb 2023 03:55:28 -0600
|
|
Subject: [PATCH] configure: invert condition for strtoimax builtin
|
|
|
|
Previously, bash would attempt to build a replacement for strtoimax if
|
|
it found that the C library had the function already declared.
|
|
|
|
This caused build errors when linking against static libraries that did
|
|
not define the function as a weak alias but, in reality, was a logic
|
|
error since bash should only provide it's own implementation if one is
|
|
not provided by the C library.
|
|
|
|
Now, fix this by inverting the logic.
|
|
|
|
Upstream:
|
|
https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=43e861c2cd840946a81dfd0386966eb4f3a17ce9
|
|
|
|
Signed-off-by: Vincent Fazio <vfazio@gmail.com>
|
|
[yann.morin.1998@free.fr: patch configure after the m file]
|
|
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
|
|
---
|
|
configure | 6 +++++-
|
|
m4/strtoimax.m4 | 5 ++++-
|
|
2 files changed, 9 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/m4/strtoimax.m4 b/m4/strtoimax.m4
|
|
index 30985723..fa43ac7b 100644
|
|
--- a/m4/strtoimax.m4
|
|
+++ b/m4/strtoimax.m4
|
|
@@ -29,7 +29,10 @@ AC_CACHE_VAL(bash_cv_func_strtoimax,
|
|
fi
|
|
])
|
|
AC_MSG_RESULT($bash_cv_func_strtoimax)
|
|
-if test $bash_cv_func_strtoimax = yes; then
|
|
+if test "$ac_cv_have_decl_strtoimax" = "yes" ; then
|
|
+AC_DEFINE([HAVE_DECL_STRTOIMAX], [1])
|
|
+fi
|
|
+if test $bash_cv_func_strtoimax = no; then
|
|
AC_LIBOBJ(strtoimax)
|
|
fi
|
|
])
|
|
diff --git a/configure b/configure
|
|
index 47313753..6039cee7 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -20443,7 +20443,11 @@ fi
|
|
|
|
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_strtoimax" >&5
|
|
printf "%s\n" "$bash_cv_func_strtoimax" >&6; }
|
|
-if test $bash_cv_func_strtoimax = yes; then
|
|
+if test "$ac_cv_have_decl_strtoimax" = "yes" ; then
|
|
+printf "%s\n" "#define HAVE_DECL_STRTOIMAX 1" >>confdefs.h
|
|
+
|
|
+fi
|
|
+if test $bash_cv_func_strtoimax = no; then
|
|
case " $LIBOBJS " in
|
|
*" strtoimax.$ac_objext "* ) ;;
|
|
*) LIBOBJS="$LIBOBJS strtoimax.$ac_objext"
|
|
--
|
|
2.25.1
|
|
|