Message ID | 20220430175342.370628-16-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | target/m68k: Conditional traps + trap cleanup | expand |
Le 30/04/2022 à 19:53, Richard Henderson a écrit : > Errors are not all negative numbers, but only the top 4k. > > Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > linux-user/strace.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/linux-user/strace.c b/linux-user/strace.c > index 2cdbf030ba..dc4f810bd3 100644 > --- a/linux-user/strace.c > +++ b/linux-user/strace.c > @@ -684,12 +684,12 @@ print_ipc(void *cpu_env, const struct syscallname *name, > */ > > static bool > -print_syscall_err(abi_long ret) > +print_syscall_err(abi_ulong ret) > { > const char *errstr; > > qemu_log(" = "); > - if (ret < 0) { > + if (ret > (abi_ulong)-4096) { > errstr = target_strerror(-ret); > if (errstr) { > qemu_log("-1 errno=%d (%s)", (int)-ret, errstr); Perhaps we can use is_error() here? Thanks, Laurent
diff --git a/linux-user/strace.c b/linux-user/strace.c index 2cdbf030ba..dc4f810bd3 100644 --- a/linux-user/strace.c +++ b/linux-user/strace.c @@ -684,12 +684,12 @@ print_ipc(void *cpu_env, const struct syscallname *name, */ static bool -print_syscall_err(abi_long ret) +print_syscall_err(abi_ulong ret) { const char *errstr; qemu_log(" = "); - if (ret < 0) { + if (ret > (abi_ulong)-4096) { errstr = target_strerror(-ret); if (errstr) { qemu_log("-1 errno=%d (%s)", (int)-ret, errstr);