mbox series

[v5,00/26] linux-user: Move signal trampolines to new page

Message ID 20210929130553.121567-1-richard.henderson@linaro.org
Headers show
Series linux-user: Move signal trampolines to new page | expand

Message

Richard Henderson Sept. 29, 2021, 1:05 p.m. UTC
Changes for v5:
  * Fix arm thumb code copy.
  * Re-enable signals test (except hppa & sh4).

Changes for v4:
  * Drop nios2 changes -- I still haven't built a full toolchain.
  * Clean up arm changes.
  * Minur i386 pointer type changes.

Changes for v3:
  * Drop vdsos, reinstate setup_sigtramp for all targets.
  * Incorporate nios2 kuser page emulation, which contains
    the sigtramp for that target.

Changes for v2:
  * Add vdsos for aarch64, arm, i386, riscv.
  * Drop setup_sigtramp for any target with a vdso.
  * Drop arm v1 signal support.
  * Simplify ppc encode_trampoline.


r~

Richard Henderson (26):
  linux-user: Add infrastructure for a signal trampoline page
  linux-user/aarch64: Implement setup_sigtramp
  linux-user/arm: Drop v1 signal frames
  linux-user/arm: Drop "_v2" from symbols in signal.c
  linux-user/arm: Implement setup_sigtramp
  linux-user/alpha: Implement setup_sigtramp
  linux-user/cris: Implement setup_sigtramp
  linux-user/hexagon: Implement setup_sigtramp
  linux-user/hppa: Document non-use of setup_sigtramp
  linux-user/i386: Implement setup_sigtramp
  linux-user/x86_64: Raise SIGSEGV if SA_RESTORER not set
  linux-user/m68k: Implement setup_sigtramp
  linux-user/microblaze: Implement setup_sigtramp
  linux-user/mips: Tidy install_sigtramp
  linux-user/mips: Implement setup_sigtramp
  linux-user/nios2: Document non-use of setup_sigtramp
  linux-user/openrisc: Implement setup_sigtramp
  linux-user/ppc: Simplify encode_trampoline
  linux-user/ppc: Implement setup_sigtramp
  linux-user/riscv: Implement setup_sigtramp
  linux-user/s390x: Implement setup_sigtramp
  linux-user/sh4: Implement setup_sigtramp
  linux-user/sparc: Implement setup_sigtramp
  linux-user/xtensa: Implement setup_sigtramp
  linux-user: Remove default for TARGET_ARCH_HAS_SIGTRAMP_PAGE
  tests/tcg/multiarch: Re-enable signals test for most guests

 linux-user/aarch64/target_signal.h    |   2 +
 linux-user/alpha/target_signal.h      |   1 +
 linux-user/arm/target_signal.h        |   2 +
 linux-user/cris/target_signal.h       |   2 +
 linux-user/hexagon/target_signal.h    |   2 +
 linux-user/hppa/target_signal.h       |  14 +
 linux-user/i386/target_signal.h       |   2 +
 linux-user/m68k/target_signal.h       |   2 +
 linux-user/microblaze/target_signal.h |   2 +
 linux-user/mips/target_signal.h       |   1 +
 linux-user/mips64/target_signal.h     |   2 +
 linux-user/nios2/target_signal.h      |   3 +
 linux-user/openrisc/target_signal.h   |   2 +
 linux-user/ppc/target_signal.h        |   2 +
 linux-user/riscv/target_signal.h      |   2 +
 linux-user/s390x/target_signal.h      |   2 +
 linux-user/sh4/target_signal.h        |   2 +
 linux-user/signal-common.h            |   6 +
 linux-user/sparc/target_signal.h      |   4 +
 linux-user/x86_64/target_signal.h     |   3 +
 linux-user/xtensa/target_signal.h     |   2 +
 linux-user/aarch64/signal.c           |  34 +-
 linux-user/alpha/signal.c             |  34 +-
 linux-user/arm/signal.c               | 580 +++++++++-----------------
 linux-user/cris/signal.c              |  29 +-
 linux-user/elfload.c                  |  14 +
 linux-user/hexagon/signal.c           |  19 +-
 linux-user/i386/signal.c              |  65 ++-
 linux-user/m68k/signal.c              |  47 +--
 linux-user/microblaze/signal.c        |  24 +-
 linux-user/mips/signal.c              |  39 +-
 linux-user/openrisc/signal.c          |  22 +-
 linux-user/ppc/signal.c               |  40 +-
 linux-user/riscv/signal.c             |  22 +-
 linux-user/s390x/signal.c             |  24 +-
 linux-user/sh4/signal.c               |  40 +-
 linux-user/signal.c                   |   3 +
 linux-user/sparc/signal.c             |  40 +-
 linux-user/xtensa/signal.c            |  56 ++-
 tests/tcg/hppa/Makefile.target        |   7 +
 tests/tcg/i386/Makefile.target        |   3 -
 tests/tcg/multiarch/Makefile.target   |   8 -
 tests/tcg/sh4/Makefile.target         |   7 +
 43 files changed, 613 insertions(+), 604 deletions(-)

-- 
2.25.1

Comments

