Supercedes: 20210706234932.356913-1-richard.hender...@linaro.org ("[PATCH v2 00/36] linux-user: Signal trampolines and vdsos")
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 (27): 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: Properly emulate EXCP_TRAP linux-user/nios2: Map a real kuser page linux-user/nios2: Fixes for signal frame setup 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 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 + target/nios2/cpu.h | 5 +- linux-user/aarch64/signal.c | 34 +- linux-user/alpha/signal.c | 34 +- linux-user/arm/signal.c | 590 ++++++++++---------------- linux-user/cris/signal.c | 29 +- linux-user/elfload.c | 49 +++ 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/nios2/cpu_loop.c | 84 ++-- linux-user/nios2/signal.c | 51 +-- 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 ++- target/nios2/translate.c | 26 +- 43 files changed, 744 insertions(+), 659 deletions(-) -- 2.25.1