[PATCH v3 0/3] RISC-V/Linux `gdbserver' support and associated fixes

Maciej W. Rozycki
2020-01-31T12:11:42Z

Hi,

This is v3 of my RISC-V/Linux `gdbserver' support proposal.

Beyond the issues discussed with v2 I have now also slightly optimised
regcache supply/collect handlers to avoid doing a costly variable
multiplication in a loop, and added buffer offset precalculations so as to
avoid excessive line wrapping and hopefully making code more readable.

Also I have noticed missing Python and ncurses development libraries
limiting testing in my native setup. With these installed native test
results improved a little, as follows:

=== gdb Summary ===

# of expected passes 61354
# of unexpected failures 1636
# of unexpected successes 1
# of expected failures 58
# of unknown successes 3
# of known failures 85
# of unresolved testcases 113
# of untested testcases 160
# of unsupported tests 323

however a worrying regression has appeared:

FAIL: gdb.base/return-nodebug.exp: float: full width of the returned result

This has turned out not to be related to this patch series however and
triggers reliably now in my setup regardless of whether this patch set has
been applied or not. Instead it is an outcome of GDB failing to NaN-box
data of the `float' type when assigning it to a hardware register.

I have filed PR tdep/25489 to track it as I may not be able to look into
it right away.

Except as noted above here have been no regressions in native
`riscv64-linux-gnu' testing and remote `gdbserver' test results are the
same as previously (barring the usual gdb.threads/ fluctuations).

As usually see individual changes for details.

Maciej