An empty environment is sometimes useful in user mode. The new option provides it for linux-user and bsd-user (darwin-user still has no environment related options).
The patch also adds the documentation for other environment related options. Signed-off-by: Stefan Weil <w...@mail.berlios.de> --- bsd-user/main.c | 6 ++++++ linux-user/main.c | 6 ++++++ qemu-doc.texi | 14 ++++++++++++++ 3 files changed, 26 insertions(+), 0 deletions(-) diff --git a/bsd-user/main.c b/bsd-user/main.c index aff9f13..6b12f8b 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -795,6 +795,12 @@ int main(int argc, char **argv) r = argv[optind++]; if (envlist_setenv(envlist, r) != 0) usage(); + } else if (!strcmp(r, "ignore-environment")) { + envlist_free(envlist); + if ((envlist = envlist_create()) == NULL) { + (void) fprintf(stderr, "Unable to allocate envlist\n"); + exit(1); + } } else if (!strcmp(r, "U")) { r = argv[optind++]; if (envlist_unsetenv(envlist, r) != 0) diff --git a/linux-user/main.c b/linux-user/main.c index 403c8d3..bf60922 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -2759,6 +2759,12 @@ int main(int argc, char **argv, char **envp) r = argv[optind++]; if (envlist_setenv(envlist, r) != 0) usage(); + } else if (!strcmp(r, "ignore-environment")) { + envlist_free(envlist); + if ((envlist = envlist_create()) == NULL) { + (void) fprintf(stderr, "Unable to allocate envlist\n"); + exit(1); + } } else if (!strcmp(r, "U")) { r = argv[optind++]; if (envlist_unsetenv(envlist, r) != 0) diff --git a/qemu-doc.texi b/qemu-doc.texi index e67bf44..ec7820e 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -2136,6 +2136,13 @@ Set the x86 elf interpreter prefix (default=/usr/local/qemu-i386) Set the x86 stack size in bytes (default=524288) @item -cpu model Select CPU model (-cpu ? for list and additional feature selection) +...@item -ignore-environment +Start with an empty environment. Without this option, +the inital environment is a copy of the caller's environment. +...@item -E @var{va...@var{value} +Set environment @var{var} to @var{value}. +...@item -U @var{var} +Remove @var{var} from the environment. @item -B offset Offset guest address by the specified number of bytes. This is useful when the address region required by guest applications is reserved on the host. @@ -2359,6 +2366,13 @@ Print the help Set the library root path (default=/) @item -s size Set the stack size in bytes (default=524288) +...@item -ignore-environment +Start with an empty environment. Without this option, +the inital environment is a copy of the caller's environment. +...@item -E @var{va...@var{value} +Set environment @var{var} to @var{value}. +...@item -U @var{var} +Remove @var{var} from the environment. @item -bsd type Set the type of the emulated BSD Operating system. Valid values are FreeBSD, NetBSD and OpenBSD (default). -- 1.7.1