Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Vincent Fazio <vfazio@xes-inc.com>
Cc: Vincent Fazio <vfazio@gmail.com>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCH 1/1] package/bash: fix strtoimax builtin inclusion logic
Date: Tue, 7 Feb 2023 12:48:42 +0100	[thread overview]
Message-ID: <20230207114842.GE4124@scaer> (raw)
In-Reply-To: <20230207112644.2467564-1-vfazio@xes-inc.com>

Vincent, All,

On 2023-02-07 05:26 -0600, Vincent Fazio spake thusly:
> From: Vincent Fazio <vfazio@gmail.com>
> 
> Backport fixes from upstream to fix an issue where the strtoimax builtin
> got built when not necessary.
> 
> This resolves bash static builds issues when using musl and uClibc.
> 
> Fixes:
>  http://autobuild.buildroot.org/results/f8c/f8cb91f7f9ac6a46bb2ecfc22c1e42cf699f28d3//
>  http://autobuild.buildroot.org/results/b0e/b0e5fcab9eeb799e31bca27fcb7280b728349bc6//
> 
> Upstream:
>   https://git.savannah.gnu.org/cgit/bash.git/commit/?h=devel&id=43e861c2cd840946a81dfd0386966eb4f3a17ce9
> 
> Signed-off-by: Vincent Fazio <vfazio@gmail.com>

As seen IRL, I've done some small changes:

  - patch configure after the m4 file
  - add blurb in commit log to explain that

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
>  ...vert-condition-for-strtoimax-builtin.patch | 60 +++++++++++++++++++
>  1 file changed, 60 insertions(+)
>  create mode 100644 package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch
> 
> diff --git a/package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch b/package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch
> new file mode 100644
> index 0000000000..2ee9e1ad5a
> --- /dev/null
> +++ b/package/bash/0003-configure-invert-condition-for-strtoimax-builtin.patch
> @@ -0,0 +1,60 @@
> +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>
> +---
> + configure       | 6 +++++-
> + m4/strtoimax.m4 | 5 ++++-
> + 2 files changed, 9 insertions(+), 2 deletions(-)
> +
> +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"
> +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
> + ])
> +-- 
> +2.25.1
> +
> -- 
> 2.25.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

      reply	other threads:[~2023-02-07 11:48 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-07 11:26 [Buildroot] [PATCH 1/1] package/bash: fix strtoimax builtin inclusion logic Vincent Fazio
2023-02-07 11:48 ` Yann E. MORIN [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230207114842.GE4124@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=vfazio@gmail.com \
    --cc=vfazio@xes-inc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox