On Thu, Oct 24, 2024 at 2:00 PM Ilya Leoshkevich <i...@linux.ibm.com> wrote:

> gdbstub needs target_to_host_signal(), so move its declaration to a
> public header.
>
> Signed-off-by: Ilya Leoshkevich <i...@linux.ibm.com>
> ---
>  bsd-user/signal-common.h   |  1 -
>  bsd-user/signal.c          |  1 +
>  include/user/signal.h      | 23 +++++++++++++++++++++++
>  linux-user/signal-common.h |  1 -
>  linux-user/signal.c        |  1 +
>  linux-user/syscall.c       |  1 +
>  6 files changed, 26 insertions(+), 2 deletions(-)
>  create mode 100644 include/user/signal.h
>

Reviewed-by: Warner Losh <i...@bsdimp.com>


> diff --git a/bsd-user/signal-common.h b/bsd-user/signal-common.h
> index 77d7c7a78b7..4e634e04a30 100644
> --- a/bsd-user/signal-common.h
> +++ b/bsd-user/signal-common.h
> @@ -42,7 +42,6 @@ void process_pending_signals(CPUArchState *env);
>  void queue_signal(CPUArchState *env, int sig, int si_type,
>                    target_siginfo_t *info);
>  void signal_init(void);
> -int target_to_host_signal(int sig);
>  void target_to_host_sigset(sigset_t *d, const target_sigset_t *s);
>
>  /*
> diff --git a/bsd-user/signal.c b/bsd-user/signal.c
> index da49b9bffc1..a2b11a97131 100644
> --- a/bsd-user/signal.c
> +++ b/bsd-user/signal.c
> @@ -22,6 +22,7 @@
>  #include "qemu/log.h"
>  #include "qemu.h"
>  #include "exec/page-protection.h"
> +#include "user/signal.h"
>  #include "user/tswap-target.h"
>  #include "gdbstub/user.h"
>  #include "signal-common.h"
> diff --git a/include/user/signal.h b/include/user/signal.h
> new file mode 100644
> index 00000000000..19b6b9e5ddc
> --- /dev/null
> +++ b/include/user/signal.h
> @@ -0,0 +1,23 @@
> +/*
> + * Signal-related declarations.
> + *
> + * SPDX-License-Identifier: GPL-2.0-or-later
> + */
> +#ifndef USER_SIGNAL_H
> +#define USER_SIGNAL_H
> +
> +#ifndef CONFIG_USER_ONLY
> +#error Cannot include this header from system emulation
> +#endif
> +
> +/**
> + * target_to_host_signal:
> + * @sig: target signal.
> + *
> + * On success, return the host signal between 0 (inclusive) and NSIG
> + * (exclusive) corresponding to the target signal @sig. Return any other
> value
> + * on failure.
> + */
> +int target_to_host_signal(int sig);
> +
> +#endif
> diff --git a/linux-user/signal-common.h b/linux-user/signal-common.h
> index f4cbe6185e1..f82185ec0f5 100644
> --- a/linux-user/signal-common.h
> +++ b/linux-user/signal-common.h
> @@ -61,7 +61,6 @@ void queue_signal(CPUArchState *env, int sig, int
> si_type,
>                    target_siginfo_t *info);
>  void host_to_target_siginfo(target_siginfo_t *tinfo, const siginfo_t
> *info);
>  void target_to_host_siginfo(siginfo_t *info, const target_siginfo_t
> *tinfo);
> -int target_to_host_signal(int sig);
>  int host_to_target_signal(int sig);
>  long do_sigreturn(CPUArchState *env);
>  long do_rt_sigreturn(CPUArchState *env);
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index 63ac2df53b7..84bb8a34808 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -33,6 +33,7 @@
>  #include "signal-common.h"
>  #include "host-signal.h"
>  #include "user/safe-syscall.h"
> +#include "user/signal.h"
>  #include "tcg/tcg.h"
>
>  /* target_siginfo_t must fit in gdbstub's siginfo save area. */
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index d1b0f7c5bbc..0a3c4d5a946 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -136,6 +136,7 @@
>  #include "loader.h"
>  #include "user-mmap.h"
>  #include "user/safe-syscall.h"
> +#include "user/signal.h"
>  #include "qemu/guest-random.h"
>  #include "qemu/selfmap.h"
>  #include "user/syscall-trace.h"
> --
> 2.47.0
>
>

Reply via email to