Skip to content

Conversation

Lectem
Copy link
Collaborator

@Lectem Lectem commented Jul 31, 2025

This is part of the changes we had in #1009

This is an attempt at unifying the symbol caching mechanisms between windows and linux.
It will later be the base for also storing module debug information (pdb guid, gnu_debug_id, ...).

@Lectem Lectem force-pushed the refactor/unify-module-caches branch from 663ec72 to c54b9b8 Compare August 1, 2025 19:01
@Lectem
Copy link
Collaborator Author

Lectem commented Aug 1, 2025

Rebased due to merge conflicts.

@Lectem
Copy link
Collaborator Author

Lectem commented Sep 7, 2025

Is there anything holding this PR back?
I'm planning on working on the offline resolution again in the upcoming weeks

@wolfpld
Copy link
Owner

wolfpld commented Oct 8, 2025

Is there anything holding this PR back?

I don't have appropriate tools to review the diff (it's practically everything in one commit). Currently looking for some way to print the diff on the paper so I can write some notes.

Lectem added 11 commits October 11, 2025 13:52
… be used in server, and thus not pointing to current process memory
The name was a bit misleading as it could be mistaken to mean "The cache contains the address" and not as "has an image with this start address". ie: that it could be mistaken to do GetImageForAddress( startAddress ) != nullptr.
Image cache will remain potentially unsorted until first access or `Sort` is called explicitely.
…IMAGE_CACHE

Windows is already using a cache, and the only platforms that won't have one for now are those without dl_iterate_phdr.
- Introduce both s_imageCache and s_krnlCache on all platforms, even if unused (will be reused later to unify platforms handling)
- This means that what userland images that used to be unsorted are now sorted
@Lectem Lectem force-pushed the refactor/unify-module-caches branch from 9be221a to aa234d0 Compare October 11, 2025 16:33
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.

2 participants