All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] linux-user/strace.c: Correct errno printing for mmap etc
@ 2011-11-21 12:21 Peter Maydell
  2011-11-23 13:15 ` Riku Voipio
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Maydell @ 2011-11-21 12:21 UTC (permalink / raw)
  To: qemu-devel; +Cc: Riku Voipio, Alexander Graf, patches

Correct the printing of errnos for syscalls which are handled
via print_syscall_ret_addr (mmap, mmap2, brk, shmat): errnos
are returned as negative returned values at this level, not
via the host 'errno' variable.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
This applies on top of Alex's [v3] linux-user: fix QEMU_STRACE=1 segfault
patch. It is fixing a separate bug to that patch, but OTOH it does touch
only four lines of actual code, all of which were added in that patch.
Keep it separate or fold it in with that one, I don't mind.

 linux-user/strace.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/linux-user/strace.c b/linux-user/strace.c
index 269481e..05a0d3e 100644
--- a/linux-user/strace.c
+++ b/linux-user/strace.c
@@ -1,5 +1,4 @@
 #include <stdio.h>
-#include <errno.h>
 #include <sys/ipc.h>
 #include <sys/msg.h>
 #include <sys/sem.h>
@@ -286,11 +285,11 @@ print_syscall_ret_addr(const struct syscallname *name, abi_long ret)
 {
     char *errstr = NULL;
 
-    if (ret == -1) {
-        errstr = target_strerror(errno);
+    if (ret < 0) {
+        errstr = target_strerror(-ret);
     }
-    if ((ret == -1) && errstr) {
-        gemu_log(" = -1 errno=%d (%s)\n", errno, errstr);
+    if (errstr) {
+        gemu_log(" = -1 errno=%d (%s)\n", (int)-ret, errstr);
     } else {
         gemu_log(" = 0x" TARGET_ABI_FMT_lx "\n", ret);
     }
-- 
1.7.1

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2011-11-23 13:18 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-11-21 12:21 [Qemu-devel] [PATCH] linux-user/strace.c: Correct errno printing for mmap etc Peter Maydell
2011-11-23 13:15 ` Riku Voipio
2011-11-23 13:18   ` Alexander Graf

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.