diff mbox series

[v4,7/9] linux-user: Remove HAVE_SAFE_SYSCALL and hostdep.h

Message ID 20211116110256.365484-8-richard.henderson@linaro.org
State Superseded
Headers show
Series linux-user: simplify safe signal handling | expand

Commit Message

Richard Henderson Nov. 16, 2021, 11:02 a.m. UTC
All supported hosts now define HAVE_SAFE_SYSCALL, so remove
the ifdefs.  This leaves hostdep.h empty, so remove it.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
 common-user/host/aarch64/hostdep.h | 18 ------------------
 common-user/host/arm/hostdep.h     | 18 ------------------
 common-user/host/i386/hostdep.h    | 18 ------------------
 common-user/host/mips/hostdep.h    |  2 --
 common-user/host/ppc64/hostdep.h   | 18 ------------------
 common-user/host/riscv/hostdep.h   | 14 --------------
 common-user/host/s390x/hostdep.h   | 18 ------------------
 common-user/host/sparc64/hostdep.h |  2 --
 common-user/host/x86_64/hostdep.h  | 18 ------------------
 linux-user/host/ia64/hostdep.h     | 15 ---------------
 linux-user/host/mips/hostdep.h     | 15 ---------------
 linux-user/host/ppc/hostdep.h      | 15 ---------------
 linux-user/host/s390/hostdep.h     | 15 ---------------
 linux-user/host/sparc/hostdep.h    | 15 ---------------
 linux-user/host/sparc64/hostdep.h  | 15 ---------------
 linux-user/host/x32/hostdep.h      | 15 ---------------
 linux-user/safe-syscall.h          | 12 ------------
 linux-user/user-internals.h        |  1 -
 linux-user/signal.c                |  2 --
 linux-user/safe-syscall.S          |  3 ---
 20 files changed, 249 deletions(-)
 delete mode 100644 common-user/host/aarch64/hostdep.h
 delete mode 100644 common-user/host/arm/hostdep.h
 delete mode 100644 common-user/host/i386/hostdep.h
 delete mode 100644 common-user/host/mips/hostdep.h
 delete mode 100644 common-user/host/ppc64/hostdep.h
 delete mode 100644 common-user/host/riscv/hostdep.h
 delete mode 100644 common-user/host/s390x/hostdep.h
 delete mode 100644 common-user/host/sparc64/hostdep.h
 delete mode 100644 common-user/host/x86_64/hostdep.h
 delete mode 100644 linux-user/host/ia64/hostdep.h
 delete mode 100644 linux-user/host/mips/hostdep.h
 delete mode 100644 linux-user/host/ppc/hostdep.h
 delete mode 100644 linux-user/host/s390/hostdep.h
 delete mode 100644 linux-user/host/sparc/hostdep.h
 delete mode 100644 linux-user/host/sparc64/hostdep.h
 delete mode 100644 linux-user/host/x32/hostdep.h

Comments

