On Sat, Mar 21, 2020 at 6:56 AM Alex Bennée <alex.ben...@linaro.org> wrote:

>
> Lirong Yuan <yua...@google.com> writes:
>
> > On Fri, Mar 20, 2020 at 2:17 AM Alex Bennée <alex.ben...@linaro.org>
> wrote:
> <snip>
> >>
> >> 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?
> >>
> <snip>
> > 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

Reply via email to