qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 04/14] bsd-user: export get_errno and is_error from syscall.c


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 04/14] bsd-user: export get_errno and is_error from syscall.c
Date: Sat, 25 Sep 2021 12:33:43 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.1.0

On 9/22/21 08:14, Warner Losh wrote:
Make get_errno and is_error global so files other than syscall.c can use
them.

Signed-off-by: Warner Losh <imp@bsdimp.com>
---
  bsd-user/qemu.h    |  4 ++++
  bsd-user/syscall.c | 10 +++++-----
  2 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index 522d6c4031..22fc3a6c30 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -235,6 +235,10 @@ extern unsigned long target_dflssiz;
  extern unsigned long target_maxssiz;
  extern unsigned long target_sgrowsiz;
+/* syscall.c */
+abi_long get_errno(abi_long ret);
+int is_error(abi_long ret);
+
  /* user access */
#define VERIFY_READ PAGE_READ
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index 372836d44d..a579d52ede 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -33,18 +33,18 @@
  static abi_ulong target_brk;
  static abi_ulong target_original_brk;
-static inline abi_long get_errno(abi_long ret)
+abi_long get_errno(abi_long ret)
  {
-    if (ret == -1)
+    if (ret == -1) {
          /* XXX need to translate host -> target errnos here */
          return -(errno);
-    else
-        return ret;
+    }
+    return ret;
  }
#define target_to_host_bitmask(x, tbl) (x) -static inline int is_error(abi_long ret)
+int is_error(abi_long ret)

Since you are modifying this, do you mind having it return
a boolean type instead?

  {
      return (abi_ulong)ret >= (abi_ulong)(-4096);
  }


Preferably having is_error() returning bool:
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]