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

i#4318 xarch memtrace: Add library search dir #4330

Merged
merged 4 commits into from
Jun 23, 2020
Merged

Conversation

derekbruening
Copy link
Contributor

Adds a new option -alt_module_dir which specifies an alternate
directory in which to look for libraries in a modules.log offline
drcachesim file. Hooks the option up to the opcode_mix and view tools
and to raw2trace (both its standalone launcher and drcachesim frontend
integration).

This will be useful in general, but is needed for adding tests with
checked-in raw files and binaries, where the checked-in modules.log
has a hardcoded path that will never match all test environments.

Adds a test that runs both raw2trace and opcode_mix on a new
checked-in aarch64 raw trace (this test will evolve for future
cross-arch testing, which is the reason for using aarch64). The
binaries are stripped, with the two libraries "fake" binaries:
libmemtrace.so is not executed, and libdynamorio.so is only used for
dynamorio_sigreturn, so these are synthetic binaries (created from asm
files) to keep them smaller. The tests deliberately fail on x86 and
match an error message that will improve when architecture tags are
added.

Issue: #4318

Adds a new option -alt_module_dir which specifies an alternate
directory in which to look for libraries in a modules.log offline
drcachesim file.  Hooks the option up to the opcode_mix and view tools
and to raw2trace (both its standalone launcher and drcachesim frontend
integration).

This will be useful in general, but is needed for adding tests with
checked-in raw files and binaries, where the checked-in modules.log
has a hardcoded path that will never match all test environments.

Adds a test that runs both raw2trace and opcode_mix on a new
checked-in aarch64 raw trace (this test will evolve for future
cross-arch testing, which is the reason for using aarch64).  The
binaries are stripped, with the two libraries "fake" binaries:
libmemtrace.so is not executed, and libdynamorio.so is only used for
dynamorio_sigreturn, so these are synthetic binaries (created from asm
files) to keep them smaller.  The tests deliberately fail on x86 and
match an error message that will improve when architecture tags are
added.

Issue: #4318
@derekbruening
Copy link
Contributor Author

The modules.log is the wrong format for Windows (need extra columns for checksum, etc. there). I'm just going to make the test UNIX-only.

Copy link
Contributor

@snehasish snehasish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

clients/drcachesim/common/options.cpp Outdated Show resolved Hide resolved
clients/drcachesim/tracer/raw2trace.h Outdated Show resolved Hide resolved
@derekbruening derekbruening merged commit 58a911a into master Jun 23, 2020
@derekbruening derekbruening deleted the i4318-alt-mod-dir branch June 23, 2020 21:49
derekbruening added a commit that referenced this pull request Sep 16, 2020
Adds a README about how to re-generate the testdata added in PR #4330
commit 58a911a.

Issue: #4318
derekbruening added a commit that referenced this pull request Sep 16, 2020
Adds a README about how to re-generate the testdata added in PR #4330
commit 58a911a.

Issue: #4318
derekbruening added a commit that referenced this pull request Sep 29, 2020
Adds a README about how to re-generate the testdata added in PR #4330
commit 58a911a.

Issue: #4318
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.

None yet

2 participants