llvm / llvm/llvm-project

[libc] Move `__cxa_thread_atexit_impl` into proper entrypoint

Open
#224,664 1 comment 0 reactions 0 assignees View on GitHub
libc
Dominant language
LLVM
Stars
40.5k
Forks
18.7k
PR merge metrics
PR metrics pending

Description

As discovered in https://github.com/llvm/llvm-project/pull/224436, the function `__cxa_thread_atexit_impl` is currently defined in https://github.com/llvm/llvm-project/blob/8fe013c728a2d29722925e9bebbd454a5e3ad365/libc/src/__support/threads/thread.cpp#L146. This causes issues with this libcxxabi test: https://github.com/michaelrj-google/llvm-project/blob/4dff0fc5c826f2c6b5cb7c35aecbcc670ed07fac/libcxxabi/test/cxa_thread_atexit_test.pass.cpp#L21

Goals: Move `__cxa_thread_atexit_impl` into its own entrypoint, add tests as relevant.

Contributor guide

Open the contributing guide

Research direction

Start by reading libc/src/__support/threads/thread.cpp around the current __cxa_thread_atexit_impl definition, then inspect libcxxabi/test/cxa_thread_atexit_test.pass.cpp and the linked change for the entrypoint requirements. Done means the function is provided from its own entrypoint and relevant tests are added or updated.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
operating-systems
Issue type
Refactor
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.