Philippe Mathieu-Daudé Nov. 17, 2021, 8:22 a.m. UTC | #1
On 11/16/21 12:02, Richard Henderson wrote:
> All supported hosts now define HAVE_SAFE_SYSCALL, so remove
> the ifdefs.  This leaves hostdep.h empty, so remove it.
> 
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  common-user/host/aarch64/hostdep.h | 18 ------------------
>  common-user/host/arm/hostdep.h     | 18 ------------------
>  common-user/host/i386/hostdep.h    | 18 ------------------
>  common-user/host/mips/hostdep.h    |  2 --
>  common-user/host/ppc64/hostdep.h   | 18 ------------------
>  common-user/host/riscv/hostdep.h   | 14 --------------
>  common-user/host/s390x/hostdep.h   | 18 ------------------
>  common-user/host/sparc64/hostdep.h |  2 --
>  common-user/host/x86_64/hostdep.h  | 18 ------------------
>  linux-user/host/ia64/hostdep.h     | 15 ---------------
>  linux-user/host/mips/hostdep.h     | 15 ---------------
>  linux-user/host/ppc/hostdep.h      | 15 ---------------
>  linux-user/host/s390/hostdep.h     | 15 ---------------
>  linux-user/host/sparc/hostdep.h    | 15 ---------------
>  linux-user/host/sparc64/hostdep.h  | 15 ---------------
>  linux-user/host/x32/hostdep.h      | 15 ---------------
>  linux-user/safe-syscall.h          | 12 ------------
>  linux-user/user-internals.h        |  1 -
>  linux-user/signal.c                |  2 --
>  linux-user/safe-syscall.S          |  3 ---
>  20 files changed, 249 deletions(-)
>  delete mode 100644 common-user/host/aarch64/hostdep.h
>  delete mode 100644 common-user/host/arm/hostdep.h
>  delete mode 100644 common-user/host/i386/hostdep.h
>  delete mode 100644 common-user/host/mips/hostdep.h
>  delete mode 100644 common-user/host/ppc64/hostdep.h
>  delete mode 100644 common-user/host/riscv/hostdep.h
>  delete mode 100644 common-user/host/s390x/hostdep.h
>  delete mode 100644 common-user/host/sparc64/hostdep.h
>  delete mode 100644 common-user/host/x86_64/hostdep.h
>  delete mode 100644 linux-user/host/ia64/hostdep.h
>  delete mode 100644 linux-user/host/mips/hostdep.h
>  delete mode 100644 linux-user/host/ppc/hostdep.h
>  delete mode 100644 linux-user/host/s390/hostdep.h
>  delete mode 100644 linux-user/host/sparc/hostdep.h
>  delete mode 100644 linux-user/host/sparc64/hostdep.h
>  delete mode 100644 linux-user/host/x32/hostdep.h

> diff --git a/linux-user/safe-syscall.h b/linux-user/safe-syscall.h
> -#ifdef HAVE_SAFE_SYSCALL
>  
>  /* The core part of this function is implemented in assembly. */
>  extern long safe_syscall_base(int *pending, int *errnop, long number, ...);
> @@ -137,15 +136,4 @@ extern char safe_syscall_end[];
>      safe_syscall_base(&((TaskState *)thread_cpu->opaque)->signal_pending, \
>                        &errno, __VA_ARGS__)
>  
> -#else
> -
> -/*
> - * Fallback for architectures which don't yet provide a safe-syscall assembly
> - * fragment; note that this is racy!
> - * This should go away when all host architectures have been updated.
> - */
> -#define safe_syscall syscall
> -
> -#endif

Good!

Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Warner Losh Nov. 17, 2021, 3:58 p.m. UTC | #2
On Tue, Nov 16, 2021 at 4:03 AM Richard Henderson <
richard.henderson@linaro.org> wrote:

> All supported hosts now define HAVE_SAFE_SYSCALL, so remove
> the ifdefs.  This leaves hostdep.h empty, so remove it.
>
> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
> ---
>  common-user/host/aarch64/hostdep.h | 18 ------------------
>  common-user/host/arm/hostdep.h     | 18 ------------------
>  common-user/host/i386/hostdep.h    | 18 ------------------
>  common-user/host/mips/hostdep.h    |  2 --
>  common-user/host/ppc64/hostdep.h   | 18 ------------------
>  common-user/host/riscv/hostdep.h   | 14 --------------
>  common-user/host/s390x/hostdep.h   | 18 ------------------
>  common-user/host/sparc64/hostdep.h |  2 --
>  common-user/host/x86_64/hostdep.h  | 18 ------------------
>  linux-user/host/ia64/hostdep.h     | 15 ---------------
>  linux-user/host/mips/hostdep.h     | 15 ---------------
>  linux-user/host/ppc/hostdep.h      | 15 ---------------
>  linux-user/host/s390/hostdep.h     | 15 ---------------
>  linux-user/host/sparc/hostdep.h    | 15 ---------------
>  linux-user/host/sparc64/hostdep.h  | 15 ---------------
>  linux-user/host/x32/hostdep.h      | 15 ---------------
>  linux-user/safe-syscall.h          | 12 ------------
>  linux-user/user-internals.h        |  1 -
>  linux-user/signal.c                |  2 --
>  linux-user/safe-syscall.S          |  3 ---
>  20 files changed, 249 deletions(-)
>  delete mode 100644 common-user/host/aarch64/hostdep.h
>  delete mode 100644 common-user/host/arm/hostdep.h
>  delete mode 100644 common-user/host/i386/hostdep.h
>  delete mode 100644 common-user/host/mips/hostdep.h
>  delete mode 100644 common-user/host/ppc64/hostdep.h
>  delete mode 100644 common-user/host/riscv/hostdep.h
>  delete mode 100644 common-user/host/s390x/hostdep.h
>  delete mode 100644 common-user/host/sparc64/hostdep.h
>  delete mode 100644 common-user/host/x86_64/hostdep.h
>  delete mode 100644 linux-user/host/ia64/hostdep.h
>  delete mode 100644 linux-user/host/mips/hostdep.h
>  delete mode 100644 linux-user/host/ppc/hostdep.h
>  delete mode 100644 linux-user/host/s390/hostdep.h
>  delete mode 100644 linux-user/host/sparc/hostdep.h
>  delete mode 100644 linux-user/host/sparc64/hostdep.h
>  delete mode 100644 linux-user/host/x32/hostdep.h
>

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



