Le 06/06/2016 à 20:58, Peter Maydell a écrit : > Since TARGET_ERESTARTSYS and TARGET_ESIGRETURN are internal-to-QEMU > error numbers, handle them specially in target_strerror(), to avoid > confusing strace output like: > > 9521 rt_sigreturn(14,8,274886297808,8,0,268435456) = -1 errno=513 (Unknown > error 513) > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > --- > linux-user/syscall.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/linux-user/syscall.c b/linux-user/syscall.c > index bcee02d..782d475 100644 > --- a/linux-user/syscall.c > +++ b/linux-user/syscall.c > @@ -619,6 +619,13 @@ static inline int is_error(abi_long ret) > > const char *target_strerror(int err) > { > + if (err == TARGET_ERESTARTSYS) { > + return "To be restarted"; > + } > + if (err == TARGET_QEMU_ESIGRETURN) { > + return "Successful exit from sigreturn"; > + } > + > if ((err >= ERRNO_TABLE_SIZE) || (err < 0)) { > return NULL; > }
This is not the aim of this patch, but target_to_host_errno() has now these checks, perhaps we can remove this while we are here... Laurent