Conversation
There was a problem hiding this comment.
Pull request overview
This pull request introduces comprehensive TLS (Thread-Local Storage) symbol support and reworks the symbol backend to properly handle various ELF symbol types, bindings, and visibility. It builds upon PR #282 which introduced the ELF API. The PR description notes this is "currently AI-generated, needs a lot of rework and refactoring."
Changes:
- Added TLS symbol resolution with TLSResolver class and comprehensive test suite
- Enhanced Symbol dataclass with new fields for type, binding, visibility, TLS metadata, demangling, versioning, PLT/GOT detection
- Implemented ELF API for parsing sections, dynamic sections, program headers, GNU properties, and Linux runtime mitigations
- Added native C++ infrastructure for parsing ELF structures and improved symbol parsing with proper type/binding/visibility detection
Reviewed changes
Copilot reviewed 61 out of 100 changed files in this pull request and generated 20 comments.
Show a summary per file
| File | Description |
|---|---|
| libdebug/data/symbol.py | Extended Symbol with TLS, type, binding, visibility, versioning |
| libdebug/data/symbol_list.py | Added filtering by type/binding, TLS property accessors, demangled name search |
| libdebug/data/symbol_types.py | New enums for SymbolType, SymbolBinding, SymbolVisibility |
| libdebug/symbols/tls_resolver.py | New TLSResolver for resolving TLS addresses across threads |
| libdebug/data/elf/*.py | Complete ELF API with sections, dynamic sections, program headers, GNU properties, mitigations |
| libdebug/native/symbols/* | Enhanced native symbol parsing with type/binding/TLS detection |
| libdebug/native/elf/* | Native ELF parsing infrastructure for sections/segments/properties |
| libdebug/debugger/*.py | Integration of ELF API and libraries parsing into debugger |
| test/srcs/*.c | Comprehensive test binaries for TLS, symbols, sections, mitigations |
| test/scripts/*.py | Test suites for TLS resolution, symbol backend, ELF API |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 49 out of 55 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
1fbdefa to
70fde42
Compare
70fde42 to
d8e0ff7
Compare
Note: built on top of #282
Note: currently AI-generated, needs a lot of rework and refactoring