Re: warning: Target-supplied registers are not supported by the current architecture
William Tambe via Gdb <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAF8i9mPU3OWHMkAvT44nVeeNKNQ_KLnNLsBh-zPYUu26S-QoOg@mail.gmail.com> |
On Mon, Oct 9, 2023 at 1:45 AM Aktemur, Tankut Baris <[email protected]> wrote: > > On Monday, October 9, 2023 1:14 AM, William Tambe wrote: > > I am working on gdbserver support. > > > > I am able to remotely execute the executable and set breakpoints, > > however right after issuing the `target remote` command, I am getting > > following warning: > > > > (gdb) target remote 192.168.1.164:2000 > > Remote debugging using 192.168.1.164:2000 > > warning: Target-supplied registers are not supported by the current architecture > > > > Error message is coming from gdb/target-descriptions.c at line 576, > > due to data->arch_regs.empty () return true. > > > > Any idea what I might have missed causing data->arch_regs.empty () to > > return true ? > > When gdbserver is started with the --remote-debug flag, it prints the > received and sent RSP packages. There, the target description XML would > be seen. I'd suggest starting with inspecting if the contents of that XML > look right. Below snippet of the prints when using --remote-debug shows the target description XML. I see a star in front of <reg name ... /> blocks; any idea whether that could be the issue ? In the source code, I am not using an actual XML file, instead, I am manually building the target description XML through calls to tdesc_create_reg: https://github.com/fontamsoc/binutils-gdb/blob/main/gdbserver/linux-pu32-low.cc#L63 [remote] getpkt: getpkt ("qXfer:features:read:target.xml:0,1000"); [no ack sent] [remote] putpkt_binary_1: putpkt ("$l<?xml version="1.0"?> <!DOCTYPE target SYSTEM "gdb-target.dtd"> <target> <architecture>pu32</architecture> <osabi>GNU/Linux</osabi> <feature name="org.gnu.gdb.pu32.core"> * <reg name="r0" bitsize="32" type="uint32" regnum="0"/> * <reg name="r1" bitsize="32" type="uint32" regnum="1"/> * <reg name="r2" bitsize="32" type="uint32" regnum="2"/> * <reg name="r3" bitsize="32" type="uint32" regnum="3"/> * <reg name="r4" bitsize="32" type="uint32" regnum="4"/> * <reg name="r5" bitsize="32" type="uint32" regnum="5"/> * <reg name="r6" bitsize="32" type="uint32" regnum="6"/> * <reg name="r7" bitsize="32" type="uint32" regnum="7"/> * <reg name="r8" bitsize="32" type="uint32" regnum="8"/> * <reg name="r9" bitsize="32" type="uint32" regnum="9"/> * <reg name="r10" bitsize="32" type="uint32" regnum="10"/> * <reg name="r11" bitsize="32" type="uint32" regnum="11"/> * <reg name="r12" bitsize="32" type="uint32" regnum="12"/> * <reg name="r13" bitsize="32" type="uint32" regnum="13"/> * <reg name="r14" bitsize="32" type="uint32" regnum="14"/> * <reg name="r15" bitsize="32" type="uint32" regnum="15"/> * <reg name="pc" bitsize="32" type="uint32" regnum="16"/> </feature> </target> #ae"); [noack mode] [remote] getpkt: getpkt ("qXfer:auxv:read::0,1000"); [no ack sent] Any ideas on what I am doing wrong ? > > Regards > -Baris > Intel Deutschland GmbH > Registered Address: Am Campeon 10, 85579 Neubiberg, Germany > Tel: +49 89 99 8853-0, www.intel.de <http://www.intel.de> > Managing Directors: Christin Eisenschmid, Sharon Heck, Tiffany Doon Silva > Chairperson of the Supervisory Board: Nicole Lau > Registered Office: Munich > Commercial Register: Amtsgericht Muenchen HRB 186928