diff options
author | Jo-Philipp Wich <jo@mein.io> | 2017-07-24 13:33:33 +0200 |
---|---|---|
committer | Jo-Philipp Wich <jo@mein.io> | 2017-07-24 13:39:21 +0200 |
commit | 9e64874fb2508e49e52898c238d817bd152bf2c2 (patch) | |
tree | 1c6e5c6bc0acf963a9341a099929b74df121dfea | |
parent | 22a74ed310fcda175105c46e22638ffe8e560bcd (diff) | |
download | upstream-9e64874fb2508e49e52898c238d817bd152bf2c2.tar.gz upstream-9e64874fb2508e49e52898c238d817bd152bf2c2.tar.bz2 upstream-9e64874fb2508e49e52898c238d817bd152bf2c2.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>
-rwxr-xr-x | scripts/bundle-libraries.sh | 4 |
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; } |