diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2019-08-12 11:10:15 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2019-08-12 11:10:15 +0200 |
| commit | c6a768c12ce7e83631d08f53937a075c4f76e2d5 (patch) | |
| tree | afb1b8b66d78aba2cab650c897cd3e69b5287ddc /src/run_cmd.c | |
| parent | 4fd995ea5a2f9fada2e298bb1b828e510eb2ad29 (diff) | |
| download | allocbench-c6a768c12ce7e83631d08f53937a075c4f76e2d5.tar.gz allocbench-c6a768c12ce7e83631d08f53937a075c4f76e2d5.zip | |
use LD_LIBRARY_PATH for glibc instead of calling its loader
Calling the loader fails on non ELF executables. Exec, formerly run_cmd,
now takes two options: -l LD_LIBRARY_PATH, -p LD_PRELOAD.
-p sets LD_PRELOAD and -l LD_LIBRARY_PATH before executing the rest of argv.
glibc no longer uses cmd_prefix in favor of LD_LIBRARY_PATH.
Diffstat (limited to 'src/run_cmd.c')
| -rw-r--r-- | src/run_cmd.c | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/src/run_cmd.c b/src/run_cmd.c deleted file mode 100644 index aa15964..0000000 --- a/src/run_cmd.c +++ /dev/null @@ -1,18 +0,0 @@ -#define _GNU_SOURCE -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -int main(int argc, char* argv[]) { - if (argc < 3) { - printf("Usage: %s <ld_preload> <cmd> [cmd args]\n"); - printf("\tset LD_PRELOAD to ld_preload and call execvp <cmd> [cmd args]\n"); - return 1; - } - - // Overwrite LD_PRELOAD. - setenv("LD_PRELOAD", argv[1], 1); - - // Run cmd. - execvp(argv[2], &argv[2]); -} |
