DynamoRIO / DynamoRIO/dynamorio
[CRASH] Internal Error: Failed to encode instruction: 'str %d0 -> +0x1c(%x0)[8byte]'
- 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
Assessment
This issue has not been assessed yet.