On Sat, Mar 21, 2020 at 6:56 AM Alex Bennée wrote: > > Lirong Yuan writes: > > > On Fri, Mar 20, 2020 at 2:17 AM Alex Bennée > wrote: > > >> > >> Sorry I missed this on my radar. There was a minor re-factor of gdbstub > >> that was just merged which will mean this patch needs a re-base to use > >> g_string_* functions to expand stings. > >> > >> Also we have some simple gdbstub tests now - could we come up with a > >> multiarch gdbstub test to verify this is working properly? > >> > > > For sure, I will re-base this patch to use g_string_* functions. > > > > Currently we are using qemu aarch64. I am not sure how to do this yet, > but > > I could try to add something to > > https://github.com/qemu/qemu/tree/master/tests/tcg/aarch64/gdbstub > > If the auxv support is appropriate to all linux-user targets you can > plumb it into the multiarch tests - you can even use the existing > binaries. > > So you need: > > - a stanza in the makefiles to launch the test (see > tests/tcg/aarch64/Makefile.target) > > - a .py test script that manipulates gdbstub to check things are working > > So something like: > > .PHONY: gdbstub-foo-binary > run-gdbstub-foo-binary: foo-binary > $(call run-test, $@, $(GDB_SCRIPT) \ > --gdb $(HAVE_GDB_BIN) \ > --qemu $(QEMU) --qargs "$(QEMU_OPTS)" \ > --bin $< --test $(MULTIARCH_SRC)/gdbstub/test-foo.py, \ > "basic gdbstub FOO support") > > > > > > Does this sound good? > > Hope that helps. > > > > > Thanks! > > Lirong > > > -- > Alex Bennée > Hi Alex, Thanks for the instructions, very helpful! I rebased this patch to use g_string_* functions, and the link to patchwork is: http://patchwork.ozlabs.org/patch/1264125/ Could you help take another look? Regarding testing, I looked at some instructions for running tests, e.g. https://github.com/qemu/qemu/blob/master/docs/devel/testing.rst https://wiki.qemu.org/Testing However I still could not get the tests for aarch64 to run. Do you know how to run the aarch64 or multi-arch tests? Also there aren't any existing gdb stub tests that try to read uninterpreted bytes from the target’s special data area identified by a keyword: https://sourceware.org/gdb/current/onlinedocs/gdb/General-Query-Packets.html#qXfer-auxiliary-vector-read I looked at some other gdb stub tests, but they did not seem to send any queries: https://github.com/qemu/qemu/tree/master/tests/tcg/aarch64/gdbstub So I am not sure how to set up one for "Xfer:auxv:read:" packets... Are there plans to add more tests for other packets like "Xfer:features:read:"? I'd be happy to add a test if there is an example of how to do it. :) Thanks, Lirong