> diff --git a/common-user/host/aarch64/hostdep.h
> b/common-user/host/aarch64/hostdep.h
> deleted file mode 100644
> index 39299d798a..0000000000
> --- a/common-user/host/aarch64/hostdep.h
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef AARCH64_HOSTDEP_H
> -#define AARCH64_HOSTDEP_H
> -
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> -
> -#endif
> diff --git a/common-user/host/arm/hostdep.h
> b/common-user/host/arm/hostdep.h
> deleted file mode 100644
> index 86b137875a..0000000000
> --- a/common-user/host/arm/hostdep.h
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef ARM_HOSTDEP_H
> -#define ARM_HOSTDEP_H
> -
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> -
> -#endif
> diff --git a/common-user/host/i386/hostdep.h
> b/common-user/host/i386/hostdep.h
> deleted file mode 100644
> index ce7136501f..0000000000
> --- a/common-user/host/i386/hostdep.h
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef I386_HOSTDEP_H
> -#define I386_HOSTDEP_H
> -
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> -
> -#endif
> diff --git a/common-user/host/mips/hostdep.h
> b/common-user/host/mips/hostdep.h
> deleted file mode 100644
> index b18aca1deb..0000000000
> --- a/common-user/host/mips/hostdep.h
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> diff --git a/common-user/host/ppc64/hostdep.h
> b/common-user/host/ppc64/hostdep.h
> deleted file mode 100644
> index 0c290dd904..0000000000
> --- a/common-user/host/ppc64/hostdep.h
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef PPC64_HOSTDEP_H
> -#define PPC64_HOSTDEP_H
> -
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> -
> -#endif
> diff --git a/common-user/host/riscv/hostdep.h
> b/common-user/host/riscv/hostdep.h
> deleted file mode 100644
> index 7f67c22868..0000000000
> --- a/common-user/host/riscv/hostdep.h
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef RISCV_HOSTDEP_H
> -#define RISCV_HOSTDEP_H
> -
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> -
> -#endif
> diff --git a/common-user/host/s390x/hostdep.h
> b/common-user/host/s390x/hostdep.h
> deleted file mode 100644
> index d801145854..0000000000
> --- a/common-user/host/s390x/hostdep.h
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef S390X_HOSTDEP_H
> -#define S390X_HOSTDEP_H
> -
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> -
> -#endif
> diff --git a/common-user/host/sparc64/hostdep.h
> b/common-user/host/sparc64/hostdep.h
> deleted file mode 100644
> index b18aca1deb..0000000000
> --- a/common-user/host/sparc64/hostdep.h
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> diff --git a/common-user/host/x86_64/hostdep.h
> b/common-user/host/x86_64/hostdep.h
> deleted file mode 100644
> index 9c62bd26bd..0000000000
> --- a/common-user/host/x86_64/hostdep.h
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef X86_64_HOSTDEP_H
> -#define X86_64_HOSTDEP_H
> -
> -/* We have a safe-syscall.inc.S */
> -#define HAVE_SAFE_SYSCALL
> -
> -#endif
> diff --git a/linux-user/host/ia64/hostdep.h
> b/linux-user/host/ia64/hostdep.h
> deleted file mode 100644
> index 263bf7658e..0000000000
> --- a/linux-user/host/ia64/hostdep.h
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef IA64_HOSTDEP_H
> -#define IA64_HOSTDEP_H
> -
> -#endif
> diff --git a/linux-user/host/mips/hostdep.h
> b/linux-user/host/mips/hostdep.h
> deleted file mode 100644
> index ba111d75c3..0000000000
> --- a/linux-user/host/mips/hostdep.h
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef MIPS_HOSTDEP_H
> -#define MIPS_HOSTDEP_H
> -
> -#endif
> diff --git a/linux-user/host/ppc/hostdep.h b/linux-user/host/ppc/hostdep.h
> deleted file mode 100644
> index 23d8bd9d47..0000000000
> --- a/linux-user/host/ppc/hostdep.h
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef PPC_HOSTDEP_H
> -#define PPC_HOSTDEP_H
> -
> -#endif
> diff --git a/linux-user/host/s390/hostdep.h
> b/linux-user/host/s390/hostdep.h
> deleted file mode 100644
> index afcba5a16a..0000000000
> --- a/linux-user/host/s390/hostdep.h
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef S390_HOSTDEP_H
> -#define S390_HOSTDEP_H
> -
> -#endif
> diff --git a/linux-user/host/sparc/hostdep.h
> b/linux-user/host/sparc/hostdep.h
> deleted file mode 100644
> index 391ad923cf..0000000000
> --- a/linux-user/host/sparc/hostdep.h
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef SPARC_HOSTDEP_H
> -#define SPARC_HOSTDEP_H
> -
> -#endif
> diff --git a/linux-user/host/sparc64/hostdep.h
> b/linux-user/host/sparc64/hostdep.h
> deleted file mode 100644
> index ce3968fca0..0000000000
> --- a/linux-user/host/sparc64/hostdep.h
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef SPARC64_HOSTDEP_H
> -#define SPARC64_HOSTDEP_H
> -
> -#endif
> diff --git a/linux-user/host/x32/hostdep.h b/linux-user/host/x32/hostdep.h
> deleted file mode 100644
> index 2c2d6d37da..0000000000
> --- a/linux-user/host/x32/hostdep.h
> +++ /dev/null
> @@ -1,15 +0,0 @@
> -/*
> - * hostdep.h : things which are dependent on the host architecture
> - *
> - *  * Written by Peter Maydell <peter.maydell@linaro.org>
> - *
> - * Copyright (C) 2016 Linaro Limited
> - *
> - * This work is licensed under the terms of the GNU GPL, version 2 or
> later.
> - * See the COPYING file in the top-level directory.
> - */
> -
> -#ifndef X32_HOSTDEP_H
> -#define X32_HOSTDEP_H
> -
> -#endif
> diff --git a/linux-user/safe-syscall.h b/linux-user/safe-syscall.h
> index ea0e8a8d24..0deb87e51a 100644
> --- a/linux-user/safe-syscall.h
> +++ b/linux-user/safe-syscall.h
> @@ -124,7 +124,6 @@
>   * need to check SA_RESTART flags in QEMU or distinguish the various
>   * kinds of restartability.
>   */
> -#ifdef HAVE_SAFE_SYSCALL
>
>  /* The core part of this function is implemented in assembly. */
>  extern long safe_syscall_base(int *pending, int *errnop, long number,
> ...);
> @@ -137,15 +136,4 @@ extern char safe_syscall_end[];
>      safe_syscall_base(&((TaskState *)thread_cpu->opaque)->signal_pending,
> \
>                        &errno, __VA_ARGS__)
>
> -#else
> -
> -/*
> - * Fallback for architectures which don't yet provide a safe-syscall
> assembly
> - * fragment; note that this is racy!
> - * This should go away when all host architectures have been updated.
> - */
> -#define safe_syscall syscall
> -
> -#endif
> -
>  #endif
> diff --git a/linux-user/user-internals.h b/linux-user/user-internals.h
> index 661612a088..f71f372829 100644
> --- a/linux-user/user-internals.h
> +++ b/linux-user/user-internals.h
> @@ -18,7 +18,6 @@
>  #ifndef LINUX_USER_USER_INTERNALS_H
>  #define LINUX_USER_USER_INTERNALS_H
>
> -#include "hostdep.h"
>  #include "exec/user/thunk.h"
>  #include "exec/exec-all.h"
>  #include "qemu/log.h"
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index 6d5e5b698c..ca8f24b9ec 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -798,7 +798,6 @@ int queue_signal(CPUArchState *env, int sig, int
> si_type,
>  /* Adjust the signal context to rewind out of safe-syscall if we're in it
> */
>  static inline void rewind_if_in_safe_syscall(void *puc)
>  {
> -#ifdef HAVE_SAFE_SYSCALL
>      ucontext_t *uc = (ucontext_t *)puc;
>      uintptr_t pcreg = host_signal_pc(uc);
>
> @@ -806,7 +805,6 @@ static inline void rewind_if_in_safe_syscall(void *puc)
>          && pcreg < (uintptr_t)safe_syscall_end) {
>          host_signal_set_pc(uc, (uintptr_t)safe_syscall_start);
>      }
> -#endif
>  }
>
>  static void host_signal_handler(int host_sig, siginfo_t *info, void *puc)
> diff --git a/linux-user/safe-syscall.S b/linux-user/safe-syscall.S
> index 42ea7c40ba..7ddc997801 100644
> --- a/linux-user/safe-syscall.S
> +++ b/linux-user/safe-syscall.S
> @@ -10,15 +10,12 @@
>   * See the COPYING file in the top-level directory.
>   */
>
> -#include "hostdep.h"
>  #include "target_errno_defs.h"
>
>  /* We have the correct host directory on our include path
>   * so that this will pull in the right fragment for the architecture.
>   */
> -#ifdef HAVE_SAFE_SYSCALL
>  #include "safe-syscall.inc.S"
> -#endif
>
>  /* We must specifically say that we're happy for the stack to not be
>   * executable, otherwise the toolchain will default to assuming our
> --
> 2.25.1
>
>
diff mbox series

Patch

diff --git a/common-user/host/aarch64/hostdep.h b/common-user/host/aarch64/hostdep.h
deleted file mode 100644
index 39299d798a..0000000000
--- a/common-user/host/aarch64/hostdep.h
+++ /dev/null
@@ -1,18 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef AARCH64_HOSTDEP_H
-#define AARCH64_HOSTDEP_H
-
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
-
-#endif
diff --git a/common-user/host/arm/hostdep.h b/common-user/host/arm/hostdep.h
deleted file mode 100644
index 86b137875a..0000000000
--- a/common-user/host/arm/hostdep.h
+++ /dev/null
@@ -1,18 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef ARM_HOSTDEP_H
-#define ARM_HOSTDEP_H
-
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
-
-#endif
diff --git a/common-user/host/i386/hostdep.h b/common-user/host/i386/hostdep.h
deleted file mode 100644
index ce7136501f..0000000000
--- a/common-user/host/i386/hostdep.h
+++ /dev/null
@@ -1,18 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef I386_HOSTDEP_H
-#define I386_HOSTDEP_H
-
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
-
-#endif
diff --git a/common-user/host/mips/hostdep.h b/common-user/host/mips/hostdep.h
deleted file mode 100644
index b18aca1deb..0000000000
--- a/common-user/host/mips/hostdep.h
+++ /dev/null
@@ -1,2 +0,0 @@ 
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
diff --git a/common-user/host/ppc64/hostdep.h b/common-user/host/ppc64/hostdep.h
deleted file mode 100644
index 0c290dd904..0000000000
--- a/common-user/host/ppc64/hostdep.h
+++ /dev/null
@@ -1,18 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef PPC64_HOSTDEP_H
-#define PPC64_HOSTDEP_H
-
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
-
-#endif
diff --git a/common-user/host/riscv/hostdep.h b/common-user/host/riscv/hostdep.h
deleted file mode 100644
index 7f67c22868..0000000000
--- a/common-user/host/riscv/hostdep.h
+++ /dev/null
@@ -1,14 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef RISCV_HOSTDEP_H
-#define RISCV_HOSTDEP_H
-
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
-
-#endif
diff --git a/common-user/host/s390x/hostdep.h b/common-user/host/s390x/hostdep.h
deleted file mode 100644
index d801145854..0000000000
--- a/common-user/host/s390x/hostdep.h
+++ /dev/null
@@ -1,18 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef S390X_HOSTDEP_H
-#define S390X_HOSTDEP_H
-
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
-
-#endif
diff --git a/common-user/host/sparc64/hostdep.h b/common-user/host/sparc64/hostdep.h
deleted file mode 100644
index b18aca1deb..0000000000
--- a/common-user/host/sparc64/hostdep.h
+++ /dev/null
@@ -1,2 +0,0 @@ 
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
diff --git a/common-user/host/x86_64/hostdep.h b/common-user/host/x86_64/hostdep.h
deleted file mode 100644
index 9c62bd26bd..0000000000
--- a/common-user/host/x86_64/hostdep.h
+++ /dev/null
@@ -1,18 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef X86_64_HOSTDEP_H
-#define X86_64_HOSTDEP_H
-
-/* We have a safe-syscall.inc.S */
-#define HAVE_SAFE_SYSCALL
-
-#endif
diff --git a/linux-user/host/ia64/hostdep.h b/linux-user/host/ia64/hostdep.h
deleted file mode 100644
index 263bf7658e..0000000000
--- a/linux-user/host/ia64/hostdep.h
+++ /dev/null
@@ -1,15 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef IA64_HOSTDEP_H
-#define IA64_HOSTDEP_H
-
-#endif
diff --git a/linux-user/host/mips/hostdep.h b/linux-user/host/mips/hostdep.h
deleted file mode 100644
index ba111d75c3..0000000000
--- a/linux-user/host/mips/hostdep.h
+++ /dev/null
@@ -1,15 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef MIPS_HOSTDEP_H
-#define MIPS_HOSTDEP_H
-
-#endif
diff --git a/linux-user/host/ppc/hostdep.h b/linux-user/host/ppc/hostdep.h
deleted file mode 100644
index 23d8bd9d47..0000000000
--- a/linux-user/host/ppc/hostdep.h
+++ /dev/null
@@ -1,15 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef PPC_HOSTDEP_H
-#define PPC_HOSTDEP_H
-
-#endif
diff --git a/linux-user/host/s390/hostdep.h b/linux-user/host/s390/hostdep.h
deleted file mode 100644
index afcba5a16a..0000000000
--- a/linux-user/host/s390/hostdep.h
+++ /dev/null
@@ -1,15 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef S390_HOSTDEP_H
-#define S390_HOSTDEP_H
-
-#endif
diff --git a/linux-user/host/sparc/hostdep.h b/linux-user/host/sparc/hostdep.h
deleted file mode 100644
index 391ad923cf..0000000000
--- a/linux-user/host/sparc/hostdep.h
+++ /dev/null
@@ -1,15 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef SPARC_HOSTDEP_H
-#define SPARC_HOSTDEP_H
-
-#endif
diff --git a/linux-user/host/sparc64/hostdep.h b/linux-user/host/sparc64/hostdep.h
deleted file mode 100644
index ce3968fca0..0000000000
--- a/linux-user/host/sparc64/hostdep.h
+++ /dev/null
@@ -1,15 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef SPARC64_HOSTDEP_H
-#define SPARC64_HOSTDEP_H
-
-#endif
diff --git a/linux-user/host/x32/hostdep.h b/linux-user/host/x32/hostdep.h
deleted file mode 100644
index 2c2d6d37da..0000000000
--- a/linux-user/host/x32/hostdep.h
+++ /dev/null
@@ -1,15 +0,0 @@ 
-/*
- * hostdep.h : things which are dependent on the host architecture
- *
- *  * Written by Peter Maydell <peter.maydell@linaro.org>
- *
- * Copyright (C) 2016 Linaro Limited
- *
- * This work is licensed under the terms of the GNU GPL, version 2 or later.
- * See the COPYING file in the top-level directory.
- */
-
-#ifndef X32_HOSTDEP_H
-#define X32_HOSTDEP_H
-
-#endif
diff --git a/linux-user/safe-syscall.h b/linux-user/safe-syscall.h
index ea0e8a8d24..0deb87e51a 100644
--- a/linux-user/safe-syscall.h
+++ b/linux-user/safe-syscall.h
@@ -124,7 +124,6 @@ 
  * need to check SA_RESTART flags in QEMU or distinguish the various
  * kinds of restartability.
  */
