DynamoRIO / DynamoRIO/dynamorio

[CRASH] Internal Error: Failed to encode instruction: 'str %d0 -> +0x1c(%x0)[8byte]'

Open
#4,409 1 comment 0 reactions 1 assignee Claimed by @AssadHashmi View on GitHub
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

**Describe the bug**
[linux aarch64] +0x1c(%x0)[8byte]'

**To Reproduce**
Steps to reproduce the behavior:
1. Pointer to a minimized application (ideally the source code for it and instructions on which toolchain it was built with).
``` C
float a = 3.2;
printf("%f",a);
```
insert instruction to save d0 value
``` C
if(opnd_is_reg(opnd)) {
reg_id_t regid = opnd_get_reg(opnd);
opnd_t dst_addr = opnd_create_base_disp(base, DR_REG_NULL, 0, offsetof(ins_ref_t, dst[i]), reg_get_size(regid));
instr_t* instr = instr_create_1dst_1src(drcontext, OP_str, dst_addr, opnd);
instrlist_meta_preinsert(ilist, where, in);
}
```

2. Precise command line for running the application.
../../bin64/drrun -c bin/libinstrace_simple.so -- ./float_test
3. Exact output or incorrect behavior.

Data file /home/xxx/DynamoRIO-AArch64-Linux-8.0.0-1/samples/build/bin/instrace.float_test.06376.0000.log created

+0x1c(%x0)[8byte]'
>
+0x1c(%x0)[8byte]'
>

https://github.com/DynamoRIO/dynamorio/wiki/Latest-Build solve the problem? no
- What operating system version are you running on? ("Windows 10" is *not* sufficient: give the release number.) linux
- Is your application 32-bit or 64-bit? 64 bit

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.