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

Record the physical offset of each segment in modules.log #2939

Closed
snehasish opened this issue Apr 18, 2018 · 1 comment
Closed

Record the physical offset of each segment in modules.log #2939

snehasish opened this issue Apr 18, 2018 · 1 comment

Comments

@snehasish
Copy link
Contributor

In order to support internal symbolization tools we would like to record the physical offset of each mapped segment. drmodtrack combines multiple adjacent segments into a single contiguous blob so multiple physical offsets could be mapped to the entry in the modules.log file. Since the modules.log format may already contain multiple entries for non contiguous mapped regions, clients should already handle the case of multiple entries for a single module.

@derekbruening
Copy link
Contributor

The #2940 PR for this failed to use this issue number and was committed as 8c90e2d so manually linking and closing here.

derekbruening added a commit that referenced this issue Apr 25, 2018
…nt offsets (#2940)"

This reverts commit 8c90e2d as it pushes
the module count for drcachesim offline traces beyond the limit in the
module index bitfield (#2956).

Issue: #2006, #2939, #2956.
derekbruening added a commit that referenced this issue Apr 25, 2018
…nt offsets (#2940)" (#2963)

This reverts commit 8c90e2d
as it pushes the module count for drcachesim offline traces beyond
the limit in the module index bitfield (#2956) for some apps.

Issue: #2006, #2939, #2956.
derekbruening pushed a commit that referenced this issue Apr 29, 2018
This reverts commit 48db566 which
reverted the changes in PR #2940. The changes pushed caused some apps to
overflow the modidx field (issue #2956). PR #2969 increased the width of
the modidx field. We can now safely revert the revert.

Issue: #2006, #2939, #2956
derekbruening added a commit that referenced this issue Mar 10, 2021
PR #2940 and #2973 added an offset field to drmodtrack for #2939, but
they ifdef-ed the field in some places but not others, resulting in
uninitialized output.  Since it's already locked into the interface,
we always set it to 0 here and include it in internal structures to
fix the problem.

Tested on drmodtrack-test where the fields were manually confirmed to
no longer contain bogus values, and where the test doesn't fail when
that masked this bug before.

Issue: #2939, #4474, #4777
Fixes #4777
derekbruening added a commit that referenced this issue Mar 10, 2021
PR #2940 and #2973 added an offset field to drmodtrack for #2939, but
they ifdef-ed the field in some places but not others, resulting in
uninitialized output.  Since it's already locked into the interface,
we always set it to 0 here and include it in internal structures to
fix the problem.

Tested on drmodtrack-test where the fields were manually confirmed to
no longer contain bogus values, and where the test doesn't fail when
that masked this bug before.

Issue: #2939, #4474, #4777
Fixes #4777
derekbruening added a commit that referenced this issue Mar 10, 2021
PR #2940 and #2973 added an offset field to drmodtrack for #2939, but
they ifdef-ed the field in some places but not others, resulting in
uninitialized output.  Since it's already locked into the interface,
we always set it to 0 here and include it in internal structures to
fix the problem.

Tested on drmodtrack-test where the fields were manually confirmed to
no longer contain bogus values, and where the test doesn't fail when
i#4474 adds a new field that shifts the test buffer to avoid the
happens-to-match scenario that masked this bug in that test before.

Issue: #2939, #4474, #4777
Fixes #4777
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

No branches or pull requests

2 participants