Laurent Vivier Oct. 1, 2021, 10:04 a.m. UTC | #1
Le 29/09/2021 à 15:05, Richard Henderson a écrit :
> Changes for v5:

>   * Fix arm thumb code copy.

>   * Re-enable signals test (except hppa & sh4).

> 

> Changes for v4:

>   * Drop nios2 changes -- I still haven't built a full toolchain.

>   * Clean up arm changes.

>   * Minur i386 pointer type changes.

> 

> Changes for v3:

>   * Drop vdsos, reinstate setup_sigtramp for all targets.

>   * Incorporate nios2 kuser page emulation, which contains

>     the sigtramp for that target.

> 

> Changes for v2:

>   * Add vdsos for aarch64, arm, i386, riscv.

>   * Drop setup_sigtramp for any target with a vdso.

>   * Drop arm v1 signal support.

>   * Simplify ppc encode_trampoline.

> 

> 

> r~

> 

> Richard Henderson (26):

>   linux-user: Add infrastructure for a signal trampoline page

>   linux-user/aarch64: Implement setup_sigtramp

>   linux-user/arm: Drop v1 signal frames

>   linux-user/arm: Drop "_v2" from symbols in signal.c

>   linux-user/arm: Implement setup_sigtramp

>   linux-user/alpha: Implement setup_sigtramp

>   linux-user/cris: Implement setup_sigtramp

>   linux-user/hexagon: Implement setup_sigtramp

>   linux-user/hppa: Document non-use of setup_sigtramp

>   linux-user/i386: Implement setup_sigtramp

>   linux-user/x86_64: Raise SIGSEGV if SA_RESTORER not set

>   linux-user/m68k: Implement setup_sigtramp

>   linux-user/microblaze: Implement setup_sigtramp

>   linux-user/mips: Tidy install_sigtramp

>   linux-user/mips: Implement setup_sigtramp

>   linux-user/nios2: Document non-use of setup_sigtramp

>   linux-user/openrisc: Implement setup_sigtramp

>   linux-user/ppc: Simplify encode_trampoline

>   linux-user/ppc: Implement setup_sigtramp

>   linux-user/riscv: Implement setup_sigtramp

>   linux-user/s390x: Implement setup_sigtramp

>   linux-user/sh4: Implement setup_sigtramp

>   linux-user/sparc: Implement setup_sigtramp

>   linux-user/xtensa: Implement setup_sigtramp

>   linux-user: Remove default for TARGET_ARCH_HAS_SIGTRAMP_PAGE

>   tests/tcg/multiarch: Re-enable signals test for most guests

> 

>  linux-user/aarch64/target_signal.h    |   2 +

>  linux-user/alpha/target_signal.h      |   1 +

>  linux-user/arm/target_signal.h        |   2 +

>  linux-user/cris/target_signal.h       |   2 +

>  linux-user/hexagon/target_signal.h    |   2 +

>  linux-user/hppa/target_signal.h       |  14 +

>  linux-user/i386/target_signal.h       |   2 +

>  linux-user/m68k/target_signal.h       |   2 +

>  linux-user/microblaze/target_signal.h |   2 +

>  linux-user/mips/target_signal.h       |   1 +

>  linux-user/mips64/target_signal.h     |   2 +

>  linux-user/nios2/target_signal.h      |   3 +

>  linux-user/openrisc/target_signal.h   |   2 +

>  linux-user/ppc/target_signal.h        |   2 +

>  linux-user/riscv/target_signal.h      |   2 +

>  linux-user/s390x/target_signal.h      |   2 +

>  linux-user/sh4/target_signal.h        |   2 +

>  linux-user/signal-common.h            |   6 +

>  linux-user/sparc/target_signal.h      |   4 +

>  linux-user/x86_64/target_signal.h     |   3 +

>  linux-user/xtensa/target_signal.h     |   2 +

>  linux-user/aarch64/signal.c           |  34 +-

>  linux-user/alpha/signal.c             |  34 +-

>  linux-user/arm/signal.c               | 580 +++++++++-----------------

>  linux-user/cris/signal.c              |  29 +-

>  linux-user/elfload.c                  |  14 +

>  linux-user/hexagon/signal.c           |  19 +-

>  linux-user/i386/signal.c              |  65 ++-

>  linux-user/m68k/signal.c              |  47 +--

>  linux-user/microblaze/signal.c        |  24 +-

>  linux-user/mips/signal.c              |  39 +-

>  linux-user/openrisc/signal.c          |  22 +-

>  linux-user/ppc/signal.c               |  40 +-

>  linux-user/riscv/signal.c             |  22 +-

>  linux-user/s390x/signal.c             |  24 +-

>  linux-user/sh4/signal.c               |  40 +-

>  linux-user/signal.c                   |   3 +

>  linux-user/sparc/signal.c             |  40 +-

>  linux-user/xtensa/signal.c            |  56 ++-

>  tests/tcg/hppa/Makefile.target        |   7 +

>  tests/tcg/i386/Makefile.target        |   3 -

>  tests/tcg/multiarch/Makefile.target   |   8 -

>  tests/tcg/sh4/Makefile.target         |   7 +

>  43 files changed, 613 insertions(+), 604 deletions(-)

> 


Applied to my linux-user-for-6.2 branch.

Thanks,
Laurent