summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorJo-Philipp Wich <jo@mein.io>2017-07-24 13:33:33 +0200
committerJo-Philipp Wich <jo@mein.io>2017-12-13 16:23:39 +0100
commit2e1a87a3e11b6928b128fcf72570178a250ba072 (patch)
treee8e1591706ed85b46ee3130343e3dc859e769c99 /scripts
parenta37f8b0c6e92012277ba0f7c04ea6d2737544814 (diff)
downloadopenwrt-2e1a87a3e11b6928b128fcf72570178a250ba072.tar.gz
openwrt-2e1a87a3e11b6928b128fcf72570178a250ba072.tar.bz2
openwrt-2e1a87a3e11b6928b128fcf72570178a250ba072.zip
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 <jo@mein.io> (cherry picked from commit 9e64874fb2508e49e52898c238d817bd152bf2c2)
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/bundle-libraries.sh4
1 files changed, 3 insertions, 1 deletions
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;
}