-
Notifications
You must be signed in to change notification settings - Fork 248
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Why do we mmap data that is already mmapped? #668
Comments
I had the same question when I was working on Android support (sorry if this is an unwanted comment). AFAICT, it's because the sections containing the symbol tables and DWARF debug info aren't (normally) mapped, so it's needed for symbolication to work properly. But I'm not totally sure. |
The debugging information is in parts of the file that aren't mapped into memory. (e.g for ELF, it isn't in a PT_LOAD segment). |
Huh, okay! |
Thank you for the answer! We should probably write it down somewhere if it regularly puzzles both contributors and maintainers, then we can close this issue... |
The basic strategy for backtrace symbolication on Linux:
dl_iterate_phdr
and opening/proc/self/maps
to learn about what memory objects are loaded...why do we map things into memory that we almost certainly know are already in-memory objects?
The text was updated successfully, but these errors were encountered: