aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2025-11-07 16:14:12 +0000
committerPádraig Brady <P@draigBrady.com>2025-11-07 16:36:08 +0000
commit58944b541e53136dc946b4416e8d3d92a7b1be23 (patch)
tree2e18dbd9739f5ab4f84236506692da2717c1245b
parentdoc: cksum: clarify support of --text and --binary (diff)
downloadcoreutils-58944b541e53136dc946b4416e8d3d92a7b1be23.tar.gz
coreutils-58944b541e53136dc946b4416e8d3d92a7b1be23.zip
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.
m---------gnulib0
-rwxr-xr-xtests/install/basic-1.sh5
2 files changed, 5 insertions, 0 deletions
diff --git a/gnulib b/gnulib
-Subproject c4db1328fb2f01b83400cfb1f6d6c2bed953177
+Subproject f5d93312df380b06ef375629be4c301f85fd6d9
diff --git a/tests/install/basic-1.sh b/tests/install/basic-1.sh
index fd13eb68b..b529f2af9 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