diff options
author | Lauri Leukkunen <lle@rahina.org> | 2007-08-20 21:51:00 +0300 |
---|---|---|
committer | Lauri Leukkunen <lle@rahina.org> | 2007-08-20 21:51:00 +0300 |
commit | 9dcc5da5e0dfdd13574aae2740440b9716c26a71 (patch) | |
tree | 715e7f5d1869916bb44f8bee9b66f959d05b3715 /include | |
parent | 124c18eb1630d0342b3ebeb4819518cb50d3f5ce (diff) |
Fix busybox-like symlink and argv[0] usage with qemu
This change passes the unmapped executable to qemu and
relies on qemu open()ing it, correct mapping will take
place at that time instead of the normal execve().
Signed-off-by: Lauri Leukkunen <lle@rahina.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/sb2.h | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/include/sb2.h b/include/sb2.h index d2cff20..07bc7c5 100644 --- a/include/sb2.h +++ b/include/sb2.h @@ -8,13 +8,18 @@ int sb_next_execve(const char *filename, char *const argv [], char *const envp[]); -int do_exec(const char *file, char *const *argv, char *const *envp); +int do_exec(const char *orig_file, const char *file, + char *const *argv, char *const *envp); + int ld_so_run_app(char *file, char **argv, char *const *envp); int run_app(char *file, char **argv, char *const *envp); -int run_cputransparency(char *file, char **argv, char *const *envp); +int run_cputransparency(char *orig_file, char *file, + char **argv, char *const *envp); -int run_sbrsh(char *sbrsh_bin, char *target_root, char *file, char **argv, char *const *envp); -int run_qemu(char *qemu_bin, char *file, char **argv, char *const *envp); +int run_sbrsh(char *sbrsh_bin, char *target_root, char *orig_file,char *file, + char **argv, char *const *envp); +int run_qemu(char *qemu_bin, char *orig_file, char *file, + char **argv, char *const *envp); time_t get_sb2_timestamp(void); |