Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Issues
  • #4381
Closed
Open
Issue created Jul 27, 2020 by Derek Bruening@derekbrueningContributor

aarch64 drmemtrace view tool prints only opcodes and no operands

Somehow the view tool's disassembly is missing operands for aarch64:

$ bin64/drrun -t drcachesim -indir drmemtrace_samples/threadsig.aarch64/drmemtrace.threadsig.11451.1365.dir -simulator_type view -sim_refs 10 -module_file drmemtrace_samples/threadsig.aarch64/drmemtrace.threadsig.11451.1365.dir/raw/modules.log -alt_module_dir drmemtrace_samples/threadsig.aarch64/binaries
<marker: timestamp 13236734289995944>
<marker: tid 11451 on core 90>
  0x0000000000400940  d280001d   movz
  0x0000000000400944  d280001e   movz
  0x0000000000400948  aa0003e5   orr
  0x000000000040094c  f94003e1   ldr
  0x0000000000400950  910023e2   add
  0x0000000000400954  910003e6   add
  0x0000000000400958  580000c0   ldr
  0x000000000040095c  580000e3   ldr
  0x0000000000400960  58000104   ldr
  0x0000000000400964  94023cff   bl

The DR decoder clearly has the operands:

$ clients/bin64/drdisas d280001d
 d280001d   movz   $0x0000 lsl $0x00 -> %x29

From an x86 build on the x86 trace, the view tool operates as expected with operands:

$ bin64/drrun -t drcachesim -indir drmemtrace_samples/threadsig.x86_64/drmemtrace.threadsig.42739.7183.dir/ -simulator_type view -sim_refs 10 -module_file drmemtrace_samples/threadsig.x86_64/drmemtrace.threadsig.42739.7183.dir/raw/modules.log -alt_module_dir drmemtrace_samples/threadsig.x86_64/binaries
<marker: timestamp 13236739721582852>
<marker: tid 42739 on core 2>
  0x0000000000402460  31 ed                xor    %ebp, %ebp
  0x0000000000402462  49 89 d1             mov    %rdx, %r9
  0x0000000000402465  5e                   pop    %rsi
  0x0000000000402466  48 89 e2             mov    %rsp, %rdx
  0x0000000000402469  48 83 e4 f0          and    $0xf0, %rsp
  0x000000000040246d  50                   push   %rax
  0x000000000040246e  54                   push   %rsp
  0x000000000040246f  49 c7 c0 00 17 42 00 mov    $0x00421700, %r8
  0x0000000000402476  48 c7 c1 70 16 42 00 mov    $0x00421670, %rcx
  0x000000000040247d  48 c7 c7 e0 26 40 00 mov    $0x004026e0, %rdi
Assignee
Assign to
Time tracking