blob: 183a1a6904a3a6dfb7ffde77a83c846c5c74058b (
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
risc-v: 0.972
mistranslation: 0.946
debug: 0.827
architecture: 0.722
graphic: 0.701
device: 0.607
semantic: 0.534
register: 0.534
network: 0.509
performance: 0.461
permissions: 0.448
socket: 0.447
i386: 0.413
files: 0.400
arm: 0.391
ppc: 0.373
vnc: 0.372
x86: 0.364
user-level: 0.359
virtual: 0.357
KVM: 0.303
kernel: 0.293
assembly: 0.289
PID: 0.286
hypervisor: 0.280
boot: 0.276
VMM: 0.276
peripherals: 0.272
TCG: 0.212
--------------------
debug: 0.985
architecture: 0.879
user-level: 0.807
hypervisor: 0.063
risc-v: 0.058
virtual: 0.030
files: 0.027
TCG: 0.024
semantic: 0.023
register: 0.021
x86: 0.017
arm: 0.004
PID: 0.004
boot: 0.004
device: 0.004
network: 0.003
kernel: 0.002
performance: 0.002
socket: 0.002
i386: 0.002
ppc: 0.002
assembly: 0.001
vnc: 0.001
peripherals: 0.001
VMM: 0.001
graphic: 0.001
mistranslation: 0.001
permissions: 0.001
KVM: 0.000
Lack of architecture in gdbstub makes debugging confusing
I spent some quality time debugging GEF and came to a conclusion here:
https://github.com/hugsy/gef/issues/598#issuecomment-819174169
tldr;
* gdb_arch_name was undefined on riscv
* this bug was fixed recently via https://github.com/qemu/qemu/commit/edf647864bdab84ed4b1a4f47ea05be6bb075c69
* An undefined gdb_arch_name results in qemu's gdbstub omitting the <architecture> xml.
* gdb translates a missing <architecture> as "auto" which breaks a lot of stuff.
* tracking down where "auto" comes from is a bit confusing and time consuming.
It might be better to report a missing / blank gdb_arch_name as "<architecture>unknown</architecture>" instead of omitting the block completely.
Thanks for raising this. I have marked it as fixes as like you say it's fixed in mainline.
Is there still anything left to do here?
[Expired for QEMU because there has been no activity for 60 days.]
|