i#2062 trace non-mod: handle traced VDSO code #2706
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds offline trace handling of VDSO code by dumping the actual contents of
the VDSO pages into drmodtrack custom data and using it to decode
instructions during post-processing.
Updates drmodtrack to handle binary data in custom fields.
Refactors how 3rd-party custom module fields are handled for drcachesim as
they now must be multiplexed with the new VDSO data. The 3rd party must
now build a custom post-processor by linking with the raw2trace library.
Since the module list file is no longer completely human-readable and
contains hidden custom fields, a new interface
raw2trace_t::do_module_parsing() is added to support building 3rd-party
module file parsing code for use after a trace is gathered.
Adds drmemtrace_get_output_path() for dynamically locating offline trace
files.
Updates the burst_replace test to use the new methods.
Includes support for reading legacy trace module files that do not contain
VDSO data (in such a case we revert to the prior behavior of skipping the
ifetch entries). This is accomplished by using a version field in the
module data. If it's missing, and if either the user parser is happy or
the next field looks like a path, we assume everything's fine and we're
just missing the vdso data. This legacy support was tested manually.