| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
i#5505 raw2trace: Upgrading raw2trace for processing kernel PT data (#6110) This update enhances raw2trace to decode kernel Processor Trace (PT) files and append the kernel trace to the output trace. - (1) Adds a new file type flag to indicate whether the output directory contains PT data. - (2) Upgrades raw2trace_directory to support managing kernel PT files. - (3) Enables PT raw data conversion into trace_entry_t instances using drpt2ir and drir2trace in raw2trace. - (4) Upgrades the basic_counts tool to support printing the number of userspace and kernel instructions. - (5) Refactors pt2ir_t to use a new static member variable to store images shared between all pt2ir_t instances. - (6) Fixes the memory leak issue on drpttracer. Issue: #5505 | 2 年前 | |
i#5505 kernel trace: Return trace as instrlist_t in drpt2ir (#5555) Updates library drpt2ir to support converting libipt's IR format to DynamoRIO's IR format(instr_t). And updates the command line client drpt2trace to invoke the new conversion function of drpt2ir and add disassembly printing in the status output function. Also, updates the test case to verify the new features added in drpt2ir and drpt2trace. Issue: #5505 | 3 年前 | |
i#5505 raw2trace: Upgrading raw2trace for processing kernel PT data (#6110) This update enhances raw2trace to decode kernel Processor Trace (PT) files and append the kernel trace to the output trace. - (1) Adds a new file type flag to indicate whether the output directory contains PT data. - (2) Upgrades raw2trace_directory to support managing kernel PT files. - (3) Enables PT raw data conversion into trace_entry_t instances using drpt2ir and drir2trace in raw2trace. - (4) Upgrades the basic_counts tool to support printing the number of userspace and kernel instructions. - (5) Refactors pt2ir_t to use a new static member variable to store images shared between all pt2ir_t instances. - (6) Fixes the memory leak issue on drpttracer. Issue: #5505 | 2 年前 | |
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #4343 | 2 年前 | |
| 2 年前 | ||
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #4343 | 2 年前 | |
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #4343 | 2 年前 | |
i#6213,i#5490: Add drmemtrace branch targets up front (#6219) The drmemtrace record type TRACE_TYPE_INSTR_CONDITIONAL_JUMP is now deprecated in offline traces where it is replaced by TRACE_TYPE_INSTR_TAKEN_JUMP and TRACE_TYPE_INSTR_UNTAKEN_JUMP. The version number is bumped to accomplish this. Indirect branches in drmemtrace traces now contain a marker holding the actual target (TRACE_MARKER_TYPE_BRANCH_TARGET), which immediately precedes the branch record. These changes are implemented inside raw2trace and in PT ir2trace. raw2trace tests are updated and new tests added. Special cases with new logic and tests include: + Rseq side exits must specially set whether taken or untaken + Rseq abort rollbacks to a branch are tested as this is the case where it was not easy to identify whether a branch was taken in the past (it required particular inferences). + Branches prior to signals. + Trace-final and window-final branches: we just delete these. Adds view support: 2212815 1648444: 1249326 ifetch 6 byte(s) @ 0x00007f3406720707 48 3d 01 f0 ff ff cmp %rax, $0xfffff001 2212816 1648445: 1249326 ifetch 2 byte(s) @ 0x00007f340672070d 73 01 jnb $0x00007f3406720710 (untaken) 2212817 1648445: 1249326 <marker: indirect branch target 0x7f34066a8b37> 2212818 1648446: 1249326 ifetch 1 byte(s) @ 0x00007f340672070f c3 ret 2212819 1648446: 1249326 read 8 byte(s) @ 0x00007ffd91e24fa8 by PC 0x00007f340672070f 2212820 1648447: 1249326 ifetch 5 byte(s) @ 0x00007f34066a8b37 4c 8b 54 24 48 mov 0x48(%rsp), %r10 Adds several new invariant checks and augments the existing PC continuity checks. This required a little refactoring to check branches before signals which is part of #5912. Unit tests for each case are added. Adds a couple of comments on issues that #5912 should address. Updates the documentation to remove the documented guarantee that branches are delayed. Updates the changelist. Issue: #5490, #6213, #5912 Fixes #6213 Fixes #5490 | 2 年前 | |
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #4343 | 2 年前 | |
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #4343 | 2 年前 | |
i#4343: Add dynamorio::drmemtrace namespace to all drcachesim/ code (#6169) Adds the dynamorio::drmemtrace namespace to all drcachesim/ code. It was already present on newer code. This breaks compatibility and external code using these files will need to be updated and recompiled. Shifts suite/tests/rseq.c to be C++ code so it can continue to test drmemtrace_client_main() which is now inside the namespace. Fixes #4343 | 2 年前 | |
i#5505 kernel trace: Add drir2trace to convert DR's IR to trace entries (#6044) Adds a new library drir2trace and updates drpt2trace (1) Adds a new library drir2trace to convert DR's IR to trace entries. This library converts DynamoRIO's Intermediate Representation (DR's IR) into trace entries. Currently, the library focuses on converting DR's IR format into trace_entry_t instances specific to instruction types. (2)Updates drpt2trace to support converting Intel PT raw data to trace entries. drpt2trace is updated to facilitate the conversion of Intel PT raw data into trace entries. It accomplishes this by initially transforming the Intel PT raw data into DR's IR, which is subsequently converted into trace entries using the newly introduced drir2trace library. Issue: #5505 | 3 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 年前 | ||
| 3 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 2 年前 | ||
| 3 年前 |