blob: ff03ba6a32e4cb60a80516e7f8ef57f9b6244162 (
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
|
graphic: 0.863
debug: 0.840
semantic: 0.820
files: 0.798
device: 0.758
other: 0.683
vnc: 0.678
network: 0.668
permissions: 0.643
socket: 0.595
PID: 0.570
performance: 0.566
boot: 0.527
KVM: 0.302
TCG AARCH64 Segmentation fault when helper function is called
Description of problem:
Segmentation fault in the TCG thread.
The issue occurs in the generated code when branching to (helper)lookup_tb_ptr (see op longs).
It seems that the generated instruction don't load the upper32 of the address of lookup_tb_ptr in the register before branching to it. According to LLDB, the program tries to access 0x1cffe060 while the right address 0x7ff71cffe060 (see debugger logs).
Additional information:
The issue seems to be located at https://gitlab.com/qemu-project/qemu/-/blob/master/tcg/aarch64/tcg-target.c.inc#L1091
`t2 = t1 & ~(0xffffUL << s1);`.
The fix would be `t2 = t1 & ~(0xffffULL << s1);`
[lldb.log](/uploads/6a1d57eaecae4a375c6ada7384489876/lldb.log)
[qemu_segmentation.log](/uploads/e3c2d6d42291ff7d1ff8d37341e3da1d/qemu_segmentation.log)
|