Skip to content

Build libc++abi with _LIBCXXABI_USE_FUTEX and emscripten futex API#26345

Merged
sbc100 merged 1 commit intoemscripten-core:mainfrom
sbc100:libcxx_futex
Feb 26, 2026
Merged

Build libc++abi with _LIBCXXABI_USE_FUTEX and emscripten futex API#26345
sbc100 merged 1 commit intoemscripten-core:mainfrom
sbc100:libcxx_futex

Conversation

@sbc100
Copy link
Collaborator

@sbc100 sbc100 commented Feb 26, 2026

This removes the dependency that libc++abi has on the pthread API functions, allowing
better support for Wasm Workers.

Replaces: #26283

Fixes: #26277

@sbc100 sbc100 requested review from dschuff, juj and kripken February 26, 2026 20:25
Copy link
Collaborator

@juj juj left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This does not yet resolve the missing pthread_mutex_* and pthread_condvar_* dependencies, right?

emscripten_futex_wait(addr, expect, INFINITY);
}
void PlatformFutexWake(int* addr) {
emscripten_futex_wake(addr, INT_MAX);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did we have any tsan support yet?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, we don't have any TSAN support.

@sbc100
Copy link
Collaborator Author

sbc100 commented Feb 26, 2026

This does not yet resolve the missing pthread_mutex_* and pthread_condvar_* dependencies, right?

Exactly, yes

@sbc100 sbc100 enabled auto-merge (squash) February 26, 2026 20:58
@sbc100 sbc100 merged commit dcf2f84 into emscripten-core:main Feb 26, 2026
36 checks passed
@sbc100 sbc100 deleted the libcxx_futex branch February 26, 2026 21:07
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.

__cxa_guard_acquire does not work WASM Workers (depends on pthread functions)

3 participants