contributing the RISC-V linux native port

Jim Wilson
2018-08-07T02:22:23Z

I'm wondering about what level of functionality I need to reach before
it would be reasonable to try to submit my gdb port. I have a lot of
basic features working, setting breakpoints, run, cont, stepping,
shared libraries, reading/writing int/fp registers, etc, but there are
still a lot of details that need to be worked out for full
functionality.

My latest testsuite run results are

=== gdb Summary ===

# of expected passes 45195
# of unexpected failures 1159
# of unexpected successes 3
# of expected failures 56
# of unknown successes 3
# of known failures 63
# of unresolved testcases 138
# of untested testcases 117
# of unsupported tests 121

There are some obvious things broken. 32-bit float values in 64-bit
FP registers aren't printed properly because they are NaN-boxed, and
gdb doesn't know about that yet. I don't have support for signal
handler frames yet. I only have integer register support for core
files. I haven't tried to implement watchpoints yet. There are a lot
of thread failures, 358 in gdb.thread, and apparently some in gdb.mi
also, but there is a glibc patch from Andreas Schwab that I hope fixes
some of them. Most of the rest of the failures I haven't categorized
yet.

Anyways, I'm wondering how much more work I need to do out of tree
before I can try submitting my work.

Also, I'm wondering about policy on branches in the gdb tree. Maybe
it would make sense to move my work into a branch in the FSF gdb tree.
I have my own github tree at the moment where I am doing work which is
working fine for me, but it isn't easy for other people to find it.

Jim