<div dir="ltr">Unfortunately, may be time to characterize this so we can ask on gdb's list what to do.<div><br></div><div>--joel</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jan 29, 2021 at 8:38 AM <<a href="mailto:Jan.Sommer@dlr.de">Jan.Sommer@dlr.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="DE">
<div class="gmail-m_3730712888632347858WordSection1">
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<p class="MsoNormal"><span><u></u> <u></u></span></p>
<div style="border-top:none;border-right:none;border-bottom:none;border-left:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style="border-right:none;border-bottom:none;border-left:none;border-top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class="MsoNormal"><b>From:</b> Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>> <br>
<b>Sent:</b> Friday, January 29, 2021 3:33 PM<br>
<b>To:</b> Sommer, Jan <<a href="mailto:Jan.Sommer@dlr.de" target="_blank">Jan.Sommer@dlr.de</a>><br>
<b>Cc:</b> Jiri Gaisler <<a href="mailto:jiri@gaisler.se" target="_blank">jiri@gaisler.se</a>>; <a href="mailto:rtems-users@rtems.org" target="_blank">rtems-users@rtems.org</a> <<a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a>><br>
<b>Subject:</b> Re: riscv: gdb cannot connect to rtems runnin in qemu<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Fri, Jan 29, 2021 at 8:29 AM <<a href="mailto:Jan.Sommer@dlr.de" target="_blank">Jan.Sommer@dlr.de</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal">Just tried again with the rv32imac BSP.<br>
With this gdb works.<u></u><u></u></p>
</blockquote>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US">I was poking at the gdb source and found the code in question in riscv-tdep.c:<br>
<br>
<br>
  /* In theory a binary compiled for RV32 could run on an RV64 target,<br>
     however, this has not been tested in GDB yet, so for now we require<br>
     that the requested xlen match the targets xlen.  </span>*/<br>
  if (abi_features.xlen != features.xlen)<br>
    error (_("bfd requires xlen %d, but target has xlen %d"),<br>
   abi_features.xlen, features.xlen);<br>
  /* We do support running binaries compiled for 32-bit float on targets<br>
     with 64-bit float, so we only complain if the binary requires more<br>
     than the target has available.  */<br>
  if (abi_features.flen > features.flen)<br>
    error (_("bfd requires flen %d, but target has flen %d"),<br>
   abi_features.flen, features.flen);<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I'm reading that as the qemu configuration doesn't support the floating point<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">width required for 64-bit riscv.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">In one of my test directories, I had different qemu's for 32-bit and 64-bit <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">riscv. Do you? Maybe that makes a difference.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)">Yes, I used the 32 bit version for riscv. I used the following qemu line:<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)">qemu-system-riscv32 -nographic -machine virt -m 2G -nographic -net none -serial mon:stdio -bios /tmp/riscv/ticker.exe -s -S<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)">I also have a <u></u>
<u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)">qemu-system-riscv64, but with this I have failed to get an RTEMS application running (neither the rv32* nor the rv64* based ones) so far.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)">Best regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="color:rgb(79,129,189)">    Jan<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal">--joel<u></u><u></u></p>
</div>
<blockquote style="border-top:none;border-right:none;border-bottom:none;border-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal"><br>
Best regards,<br>
<br>
    Jan<br>
<br>
> -----Original Message-----<br>
> From: users <<a href="mailto:users-bounces@rtems.org" target="_blank">users-bounces@rtems.org</a>> On Behalf Of
<a href="mailto:Jan.Sommer@dlr.de" target="_blank">Jan.Sommer@dlr.de</a><br>
> Sent: Friday, January 29, 2021 3:10 PM<br>
> To: <a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>; <a href="mailto:jiri@gaisler.se" target="_blank">
jiri@gaisler.se</a><br>
> Cc: <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
> Subject: RE: riscv: gdb cannot connect to rtems runnin in qemu<br>
> <br>
> <br>
> <br>
> > From: Joel Sherrill <<a href="mailto:joel@rtems.org" target="_blank">joel@rtems.org</a>><br>
> ><br>
> >On Fri, Jan 29, 2021 at 7:20 AM <<a href="mailto:Jan.Sommer@dlr.de" target="_blank">Jan.Sommer@dlr.de</a>> wrote:<br>
> >> Hello<br>
> >><br>
> >> I just tried to debug a riscv test program running in qemu.<br>
> >> However, gdb could not establish a connection to qemu and produced the<br>
> following error:<br>
> >> /tmp/rtems/riscv<span style="font-family:"Segoe UI Symbol",sans-serif">❯</span> riscv-rtems6-gdb ticker.exe GNU gdb (GDB)<br>
> >> 10.1.90.20210125-git [..]<br>
> >><br>
> >> For help, type "help".<br>
> >> Type "apropos word" to search for commands related to "word"...<br>
> >> Reading symbols from<br>
> /tools/modulesystem/tools/rtems/rtems6/install/bsps/riscv-<br>
> rtems6/grv32imafdc-smp/testsuites/samples/ticker.exe...<br>
> >> (gdb) target remote :1234<br>
> >> Remote debugging using :1234<br>
> >> bfd requires flen 8, but target has flen 4<br>
> ><br>
> > griscv are Jiri's BSPs and should run on sis and be able to be debugged that<br>
> way.<br>
> ><br>
> > He should know if they worked on qemu and he was able to connect gdb.<br>
> ><br>
> <br>
> Sorry for the confusion. Jiri already told me previously that for running on<br>
> qemu I need to use the BSPs without a "g" like rv32imafdc.<br>
> That's what I did for my test application. For testing with ticker.exe I chose<br>
> the wrong directory.<br>
> To clarify, I use the rv32imafdc BSP to run on qemu.<br>
> The application runs fine, but debugging it through the qemu gdb-server<br>
> does not work.<br>
> This does also happen with the ticker.exe of the rv32imafdc BSP.<br>
> <br>
> Best regards,<br>
> <br>
>     Jan<br>
> <br>
> > Otherwise, this looks like a potential mismatch of 32 and 64 bit stuff<br>
> > like gdb wasn't built with both 32 and 64 bit riscv support. Which<br>
> > seems odd to me because it lives in the same repo as binutils and<br>
> > should have a comparable build of binutils.<br>
> ><br>
> ><br>
> >> The tools and rtems are built from master a couple of days ago.<br>
> >> I used the following command line for qemu (v. 4.2.0):<br>
> >> qemu-system-riscv32 -nographic -machine virt -m 2G -nographic -net<br>
> >> none -serial mon:stdio -bios /tmp/riscv/ticker.exe -s -S<br>
> >><br>
> >> Does anyone have a hint if the problem is with qemu, gdb or rtems?<br>
> >> Without gdb the program runs normally in qemu.<br>
> >><br>
> >> Best regards,<br>
> >><br>
> >>     Jan<br>
> >><br>
> >> Deutsches Zentrum für Luft- und Raumfahrt e. V. (DLR) German<br>
> >> Aerospace Center Institute for Software Technology | Software for<br>
> >> Space Systems and Interactive Visualization | Lilienthalplatz 7 |<br>
> >> 38108 Braunschweig | Germany<br>
> >><br>
> >> Jan Sommer<br>
> ><br>
> > _______________________________________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><br>
> <br>
> _______________________________________________<br>
> users mailing list<br>
> <a href="mailto:users@rtems.org" target="_blank">users@rtems.org</a><br>
> <a href="http://lists.rtems.org/mailman/listinfo/users" target="_blank">http://lists.rtems.org/mailman/listinfo/users</a><u></u><u></u></p>
</blockquote>
</div>
</div>
</div>
</div>
</div>

</blockquote></div>