[libc] Move `__cxa_thread_atexit_impl` into proper entrypoint
- 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
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