[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [Qemu-devel] [PATCH for 2.13 v2 01/20] linux-user: crea
From: |
Alex Bennée |
Subject: |
Re: [qemu-s390x] [Qemu-devel] [PATCH for 2.13 v2 01/20] linux-user: create a dummy per arch signal.c |
Date: |
Wed, 28 Mar 2018 14:55:25 +0100 |
User-agent: |
mu4e 1.1.0; emacs 26.0.91 |
Laurent Vivier <address@hidden> writes:
> Create a signal-common.h for future use by
> these new files and use it in the existing
> signal.c
nit: overly keen line wrapping?
anyway:
Reviewed-by: Alex Bennée <address@hidden>
>
> Signed-off-by: Laurent Vivier <address@hidden>
> ---
> linux-user/Makefile.objs | 2 +-
> linux-user/aarch64/signal.c | 18 +++++++++++++++
> linux-user/alpha/signal.c | 18 +++++++++++++++
> linux-user/arm/signal.c | 18 +++++++++++++++
> linux-user/cris/signal.c | 18 +++++++++++++++
> linux-user/hppa/signal.c | 18 +++++++++++++++
> linux-user/i386/signal.c | 18 +++++++++++++++
> linux-user/m68k/signal.c | 18 +++++++++++++++
> linux-user/microblaze/signal.c | 18 +++++++++++++++
> linux-user/mips/signal.c | 18 +++++++++++++++
> linux-user/mips64/signal.c | 18 +++++++++++++++
> linux-user/nios2/signal.c | 18 +++++++++++++++
> linux-user/openrisc/signal.c | 18 +++++++++++++++
> linux-user/ppc/signal.c | 18 +++++++++++++++
> linux-user/riscv/signal.c | 18 +++++++++++++++
> linux-user/s390x/signal.c | 18 +++++++++++++++
> linux-user/sh4/signal.c | 18 +++++++++++++++
> linux-user/signal-common.h | 50
> ++++++++++++++++++++++++++++++++++++++++++
> linux-user/signal.c | 41 ++++++++++------------------------
> linux-user/sparc/signal.c | 18 +++++++++++++++
> linux-user/sparc64/signal.c | 18 +++++++++++++++
> linux-user/tilegx/signal.c | 18 +++++++++++++++
> linux-user/x86_64/signal.c | 18 +++++++++++++++
> linux-user/xtensa/signal.c | 18 +++++++++++++++
> 24 files changed, 440 insertions(+), 31 deletions(-)
> create mode 100644 linux-user/aarch64/signal.c
> create mode 100644 linux-user/alpha/signal.c
> create mode 100644 linux-user/arm/signal.c
> create mode 100644 linux-user/cris/signal.c
> create mode 100644 linux-user/hppa/signal.c
> create mode 100644 linux-user/i386/signal.c
> create mode 100644 linux-user/m68k/signal.c
> create mode 100644 linux-user/microblaze/signal.c
> create mode 100644 linux-user/mips/signal.c
> create mode 100644 linux-user/mips64/signal.c
> create mode 100644 linux-user/nios2/signal.c
> create mode 100644 linux-user/openrisc/signal.c
> create mode 100644 linux-user/ppc/signal.c
> create mode 100644 linux-user/riscv/signal.c
> create mode 100644 linux-user/s390x/signal.c
> create mode 100644 linux-user/sh4/signal.c
> create mode 100644 linux-user/signal-common.h
> create mode 100644 linux-user/sparc/signal.c
> create mode 100644 linux-user/sparc64/signal.c
> create mode 100644 linux-user/tilegx/signal.c
> create mode 100644 linux-user/x86_64/signal.c
> create mode 100644 linux-user/xtensa/signal.c
>
> diff --git a/linux-user/Makefile.objs b/linux-user/Makefile.objs
> index 8c93058100..811a7f5ce5 100644
> --- a/linux-user/Makefile.objs
> +++ b/linux-user/Makefile.objs
> @@ -1,6 +1,6 @@
> obj-y = main.o syscall.o strace.o mmap.o signal.o \
> elfload.o linuxload.o uaccess.o uname.o \
> - safe-syscall.o
> + safe-syscall.o $(TARGET_ABI_DIR)/signal.o
>
> obj-$(TARGET_HAS_BFLT) += flatload.o
> obj-$(TARGET_I386) += vm86.o
> diff --git a/linux-user/aarch64/signal.c b/linux-user/aarch64/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/aarch64/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/alpha/signal.c b/linux-user/alpha/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/alpha/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/arm/signal.c b/linux-user/arm/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/arm/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/cris/signal.c b/linux-user/cris/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/cris/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/hppa/signal.c b/linux-user/hppa/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/hppa/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/i386/signal.c b/linux-user/i386/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/i386/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/m68k/signal.c b/linux-user/m68k/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/m68k/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/microblaze/signal.c b/linux-user/microblaze/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/microblaze/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/mips/signal.c b/linux-user/mips/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/mips/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/mips64/signal.c b/linux-user/mips64/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/mips64/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/nios2/signal.c b/linux-user/nios2/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/nios2/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/openrisc/signal.c b/linux-user/openrisc/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/openrisc/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/ppc/signal.c b/linux-user/ppc/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/ppc/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/riscv/signal.c b/linux-user/riscv/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/riscv/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/s390x/signal.c b/linux-user/s390x/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/s390x/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/sh4/signal.c b/linux-user/sh4/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/sh4/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/signal-common.h b/linux-user/signal-common.h
> new file mode 100644
> index 0000000000..838b6e9198
> --- /dev/null
> +++ b/linux-user/signal-common.h
> @@ -0,0 +1,50 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> +
> +#ifndef SIGNAL_COMMON_H
> +#define SIGNAL_COMMON_H
> +extern struct target_sigaltstack target_sigaltstack_used;
> +
> +static inline int on_sig_stack(unsigned long sp)
> +{
> + return (sp - target_sigaltstack_used.ss_sp
> + < target_sigaltstack_used.ss_size);
> +}
> +
> +static inline int sas_ss_flags(unsigned long sp)
> +{
> + return (target_sigaltstack_used.ss_size == 0 ? SS_DISABLE
> + : on_sig_stack(sp) ? SS_ONSTACK : 0);
> +}
> +
> +static inline void target_sigemptyset(target_sigset_t *set)
> +{
> + memset(set, 0, sizeof(*set));
> +}
> +
> +void host_to_target_sigset_internal(target_sigset_t *d,
> + const sigset_t *s);
> +void target_to_host_sigset_internal(sigset_t *d,
> + const target_sigset_t *s);
> +void tswap_siginfo(target_siginfo_t *tinfo,
> + const target_siginfo_t *info);
> +void set_sigmask(const sigset_t *set);
> +void force_sig(int sig);
> +void force_sigsegv(int oldsig);
> +#endif
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index 2ea3e0321f..435cadbe96 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -25,8 +25,9 @@
> #include "qemu-common.h"
> #include "target_signal.h"
> #include "trace.h"
> +#include "signal-common.h"
>
> -static struct target_sigaltstack target_sigaltstack_used = {
> +struct target_sigaltstack target_sigaltstack_used = {
> .ss_sp = 0,
> .ss_size = 0,
> .ss_flags = TARGET_SS_DISABLE,
> @@ -82,18 +83,6 @@ static uint8_t host_to_target_signal_table[_NSIG] = {
> };
> static uint8_t target_to_host_signal_table[_NSIG];
>
> -static inline int on_sig_stack(unsigned long sp)
> -{
> - return (sp - target_sigaltstack_used.ss_sp
> - < target_sigaltstack_used.ss_size);
> -}
> -
> -static inline int sas_ss_flags(unsigned long sp)
> -{
> - return (target_sigaltstack_used.ss_size == 0 ? SS_DISABLE
> - : on_sig_stack(sp) ? SS_ONSTACK : 0);
> -}
> -
> int host_to_target_signal(int sig)
> {
> if (sig < 0 || sig >= _NSIG)
> @@ -108,11 +97,6 @@ int target_to_host_signal(int sig)
> return target_to_host_signal_table[sig];
> }
>
> -static inline void target_sigemptyset(target_sigset_t *set)
> -{
> - memset(set, 0, sizeof(*set));
> -}
> -
> static inline void target_sigaddset(target_sigset_t *set, int signum)
> {
> signum--;
> @@ -127,8 +111,8 @@ static inline int target_sigismember(const
> target_sigset_t *set, int signum)
> return ((set->sig[signum / TARGET_NSIG_BPW] & mask) != 0);
> }
>
> -static void host_to_target_sigset_internal(target_sigset_t *d,
> - const sigset_t *s)
> +void host_to_target_sigset_internal(target_sigset_t *d,
> + const sigset_t *s)
> {
> int i;
> target_sigemptyset(d);
> @@ -149,8 +133,8 @@ void host_to_target_sigset(target_sigset_t *d, const
> sigset_t *s)
> d->sig[i] = tswapal(d1.sig[i]);
> }
>
> -static void target_to_host_sigset_internal(sigset_t *d,
> - const target_sigset_t *s)
> +void target_to_host_sigset_internal(sigset_t *d,
> + const target_sigset_t *s)
> {
> int i;
> sigemptyset(d);
> @@ -257,7 +241,7 @@ int do_sigprocmask(int how, const sigset_t *set, sigset_t
> *oldset)
> /* Just set the guest's signal mask to the specified value; the
> * caller is assumed to have called block_signals() already.
> */
> -static void set_sigmask(const sigset_t *set)
> +void set_sigmask(const sigset_t *set)
> {
> TaskState *ts = (TaskState *)thread_cpu->opaque;
>
> @@ -344,8 +328,8 @@ static inline void
> host_to_target_siginfo_noswap(target_siginfo_t *tinfo,
> tinfo->si_code = deposit32(si_code, 16, 16, si_type);
> }
>
> -static void tswap_siginfo(target_siginfo_t *tinfo,
> - const target_siginfo_t *info)
> +void tswap_siginfo(target_siginfo_t *tinfo,
> + const target_siginfo_t *info)
> {
> int si_type = extract32(info->si_code, 16, 16);
> int si_code = sextract32(info->si_code, 0, 16);
> @@ -515,7 +499,7 @@ void signal_init(void)
> * also forces the signal to "not blocked, not ignored", but for QEMU
> * that work is done in process_pending_signals().
> */
> -static void force_sig(int sig)
> +void force_sig(int sig)
> {
> CPUState *cpu = thread_cpu;
> CPUArchState *env = cpu->env_ptr;
> @@ -534,7 +518,7 @@ static void force_sig(int sig)
> * at the point of failure.
> */
> #if !defined(TARGET_RISCV)
> -static void force_sigsegv(int oldsig)
> +void force_sigsegv(int oldsig)
> {
> if (oldsig == SIGSEGV) {
> /* Make sure we don't try to deliver the signal again; this will
> @@ -7301,9 +7285,6 @@ badframe:
> force_sig(TARGET_SIGSEGV);
> return -TARGET_QEMU_ESIGRETURN;
> }
> -
> -#else
> -#error Target needs to add support for signal handling
> #endif
>
> static void handle_pending_signal(CPUArchState *cpu_env, int sig,
> diff --git a/linux-user/sparc/signal.c b/linux-user/sparc/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/sparc/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/sparc64/signal.c b/linux-user/sparc64/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/sparc64/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/tilegx/signal.c b/linux-user/tilegx/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/tilegx/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/x86_64/signal.c b/linux-user/x86_64/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/x86_64/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
> diff --git a/linux-user/xtensa/signal.c b/linux-user/xtensa/signal.c
> new file mode 100644
> index 0000000000..02ca338b6c
> --- /dev/null
> +++ b/linux-user/xtensa/signal.c
> @@ -0,0 +1,18 @@
> +/*
> + * Emulation of Linux signals
> + *
> + * Copyright (c) 2003 Fabrice Bellard
> + *
> + * This program is free software; you can redistribute it and/or modify
> + * it under the terms of the GNU General Public License as published by
> + * the Free Software Foundation; either version 2 of the License, or
> + * (at your option) any later version.
> + *
> + * This program is distributed in the hope that it will be useful,
> + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> + * GNU General Public License for more details.
> + *
> + * You should have received a copy of the GNU General Public License
> + * along with this program; if not, see <http://www.gnu.org/licenses/>.
> + */
--
Alex Bennée
- [qemu-s390x] [PATCH for 2.13 v2 08/20] linux-user: move openrisc signal.c parts to openrisc directory, (continued)
- [qemu-s390x] [PATCH for 2.13 v2 08/20] linux-user: move openrisc signal.c parts to openrisc directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 05/20] linux-user: move microblaze signal.c parts to microblaze directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 14/20] linux-user: move hppa signal.c parts to hppa directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 04/20] linux-user: move sh4 signal.c parts to sh4 directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 13/20] linux-user: move riscv signal.c parts to riscv directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 07/20] linux-user: move nios2 signal.c parts to nios2 directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 10/20] linux-user: move m68k signal.c parts to m68k directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 01/20] linux-user: create a dummy per arch signal.c, Laurent Vivier, 2018/03/23
- Re: [qemu-s390x] [Qemu-devel] [PATCH for 2.13 v2 01/20] linux-user: create a dummy per arch signal.c,
Alex Bennée <=
- [qemu-s390x] [PATCH for 2.13 v2 11/20] linux-user: move alpha signal.c parts to alpha directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 15/20] linux-user: move xtensa signal.c parts to xtensa directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 12/20] linux-user: move tilegx signal.c parts to tilegx directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 18/20] linux-user: move mips/mips64 signal.c parts to mips directory, Laurent Vivier, 2018/03/23
- [qemu-s390x] [PATCH for 2.13 v2 03/20] linux-user: move arm signal.c parts to arm directory, Laurent Vivier, 2018/03/23