Skip to content

0.16.9 --- the ok image exports __cxa_thread_atexit; openkal-musl 0.22.9 - #48

Merged
Sunrisepeak merged 1 commit into
mainfrom
openkal-llvm-runtime-0.16.9
Oct 29, 2026
Merged

Sunrisepeak merged 1 commit into
mainfrom
openkal-llvm-runtime-0.16.9

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

An ok image holding a thread_local with a destructor was refused by okld check: __cxa_thread_atexit was exported on Linux, Fuchsia, PE and Mach-O only, and an ok image's triple (<arch>-unknown-none-elf) is none of them (found building clangd as an ok image, Sunrisepeak/mcppls-clangd#11).

  • mcpp.toml: cfg(os = "openkal") states OPENKAL_TARGET_IMAGE, as cfg(windows) states OPENKAL_TARGET_WINDOWS.
  • cxa_thread_atexit.cpp: the guard includes the ok image, which registers directly (no weak probe; an image imports only kal_*).
  • examples/image-cxx: a thread_local with a destructor, run on the four hosts. Without the fix the image is not sealed (okld: imports '__cxa_thread_atexit'); with it the destructor runs.
  • openkal-musl 0.22.9 (0.22.9 --- pread, pwrite, preadv and pwritev openkal-musl#67): pread and pwrite.

Co-authored-by: speak-agent 248744407+speak-agent@users.noreply.github.com

Co-authored-by: speak-agent <248744407+speak-agent@users.noreply.github.com>
@Sunrisepeak
Sunrisepeak merged commit 84d4342 into main Oct 29, 2026
10 checks passed
@Sunrisepeak
Sunrisepeak deleted the openkal-llvm-runtime-0.16.9 branch October 29, 2026 20:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant