qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] gdbstub: add support to Xfer:auxv:read: packet


From: Lirong Yuan
Subject: Re: [PATCH] gdbstub: add support to Xfer:auxv:read: packet
Date: Mon, 30 Mar 2020 10:32:55 -0700


On Sat, Mar 21, 2020 at 6:56 AM Alex Bennée <address@hidden> wrote:

Lirong Yuan <address@hidden> writes:

> On Fri, Mar 20, 2020 at 2:17 AM Alex Bennée <address@hidden> 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

[Prev in Thread] Current Thread [Next in Thread]