From 58944b541e53136dc946b4416e8d3d92a7b1be23 Mon Sep 17 00:00:00 2001 From: =?utf8?q?P=C3=A1draig=20Brady?=
Date: Fri, 7 Nov 2025 16:14:12 +0000 Subject: [PATCH] install: fix crash with --strip and large $PATH on ppc and sparc * gnulib: Update to the latest gnulib to pull in the fix (v1.0-2406-g89f63027de) to allocate the $PATH processing memory before the vfork call, which is required on ppc and sparc. * tests/install/basic-1.sh: Ensure posix_spawnp() suports a large $PATH, which needs careful handling with vfork() as detailed in gnulib. --- gnulib | 2 +- tests/install/basic-1.sh | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gnulib b/gnulib index c4db1328fb..f5d93312df 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit c4db1328fb2f01b83400cfb1f6d6c2bed953177c +Subproject commit f5d93312df380b06ef375629be4c301f85fd6d9a diff --git a/tests/install/basic-1.sh b/tests/install/basic-1.sh index fd13eb68bc..b529f2af9c 100755 --- a/tests/install/basic-1.sh +++ b/tests/install/basic-1.sh @@ -64,6 +64,11 @@ test -f $dd || fail=1 mode=$(ls -l $dir/$dd|cut -b-10) test "$mode" = -r-xr-xr-x || fail=1 +# Ensure there are no issues with posix_spawnp() and large $PATHs +# which we saw when initially changing from execvp() to posix_spawnp(). +PATH=$(printf '%4001s' '' | sed 's/\(.\{79\}\)./\1:/g'):$PATH \ + ginstall $strip -c -m 555 $dd $dir || fail=1 + # These failed in coreutils CVS from 2004-06-25 to 2004-08-11. ginstall -d . || fail=1 ginstall -d newdir || fail=1 -- 2.47.3