linux-user: If loading fails, print error as string, not number

If the attempt to load the guest executable fails, print the
error message as a string, not a number. This requires us to
fix a couple of places in loader_exec() where we were returning
-1 instead of a valid negative errno.

The change allows us to drop the "Unknown binary format" message
because the strerror-enhanced message is now a more self-explanatory
"Error while loading $guest-binary: Exec format error".

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
This commit is contained in:
Peter Maydell 2012-08-24 06:55:53 +00:00 committed by Riku Voipio
parent a05c640915
commit 885c1d10b8
2 changed files with 5 additions and 5 deletions

View file

@ -3569,7 +3569,7 @@ int main(int argc, char **argv, char **envp)
ret = loader_exec(filename, target_argv, target_environ, regs,
info, &bprm);
if (ret != 0) {
printf("Error %d while loading %s\n", ret, filename);
printf("Error while loading %s: %s\n", filename, strerror(-ret));
_exit(1);
}