DynamoRIO / DynamoRIO/dynamorio

ARM unallocated encodings are not handled transparently

Open
#2,491 7 comments 0 reactions 0 assignees View on GitHub
OpSys-ARM
Dominant language
C
Stars
3.2k
Forks
629
Avg merge
2d 15h
Merged PRs (30d)
31

Description

Test program:
```
.arm
.global sigill
.type sigill, %function
sigill:
.inst 0xf2800f00
b .
```
```
#include
#include
#include
#include
#include

void sigill(void);

void handler(int signum, siginfo_t *info, void *ucontext_)
{
uint32_t inst = *(uint32_t *)info->si_addr;
printf("%d 0x%08x %d\n", signum, inst, info->si_code);
exit(0);
}

int main()
{
struct sigaction act;
memset(&act, 0, sizeof(act));
act.sa_sigaction = handler;
act.sa_flags = SA_SIGINFO;
sigaction(SIGILL, &act, 0);
sigill();
return 1;
}
```

Native output:
```
4 0xf2800f00 1
```

DynamoRIO with debug:
```

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.