From: Jo-Philipp Wich Date: Mon, 24 Jul 2017 11:33:33 +0000 (+0200) Subject: build: bundle-libraries.sh: do not override argv[0] in inner exec calls X-Git-Tag: v17.01.5~184 X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fopenwrt.git;a=commitdiff_plain;h=2e1a87a3e11b6928b128fcf72570178a250ba072 build: bundle-libraries.sh: do not override argv[0] in inner exec calls Only mangle argv[0] of the first executed process and leave the argument vector of subsequent invocations as-is to allow child programs to properly discover resources relative to their binary locations. Fixes "cc1" discovery when executing the host gcc through the bundled "ccache" executable. Signed-off-by: Jo-Philipp Wich (cherry picked from commit 9e64874fb2508e49e52898c238d817bd152bf2c2) --- diff --git a/scripts/bundle-libraries.sh b/scripts/bundle-libraries.sh index b108fd8f77..f254d4da47 100755 --- a/scripts/bundle-libraries.sh +++ b/scripts/bundle-libraries.sh @@ -79,8 +79,10 @@ _runas_so() { int mangle_arg0(int argc, char **argv, char **env) { char *arg0 = getenv("RUNAS_ARG0"); - if (arg0) + if (arg0) { argv[0] = arg0; + unsetenv("RUNAS_ARG0"); + } return 0; }