Lirong Yuan <yua...@google.com> writes:

> 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?

The aarch64 ones run with "make run-tcg-tests-aarch64-linux-user" add
V=1 to see the details.

> 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. :)

What would you do from a normal gdb command line. At the very least you
run the same command with gdb.execute(), e.g.:

  gdb.execute("set confirm off")

is the same as typing

  set confirm off

at the gdb command prompt.

>
> Thanks,
> Lirong


-- 
Alex Bennée

Reply via email to