All of lore.kernel.org
 help / color / mirror / Atom feed
From: Richard Henderson <richard.henderson@linaro.org>
To: "Philippe Mathieu-Daudé" <f4bug@amsat.org>, qemu-devel@nongnu.org
Cc: Taylor Simpson <tsimpson@quicinc.com>,
	Laurent Vivier <laurent@vivier.eu>
Subject: Re: [PATCH v2 8/8] linux-user: Simplify host <-> target errno conversion using macros
Date: Thu, 8 Jul 2021 08:44:42 -0700	[thread overview]
Message-ID: <ea33974f-6c29-3fd4-93d3-dd022c18f8aa@linaro.org> (raw)
In-Reply-To: <20210708141121.1731691-9-f4bug@amsat.org>

On 7/8/21 7:11 AM, Philippe Mathieu-Daudé wrote:
> Convert the host_to_target_errno_table[] array to a switch case
> to allow compiler optimizations. Extract the errnos list as to
> a new includible unit, using a generic macro. Remove the code
> related to target_to_host_errno_table[] initialization.
> 
> Suggested-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>   linux-user/syscall.c    | 169 +++++-----------------------------------
>   linux-user/errnos.c.inc | 140 +++++++++++++++++++++++++++++++++
>   2 files changed, 161 insertions(+), 148 deletions(-)
>   create mode 100644 linux-user/errnos.c.inc
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 56682b06cbd..8bb528d2cf7 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -507,157 +507,37 @@ static inline int next_free_host_timer(void)
>   }
>   #endif
>   
> -#define ERRNO_TABLE_SIZE 1200
> -
>   static inline bool errno_exists(int err)
>   {
> -    return err >= 0 && err < ERRNO_TABLE_SIZE;
> +    switch (err) {
> +#define E(X)  case X: return true;
> +#include "errnos.c.inc"
> +#undef E
> +    default:
> +        return false;
> +    }
>   }

Not true.  As documented, errnos.c.inc only contains those errno values which are 
overridden, not all errno values which are valid.

r~


      parent reply	other threads:[~2021-07-08 16:15 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-08 14:11 [PATCH v2 0/8] linux-user: target <-> host errno conversion code refactor Philippe Mathieu-Daudé
2021-07-08 14:11 ` [PATCH v2 1/8] linux-user/syscall: Fix RF-kill errno (typo in ERFKILL) Philippe Mathieu-Daudé
2021-07-08 15:19   ` Laurent Vivier
2021-07-08 15:33   ` Richard Henderson
2021-07-08 14:11 ` [PATCH v2 2/8] linux-user/sparc: Rename target_errno.h -> target_errno_defs.h Philippe Mathieu-Daudé
2021-07-08 15:20   ` Laurent Vivier
2021-07-08 15:34   ` Richard Henderson
2021-07-08 14:11 ` [PATCH v2 3/8] linux-user: Extract target errno to 'target_errno_defs.h' Philippe Mathieu-Daudé
2021-07-08 15:25   ` Laurent Vivier
2021-07-08 15:33   ` Richard Henderson
2021-07-08 14:11 ` [PATCH v2 4/8] linux-user/alpha: Move errno definitions " Philippe Mathieu-Daudé
2021-07-08 15:25   ` Laurent Vivier
2021-07-08 15:34   ` Richard Henderson
2021-07-08 14:11 ` [PATCH v2 5/8] linux-user/hppa: " Philippe Mathieu-Daudé
2021-07-08 15:25   ` Laurent Vivier
2021-07-08 15:35   ` Richard Henderson
2021-07-08 14:11 ` [PATCH v2 6/8] linux-user/mips: " Philippe Mathieu-Daudé
2021-07-08 15:25   ` Laurent Vivier
2021-07-08 15:38   ` Richard Henderson
2021-07-08 14:11 ` [PATCH v2 7/8] linux-user/syscall: Introduce errno_exists() Philippe Mathieu-Daudé
2021-07-08 15:25   ` Laurent Vivier
2021-07-08 15:42   ` Richard Henderson
2021-07-08 14:11 ` [PATCH v2 8/8] linux-user: Simplify host <-> target errno conversion using macros Philippe Mathieu-Daudé
2021-07-08 15:30   ` Laurent Vivier
2021-07-08 15:48     ` Richard Henderson
2021-07-08 16:09     ` Philippe Mathieu-Daudé
2021-07-08 15:44   ` Richard Henderson [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ea33974f-6c29-3fd4-93d3-dd022c18f8aa@linaro.org \
    --to=richard.henderson@linaro.org \
    --cc=f4bug@amsat.org \
    --cc=laurent@vivier.eu \
    --cc=qemu-devel@nongnu.org \
    --cc=tsimpson@quicinc.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.