Skip to content
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

drmodtrack fails to handle non-contiguous ELF libraries #2213

Closed
derekbruening opened this issue Feb 22, 2017 · 0 comments
Closed

drmodtrack fails to handle non-contiguous ELF libraries #2213

derekbruening opened this issue Feb 22, 2017 · 0 comments

Comments

@derekbruening
Copy link
Contributor

The drmodtrack extension, evolved from drcov's library tracker, completely ignores gaps and the possibility of non-contiguous ELF mappings. Now that drmodtrack is used for drcachesim this is being used in more places and the gap issue is now a blocker. For drcachesim, one app has its ld.so with a big gap containing other libs inside it, and drmodtrack ends up thinking that every lib in between is actually in ld.so. This leads to crashes in drraw2trace post-processing.

@derekbruening derekbruening self-assigned this Feb 22, 2017
derekbruening added a commit that referenced this issue Feb 23, 2017
Adds handling of gaps inside ELF libraries to drmodtrack.
Additional entries are added both to the online vector and the written
file.  The containing_index field added previously is used to point to the
main entry from sub-entries.

It's not easy to write a test without making a linker script, but on many
recent Linux distros there are gaps in some or even all system libraries,
including some of my machines, so we'll get at least some future regression
coverage.

Fixes #2213
derekbruening added a commit that referenced this issue Feb 23, 2017
Adds handling of gaps inside ELF libraries to drmodtrack.
Additional entries are added both to the online vector and the written
file.  The containing_index field added previously is used to point to the
main entry from sub-entries.

It's not easy to write a test without making a linker script, but on many
recent Linux distros there are gaps in some or even all system libraries,
including some of my machines, so we'll get at least some future regression
coverage.

Fixes #2213
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant