Update mini-gdbstub and the corresponding API #129
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
It is possible that a GDB user will query an access for invalid register or memory address. In such case, GDBstub should respond
E NN
(whereNN
is an errno) for the error. However, both the original implementations ofmini-gdbstub
andrv32emu
just simply assume that those operations will always succeed, which may lead to some annoying problems. For example, a segmentation fault happens on the emulator when we request to read a memory chunk that our emulator didn't write before yet. For this reason, this patch updates the librarymini-gdbstub
and the implementation ofrv32emu
itself to make debug mode experience onrv32emu
better.By the way, it is worth noting that running the command
make gdbstub-test
will have a fail result. But this is not caused by this patch, because it seems to be broken on the main branch for a long time :(. I'll fix this in other patches and maybe we should runmake gdbstub-test
in CICD in the future to make sure it always runs correctly.