-#ifdef HAVE_SAFE_SYSCALL
 
 /* The core part of this function is implemented in assembly. */
 extern long safe_syscall_base(int *pending, int *errnop, long number, ...);
@@ -137,15 +136,4 @@  extern char safe_syscall_end[];
     safe_syscall_base(&((TaskState *)thread_cpu->opaque)->signal_pending, \
                       &errno, __VA_ARGS__)
 
-#else
-
-/*
- * Fallback for architectures which don't yet provide a safe-syscall assembly
- * fragment; note that this is racy!
- * This should go away when all host architectures have been updated.
- */
-#define safe_syscall syscall
-
-#endif
-
 #endif
diff --git a/linux-user/user-internals.h b/linux-user/user-internals.h
index 661612a088..f71f372829 100644
--- a/linux-user/user-internals.h
+++ b/linux-user/user-internals.h
@@ -18,7 +18,6 @@ 
 #ifndef LINUX_USER_USER_INTERNALS_H
 #define LINUX_USER_USER_INTERNALS_H
 
-#include "hostdep.h"
 #include "exec/user/thunk.h"
 #include "exec/exec-all.h"
 #include "qemu/log.h"
diff --git a/linux-user/signal.c b/linux-user/signal.c
index 6d5e5b698c..ca8f24b9ec 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -798,7 +798,6 @@  int queue_signal(CPUArchState *env, int sig, int si_type,
 /* Adjust the signal context to rewind out of safe-syscall if we're in it */
 static inline void rewind_if_in_safe_syscall(void *puc)
 {
-#ifdef HAVE_SAFE_SYSCALL
     ucontext_t *uc = (ucontext_t *)puc;
     uintptr_t pcreg = host_signal_pc(uc);
 
@@ -806,7 +805,6 @@  static inline void rewind_if_in_safe_syscall(void *puc)
         && pcreg < (uintptr_t)safe_syscall_end) {
         host_signal_set_pc(uc, (uintptr_t)safe_syscall_start);
     }
-#endif
 }
 
 static void host_signal_handler(int host_sig, siginfo_t *info, void *puc)
diff --git a/linux-user/safe-syscall.S b/linux-user/safe-syscall.S
index 42ea7c40ba..7ddc997801 100644
--- a/linux-user/safe-syscall.S
+++ b/linux-user/safe-syscall.S
@@ -10,15 +10,12 @@ 
  * See the COPYING file in the top-level directory.
  */
 
-#include "hostdep.h"
 #include "target_errno_defs.h"
 
 /* We have the correct host directory on our include path
  * so that this will pull in the right fragment for the architecture.
  */
-#ifdef HAVE_SAFE_SYSCALL
 #include "safe-syscall.inc.S"
-#endif
 
 /* We must specifically say that we're happy for the stack to not be
  * executable, otherwise the toolchain will default to assuming our