-
Notifications
You must be signed in to change notification settings - Fork 15.2k
Closed
Labels
Description
Same issue as in #123903
When debugging with qemu-riscv64, some registers lack their standard aliases.
How to reproduce
(lldb) target create -p qemu-user ./result/bin/hello
(lldb) settings set platform.plugin.qemu-user.architecture riscv64
(lldb) b main
(lldb) run
(lldb) register read x0
(lldb) register read x0
zero = 0x0000000000000000
(lldb) register read x1
ra = 0x0000ffffa6ca08c0
(lldb) register read x2
sp = 0x0000ffffa760b7f0
(lldb) register read x3
gp = 0x000000000001a800
(lldb) register read x3
gp = 0x000000000001a800
(lldb) register read x4
error: Invalid register name 'x4'.
(lldb) register read x5
error: Invalid register name 'x5'.
(lldb) register read x6
error: Invalid register name 'x6'.
(lldb) register read x7
error: Invalid register name 'x7'.
....
python3 < 49> send packet: $qXfer:features:read:riscv-64bit-cpu.xml:0,fff#68
python3 < 1> read packet: +
python3 <1829> read packet: $l<?xml version="1.0"?>
<!-- Copyright (C) 2018-2019 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. -->
<!DOCTYPE feature SYSTEM "gdb-target.dtd">
<feature name="org.gnu.gdb.riscv.cpu">
<reg name="zero" bitsize="64" type="int"/>
<reg name="ra" bitsize="64" type="code_ptr"/>
<reg name="sp" bitsize="64" type="data_ptr"/>
<reg name="gp" bitsize="64" type="data_ptr"/>
<reg name="tp" bitsize="64" type="data_ptr"/>
<reg name="t0" bitsize="64" type="int"/>
<reg name="t1" bitsize="64" type="int"/>
<reg name="t2" bitsize="64" type="int"/>
<reg name="fp" bitsize="64" type="data_ptr"/>
<reg name="s1" bitsize="64" type="int"/>
<reg name="a0" bitsize="64" type="int"/>
<reg name="a1" bitsize="64" type="int"/>
<reg name="a2" bitsize="64" type="int"/>
<reg name="a3" bitsize="64" type="int"/>
<reg name="a4" bitsize="64" type="int"/>
<reg name="a5" bitsize="64" type="int"/>
<reg name="a6" bitsize="64" type="int"/>
<reg name="a7" bitsize="64" type="int"/>
<reg name="s2" bitsize="64" type="int"/>
<reg name="s3" bitsize="64" type="int"/>
<reg name="s4" bitsize="64" type="int"/>
<reg name="s5" bitsize="64" type="int"/>
<reg name="s6" bitsize="64" type="int"/>
<reg name="s7" bitsize="64" type="int"/>
<reg name="s8" bitsize="64" type="int"/>
<reg name="s9" bitsize="64" type="int"/>
<reg name="s10" bitsize="64" type="int"/>
<reg name="s11" bitsize="64" type="int"/>
<reg name="t3" bitsize="64" type="int"/>
<reg name="t4" bitsize="64" type="int"/>
<reg name="t5" bitsize="64" type="int"/>
<reg name="t6" bitsize="64" type="int"/>
<reg name="pc" bitsize="64" type="code_ptr"/>
</feature>