[PATCH 0/9] sandbox: use native setjmp/longjmp/initjmp implementation by default
Ahmad Fatoum
a.fatoum at pengutronix.de
Mon Nov 25 07:35:14 PST 2024
In order to implement initjmp, we have two ways with available
functionality: The sigaltstack we are currently using and
makecontext/swapcontext. makecontext/swapcontext are unfortunately
deprecated in favor of POSIX threads and the sigaltstack runs afoul of
AddressSanitizer when compiled with clang.
This series fixes this by using the already existent assembly
implementations
Ahmad Fatoum (9):
sandbox: asm: support inclusion from sandbox os support code
test: self: setjmp: add simple initial testcase
sandbox: source/invoke um Makefiles provided by host architecture
sandbox: setjmp: mark C version as __weak
sandbox: use native setjmp/longjmp/initjmp implementation by default
sandbox: retire HAVE_ARCH_ASAN
bthread: move asan fiber API into header
test: self: setjmp: make compatible with ASAN
bthread: fix use of ASAN fiber stack switch API
Makefile | 2 +
arch/Kconfig | 3 ++
arch/arm/include/asm/setjmp.h | 2 +
arch/arm/um/Makefile | 12 +++++
arch/kvx/include/asm/setjmp.h | 2 +
arch/kvx/um/Makefile | 6 +++
arch/mips/include/asm/setjmp.h | 2 +
arch/mips/um/Makefile | 6 +++
arch/openrisc/include/asm/setjmp.h | 2 +
arch/openrisc/um/Makefile | 6 +++
arch/powerpc/include/asm/setjmp.h | 2 +
arch/powerpc/um/Makefile | 6 +++
arch/riscv/include/asm/setjmp.h | 2 +
arch/riscv/um/Makefile | 6 +++
arch/sandbox/Kconfig | 10 +++-
arch/sandbox/Makefile | 9 ++++
arch/sandbox/include/asm/setjmp.h | 44 +++++++++++++++-
arch/sandbox/os/setjmp.c | 6 +--
arch/x86/include/asm/setjmp.h | 2 +
arch/x86/um/Makefile | 12 +++++
common/Kconfig | 3 --
common/Kconfig.debug | 5 +-
common/bthread.c | 67 ++++++-----------------
include/asm-generic/setjmp.h | 27 ++++++++++
scripts/subarch.include | 11 ++++
test/self/setjmp.c | 85 ++++++++++++++++++++++--------
26 files changed, 260 insertions(+), 80 deletions(-)
create mode 100644 arch/arm/um/Makefile
create mode 100644 arch/kvx/um/Makefile
create mode 100644 arch/mips/um/Makefile
create mode 100644 arch/openrisc/um/Makefile
create mode 100644 arch/powerpc/um/Makefile
create mode 100644 arch/riscv/um/Makefile
create mode 100644 arch/x86/um/Makefile
create mode 100644 include/asm-generic/setjmp.h
create mode 100644 scripts/subarch.include
--
2.39.5
More information about the barebox
mailing list