mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH 0/9] sandbox: use native setjmp/longjmp/initjmp implementation by default
@ 2024-11-25 15:35 Ahmad Fatoum
  2024-11-25 15:35 ` [PATCH 1/9] sandbox: asm: support inclusion from sandbox os support code Ahmad Fatoum
                   ` (9 more replies)
  0 siblings, 10 replies; 13+ messages in thread
From: Ahmad Fatoum @ 2024-11-25 15:35 UTC (permalink / raw)
  To: barebox

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




^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2024-12-10  8:27 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-11-25 15:35 [PATCH 0/9] sandbox: use native setjmp/longjmp/initjmp implementation by default Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 1/9] sandbox: asm: support inclusion from sandbox os support code Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 2/9] test: self: setjmp: add simple initial testcase Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 3/9] sandbox: source/invoke um Makefiles provided by host architecture Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 4/9] sandbox: setjmp: mark C version as __weak Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 5/9] sandbox: use native setjmp/longjmp/initjmp implementation by default Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 6/9] sandbox: retire HAVE_ARCH_ASAN Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 7/9] bthread: move asan fiber API into header Ahmad Fatoum
2024-12-10  8:25   ` Sascha Hauer
2024-12-10  8:26     ` Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 8/9] test: self: setjmp: make compatible with ASAN Ahmad Fatoum
2024-11-25 15:35 ` [PATCH 9/9] bthread: fix use of ASAN fiber stack switch API Ahmad Fatoum
2024-11-28  8:21 ` [PATCH 0/9] sandbox: use native setjmp/longjmp/initjmp implementation by default Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox