On Mon, Jul 22, 2024 at 4:01 PM Philippe Mathieu-Daudé <phi...@linaro.org>
wrote:

> Hi Warner,
>
> On 22/7/24 23:43, Warner Losh wrote:
> > We include the files that define PR_MTE_TCF_SHIFT only on Linux, but use
> > them unconditionally. Restrict its use to Linux-only.
>
> We should check that in meson, i.e.:
>
> config_host_data.set('CONFIG_PRCTL_PR_MTE_TCF_SHIFT',
>                       cc.has_header_symbol('sys/prctl.h',
> 'PR_MTE_TCF_SHIFT'))
>
> (like we do for CONFIG_PRCTL_PR_SET_TIMERSLACK), then rework
> linux-user/aarch64/mte_user_helper.h (and possibly
> tests/tcg/aarch64/mte.h), moving in a common directory.
>

Hmmm... I'll have to check, but since I didn't add the incompatibility, it
will likely be on my backlog for a while...


> That said, your patch matches this file header:
>
>    #if defined(CONFIG_USER_ONLY) && defined(CONFIG_LINUX)
>    #include <sys/prctl.h>
>    #include "mte_user_helper.h"
>    #endif
>
> Even if this #ifdef'ry is ugly, it isn't wrong, so:
> Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
>
> ¯\_(ツ)_/¯
>

Thanks!

Warner


> > Signed-off-by: Warner Losh <i...@bsdimp.com>
> > ---
> >   target/arm/gdbstub64.c | 4 ++++
> >   1 file changed, 4 insertions(+)
> >
> > diff --git a/target/arm/gdbstub64.c b/target/arm/gdbstub64.c
> > index 2e2bc2700b8..6dc81aecb2a 100644
> > --- a/target/arm/gdbstub64.c
> > +++ b/target/arm/gdbstub64.c
> > @@ -404,6 +404,7 @@ int aarch64_gdb_get_tag_ctl_reg(CPUState *cs,
> GByteArray *buf, int reg)
> >
> >   int aarch64_gdb_set_tag_ctl_reg(CPUState *cs, uint8_t *buf, int reg)
> >   {
> > +#if defined(CONFIG_LINUX)
> >       ARMCPU *cpu = ARM_CPU(cs);
> >       CPUARMState *env = &cpu->env;
> >
> > @@ -425,6 +426,9 @@ int aarch64_gdb_set_tag_ctl_reg(CPUState *cs,
> uint8_t *buf, int reg)
> >       arm_set_mte_tcf0(env, tcf);
> >
> >       return 1;
> > +#else
> > +    return 0;
> > +#endif
> >   }
> >
> >   static void handle_q_memtag(GArray *params, void *user_ctx)
>
>

Reply via email to