DynamoRIO / DynamoRIO/dynamorio
Aarchxx: ASSERT not implemented. arm-32 bit normalize_ldm_instr
- Dominant language
- C
- Stars
- 3.2k
- Forks
- 629
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 31
Description
Hey together,
in the discussion [instrumentalize external module](https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/dynamorio-users/a8T5bmoTlP8/nddpyu41AgAJ) we found out that a part in the `normalize_ldm_instr()` in `dynamorio/core/arch/archxx/mangle.c` is not implemented.
When I run dynamorio with my binary, a GEMM I created with the code generation tool TVM, it crashes when the program (gemm-run-on-pi-wo-pack) tries to load the external libraries (gemm6.so) and (libtvm_runtime.so). For the case someone want to reproduce the exact same situation, I have attached the binaries.
The debug command
` drrun -debug -- ./gemm-run-on-pi-wo-pack`
gives a hint what happens:
```
<(1+x) Handling our fault in a TRY at 0x76d928fc>
[
```
Looking at this position in the code we see the comment that something is not yet implemented.
The target platform is a Raspberry Pi 3B+ Compute Module (BCM2837 ARMv8). Its an ARM 32-bit device running a `Raspbian GNU/Linux 9 (stretch)` as operating system with Linux kernel 4.9.76.
I work with the dynamorio commit 5fa9faec4af5b95413f625884f08c60bebc5b8d8 which is the current head on June 30th.
Does anyone know about this not implemented part? How much effort do you think it is to add the missing code?
Many thanks to @johnfxgalea and @derekbruening to get so far.
[gemm-bin-dynamorio-issue.zip](https://github.com/DynamoRIO/dynamorio/files/4864209/gemm-bin-dynamorio-issue.zip)
Contributor guide
Assessment
This issue has not been assessed yet.