Build system overhaul - #246
MrIndeciso wants to merge 45 commits into
Conversation
…rsions Vibe Cmaking is my specialty
How can you change the signature of a public method in your library used by literally everyone?
We don't provide any symbols, but at least we can build
22d7dee to
5bacd11
Compare
Revision 19 of 447
5bacd11 to
cbbb86a
Compare
There was a problem hiding this comment.
Pull Request Overview
This PR overhauls the build system for libdebug, implements changes to native ptrace bindings, introduces new symbol parsing modules with nanobind, and adds multiple scripts and workflows for building and testing wheels on various operating systems. Key changes include replacing tgkill with thread_kill in the ptrace binding code, restructuring the symbol parser module and its CMake configuration, and adding new CI workflows and platform‐specific wheel preparation scripts.
Reviewed Changes
Copilot reviewed 24 out of 24 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| libdebug/ptrace/native/libdebug_ptrace_binding.cpp | Replaces direct use of tgkill with thread_kill and adds a new include for utils.h to support it. |
| libdebug/native/symbols/debug_sym_parser_shared.cpp | Modifies the add_symbol_info function to push both the demangled and original symbol entries. |
| CMakeLists.txt | Updates the project configuration to include new options for enabling/disabling libdwarf, libelf, and libiberty features and refactors targets and dependencies for the symbol parsing modules. |
| Various cmake and workflow scripts | Introduces new wheel distribution scripts for CentOS, Alpine, AlmaLinux and updates CI workflows for broader distro compatibility. |
Comments suppressed due to low confidence (3)
libdebug/native/symbols/debug_sym_parser_shared.cpp:31
- Consider expanding the comment to clarify the rationale for pushing both the demangled and the original symbol entries, so future maintainers understand that this duplication is intentional.
// We push both the demangled name and the original name
libdebug/ptrace/native/libdebug_ptrace_binding.cpp:207
- Ensure that the new function 'thread_kill' fully replicates the intended behavior of the previous 'tgkill' calls, including proper signal handling and error checking.
thread_kill(process_id, it->first, SIGSTOP);
.github/workflows/wheels.yml:88
- [nitpick] Verify that the repeated exclusions for 'alpine:3.22' with various Python versions are intentional and consider consolidating them for clarity in the workflow configuration.
- distro: alpine:3.22
e6e116f to
1041c1f
Compare
I'm not even sure why we're testing for this distro at this point
a0d50eb to
b0d8044
Compare
Let's see how they perform now
b0d8044 to
7fe08d2
Compare
|
Closing because cherry-picked in #249 |
No description provided.