> On Aug 26, 2021, at 10:48 PM, Philippe Mathieu-Daudé wrote: > > On 8/26/21 11:12 PM, imp@bsdimp.com wrote: >> From: Colin Percival >> >> Previously it was impossible to emulate a program with a file name >> different from its argv[0]. With this change, you can run >> qemu -0 fakename realname args >> which runs the program "realname" with an argv of "fakename args". >> >> Signed-off-by: Colin Percival >> Signed-off-by: Warner Losh >> Reviewed-by: Richard Henderson >> --- >> bsd-user/main.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/bsd-user/main.c b/bsd-user/main.c >> index b35bcf4d1e..ae25f4c773 100644 >> --- a/bsd-user/main.c >> +++ b/bsd-user/main.c >> @@ -268,6 +268,7 @@ int main(int argc, char **argv) >> char **target_environ, **wrk; >> envlist_t *envlist = NULL; >> bsd_type = HOST_DEFAULT_BSD_TYPE; >> + char * argv0 = NULL; >> >> adjust_ssize(); >> >> @@ -390,6 +391,8 @@ int main(int argc, char **argv) >> do_strace = 1; >> } else if (!strcmp(r, "trace")) { >> trace_opt_parse(optarg); >> + } else if (!strcmp(r, "0")) { >> + argv0 = argv[optind++]; >> } else { >> usage(); >> } >> @@ -413,6 +416,8 @@ int main(int argc, char **argv) >> usage(); >> } >> filename = argv[optind]; >> + if (argv0) > > Style: > > { > >> + argv[optind] = argv0; > > } Done in v3. Warner > >> >> if (!trace_init_backends()) { >> exit(1);