blob: 536dcb848bd4fc40f5425fda5316e855d54256e8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
runtime: 0.446
instruction: 0.389
syscall: 0.165
qemu-aarch64 results in segmentation fault while running a test binary compiled for QNX
Description of problem:
We have cross compiled a simple hello world program for QNX SDP 7.1.0 on Ubuntu Focal x86_64. Running the binary using qemu-aarch64 results in segmentation fault error.
```
$ qemu-aarch64 -L /home/vsts/qnx710/target/qnx7/aarch64le ./hello-world
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
```
We also tried Ubuntu Jammy which has qemu-aarch64 v6.2.0 but got the same error.
Can you tell us how we can emulate the binary using QEMU emulator that is built for QNX on x86_64 platform? Any help would be much appreciated.
Steps to reproduce:
1. Download QNX SDP from QNX software center https://www.qnx.com/download/group.html?programid=29178.
2. Write a simple hello world program.
```
#include <stdio.h>
int main(void) {
return printf("Hello World!");
}
```
3. Source QNX SDP to set some environment variables.
`$ source ./qnx710/qnxsdp-env.sh`
4. Compile using the QNX compiler.
`$ qcc -Vgcc_ntoaarch64le -o hello-world hello-world.c`
5. Running the binary as it is results to:
```
$ ./hello-world
aarch64-binfmt-P: Could not open '/usr/lib/ldqnx-64.so.2': No such file or directory
```
5. Running using QEMU emulator results to segmentation fault.
```
$ qemu-aarch64 -L /home/vsts/qnx710/target/qnx7/aarch64le ./hello-world
qemu: uncaught target signal 11 (Segmentation fault) - core dumped
Segmentation fault (core dumped)
```
|