From: Luis <luis.machado.foss@gmail.com>
To: Ezra Sitorus <ezra.sitorus@arm.com>
Cc: gdb-patches@sourceware.org, thiago.bauermann@linaro.org
Subject: Re: [RFC PATCH 5/5] gdb/aarch64: Tests for fpmr
Date: Wed, 17 Sep 2025 00:50:29 +0100 [thread overview]
Message-ID: <4c787104-a6db-4ec6-b128-83ac97e22016@gmail.com> (raw)
In-Reply-To: <aMlFc6LoDq_fF9NS@D2G2X7XGD1>
Hi,
On 16/09/2025 12:09, Ezra Sitorus wrote:
> Thanks for this - it's very helpful.
>
>> Thanks for the patch.
>>
>> On 05/09/2025 14:17, Ezra.Sitorus@arm.com wrote:
>>> From: Ezra Sitorus <ezra.sitorus@arm.com>
>>>
>>> Add tests for FPMR support in gdb/gdbserver. These tests check
>>> availability of FPMR, reading/writing to FPMR and core file generation.
>>>
>>> For these tests, I have used shrinkwrap for FPMR emulation. I am not
>>> sure on how to do these tests properly as there are some things I'm not
>>> sure about:
>>>
>>> * Which board file do I use to test this? I've resorted to adapting
>>> remote-stdio-gdbserver.exp to use tcp when starting gdbserver
>>> remotely.
>>
>> If you have Linux running on the FVP, you need to build gdb/gdbserver
>> natively in there or cross-build aarch64-linux versions of gdb/gdbserver ,
>> copy the binaries over and then invoke the testsuite like so:
>>
>> make check-gdb RUNTESTFLAGS="--target_board=native-gdbserver"
>>
>> You'll run gdb's testsuite against gdbserver inside the FVP. It will be
>> fairly slow for sure, but that's unfortunately how it goes.
>
> Why is it the case that we run gdb + gdbserver? I assume this is less demanding
> than running gdb on its own?
I´d say testing native gdb is a bit lighter. Testing with gdbserver (or
any remote target really) has a lot more overhead due to the serial
protocol communication. Also potentially more file transfers between
gdbserver and gdb.
>
>>
>> If you want to exercise gdbserver in extended-remote mode, replace
>> native-gdbserver with native-extended-gdbserver.
>>
>>> * Do I need to run the whole regression test? This is quite slow, and
>>> comes up with a lot of failures.
>>
>> It is a good idea to run the entire testsuite at least once to make sure
>> things didn't break somewhere. If your change is aarch64-specific, it still
>> makes sense to run the entire testsuite (maybe run it on a big server to see
>> if things are still sane), but once you know the code is OK, you can then
>> focus on the gdb.arch/*aarch64*.exp tests.
>>
>
> Do you know roughly how long this takes? In my case, I've been running for 24
> hours and it's still got a long way to go. Does changing to native-extended-gdbserver
> speed things up?
My experience with QEMU is that it takes less than 24h to run the entire
thing. But the FVP is slower than that, so I think a couple days or more
sound reasonable.
Switching to native-extended-gdbserver won´t help unfortunately, as that
is mostly a different remote target mode.
To speed things up, you could test gdb/gdbserver on a regular AArch64
machine and then go do the gdb.arch/aarch64*.exp tests on the FVP. Given
the FPMR changes are fairly localized, the risk of breaking things is low.
>
> On another note, I looked at the 'Testing gdbserver in a remote cross-target
> configuration' section in the TestingGDB page in GDB Wiki. Would this be a
> viable option? Unlike last time where I rewrote core_find for example, would
> this help out as it delegates compiling to the build system (if I've understood
> correctly)? Or should I just keep it simple with native-gdbserver/native-extended-gdbserver?
Running gdb on the host and connecting to gdbserver on the target is
definitely faster, but you need the board files to handle all the logic
to spawn the emulator for each test (if in user mode) or spawn the
emulator and connect to it and then spawn gdbserver for every test.
I don´t think we have such a board file. That's usually a custom
implementation.
>
> Ezra
next prev parent reply other threads:[~2025-09-16 23:51 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-05 13:17 [RFC PATCH 0/5] gdb/aarch64: Support for FPMR Ezra.Sitorus
2025-09-05 13:17 ` [RFC PATCH 1/5] gdb/aarch64: Enable FPMR for AArch64 in gdb on Linux Ezra.Sitorus
2025-09-07 22:55 ` Luis
2025-09-10 23:56 ` Thiago Jung Bauermann
2025-09-10 23:45 ` Thiago Jung Bauermann
2025-09-05 13:17 ` [RFC PATCH 2/5] gdbserver/aarch64: Enable FPMR for AArch64 in gdbserver " Ezra.Sitorus
2025-09-07 22:55 ` Luis
2025-09-10 23:46 ` Thiago Jung Bauermann
2025-09-05 13:17 ` [RFC PATCH 3/5] gdb/aarch64: signal frame support for fpmr Ezra.Sitorus
2025-09-07 22:56 ` Luis
2025-09-11 0:03 ` Thiago Jung Bauermann
2025-09-10 23:47 ` Thiago Jung Bauermann
2025-09-05 13:17 ` [RFC PATCH 4/5] gdb/aarch64: core file support for FPMR Ezra.Sitorus
2025-09-07 22:56 ` Luis
2025-09-10 23:48 ` Thiago Jung Bauermann
2025-09-05 13:17 ` [RFC PATCH 5/5] gdb/aarch64: Tests for fpmr Ezra.Sitorus
2025-09-07 22:56 ` Luis
2025-09-16 11:09 ` Ezra Sitorus
2025-09-16 23:50 ` Luis [this message]
2025-09-10 23:53 ` Thiago Jung Bauermann
2025-09-10 23:39 ` [RFC PATCH 0/5] gdb/aarch64: Support for FPMR Thiago Jung Bauermann
2025-09-11 15:52 ` Ezra Sitorus
2025-09-12 3:17 ` Thiago Jung Bauermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4c787104-a6db-4ec6-b128-83ac97e22016@gmail.com \
--to=luis.machado.foss@gmail.com \
--cc=ezra.sitorus@arm.com \
--cc=gdb-patches@sourceware.org \
--cc=thiago.bauermann@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox