[Buildroot] [PATCH 1/1] package/dash: fix static build

Arnout Vandecappelle arnout at mind.be
Sun Mar 3 16:47:18 UTC 2024



On 16/02/2024 19:14, Fabrice Fontaine wrote:
> Drop -Wl,--fatal-warnings with --enable-static to avoid the following
> static build failure:
> 
> configure:4778: checking for strtod
> configure:4778: /home/autobuild/autobuild/instance-8/output-1/host/bin/powerpc-buildroot-linux-uclibcspe-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -mabi=spe -mfloat-gprs=single -Wa,-me500 -Os -g0  -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -Wl,--fatal-warnings conftest.c  >&5
> /home/autobuild/autobuild/instance-8/output-1/host/lib/gcc/powerpc-buildroot-linux-uclibcspe/8.4.0/../../../../powerpc-buildroot-linux-uclibcspe/bin/ld: warning: conftest has a LOAD segment with RWX permissions
> collect2: error: ld returned 1 exit status
> 
> [...]
> 
> In file included from arith_yylex.c:44:
> system.h:74:22: error: static declaration of 'strtod' follows non-static declaration
>   static inline double strtod(const char *nptr, char **endptr)
>                        ^~~~~~
> 
> Fixes:
>   - http://autobuild.buildroot.org/results/a54fdc7d1b94beb47203373ae35b08d9cea8d42c
>   - http://autobuild.buildroot.org/results/a4287b86186bf0a1d5370cf53123b324ae65c1da
> 
> Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>

  Upstream was not enthusiastic about the patch (BTW you never replied to his 
question whether this was a real issue). Still, I don't really see another solution.

  Applied to master, thanks.

  Regards,
  Arnout

> ---
>   ...-configure.ac-drop-Wl-fatal-warnings.patch | 45 +++++++++++++++++++
>   package/dash/dash.mk                          |  2 +
>   2 files changed, 47 insertions(+)
>   create mode 100644 package/dash/0001-configure.ac-drop-Wl-fatal-warnings.patch
> 
> diff --git a/package/dash/0001-configure.ac-drop-Wl-fatal-warnings.patch b/package/dash/0001-configure.ac-drop-Wl-fatal-warnings.patch
> new file mode 100644
> index 0000000000..eaa5d6cc60
> --- /dev/null
> +++ b/package/dash/0001-configure.ac-drop-Wl-fatal-warnings.patch
> @@ -0,0 +1,45 @@
> +From 7d07f683b83ef9fbdf258ce61b022b32f06f253a Mon Sep 17 00:00:00 2001
> +From: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +Date: Fri, 16 Feb 2024 17:26:28 +0100
> +Subject: [PATCH] configure.ac: drop -Wl,--fatal-warnings
> +
> +Drop -Wl,--fatal-warnings with --enable-static to avoid the following
> +static build failure:
> +
> +configure:4778: checking for strtod
> +configure:4778: /home/autobuild/autobuild/instance-8/output-1/host/bin/powerpc-buildroot-linux-uclibcspe-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -mabi=spe -mfloat-gprs=single -Wa,-me500 -Os -g0  -static -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -static -Wl,--fatal-warnings conftest.c  >&5
> +/home/autobuild/autobuild/instance-8/output-1/host/lib/gcc/powerpc-buildroot-linux-uclibcspe/8.4.0/../../../../powerpc-buildroot-linux-uclibcspe/bin/ld: warning: conftest has a LOAD segment with RWX permissions
> +collect2: error: ld returned 1 exit status
> +
> +[...]
> +
> +In file included from arith_yylex.c:44:
> +system.h:74:22: error: static declaration of 'strtod' follows non-static declaration
> + static inline double strtod(const char *nptr, char **endptr)
> +                      ^~~~~~
> +
> +Fixes:
> + - http://autobuild.buildroot.org/results/a54fdc7d1b94beb47203373ae35b08d9cea8d42c
> +
> +Signed-off-by: Fabrice Fontaine <fontaine.fabrice at gmail.com>
> +Upstream: https://lore.kernel.org/dash/20240216163319.860768-1-fontaine.fabrice@gmail.com
> +---
> + configure.ac | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/configure.ac b/configure.ac
> +index 5524650..6993364 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -34,7 +34,7 @@ fi
> + AC_ARG_ENABLE(static, AS_HELP_STRING(--enable-static, \
> + 				     [Build statical linked program]))
> + if test "$enable_static" = "yes"; then
> +-	export LDFLAGS="-static -Wl,--fatal-warnings"
> ++	export LDFLAGS="-static"
> + fi
> +
> + AC_ARG_ENABLE(fnmatch, AS_HELP_STRING(--disable-fnmatch, \
> +--
> +2.43.0
> +
> diff --git a/package/dash/dash.mk b/package/dash/dash.mk
> index 6efc71e568..aebfd28be8 100644
> --- a/package/dash/dash.mk
> +++ b/package/dash/dash.mk
> @@ -8,6 +8,8 @@ DASH_VERSION = 0.5.11.5
>   DASH_SITE = http://gondor.apana.org.au/~herbert/dash/files
>   DASH_LICENSE = BSD-3-Clause, GPL-2.0+ (mksignames.c)
>   DASH_LICENSE_FILES = COPYING
> +# We're patching configure.ac
> +DASH_AUTORECONF = YES
>   
>   # dash does not build in parallel
>   DASH_MAKE = $(MAKE1)



More information about the buildroot mailing list