On Sat, Sep 25, 2021 at 4:33 AM Philippe Mathieu-Daudé <f4bug@amsat.org>
wrote:
> 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?
>
Nah, don't mind. There were no problems caused by making that change.
> > {
> > return (abi_ulong)ret >= (abi_ulong)(-4096);
> > }
> >
>
> Preferably having is_error() returning bool:
> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>
Thanks for the suggestion.
Warner