This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [testsuite patch] Skip py-unwind.exp on x86_64 -m32
- From: Yao Qi <qiyaoltc at gmail dot com>
- To: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>, Sergio Durigan Junior <sergiodj at redhat dot com>
- Date: Tue, 19 Jul 2016 11:06:09 +0100
- Subject: Re: [testsuite patch] Skip py-unwind.exp on x86_64 -m32
- Authentication-results: sourceware.org; auth=none
- References: <20160717143003.GA12147@host1.jankratochvil.net> <CAH=s-PNiyGeCnW4gL9FjycVun2o4Owc_Q-Sdpx-NiWOVvi-qyQ@mail.gmail.com> <20160718113348.GA25789@host1.jankratochvil.net>
On Mon, Jul 18, 2016 at 12:33 PM, Jan Kratochvil
<jan.kratochvil@redhat.com> wrote:
> On Mon, 18 Jul 2016 12:04:27 +0200, Yao Qi wrote:
>> This problem is slightly different from "how to run testsuite in cross-arch
>> mode", IMO.
>> py-unwind.py defines a unwinder, in an arch-specific way. It has nothing
>> wrong.
>> However, py-unwind.py should be more portable, which means, it should
>> define unwdiner for each arch it supports, and py-unwind.exp or py-unwind.py
>> chooses the right python unwinder according to the arch. IOW, we need to
>> define a python unwinder for i386, and use it when arch is i386.
>
> There will always exist at least one unsupported arch for an arch-specific
> testcase. I do not think it makes sense to say that very every testcase in
> the testsuite must support very every arch supported by GDB.
>
> So we can say that py-unwind.exp just does not support arch i386.
> I do not find that wrong.
It is still better to get one test case cover one more arch.
>
> Wrong is that it should not FAIL on unsupported arch, it should skip the
> testcase on unsupported arch.
>
IMO, it is wrong that py-unwind.py creates an x86_64 specific unwinder.
py-unwind.py should create a unwinder instance according to the arch if the
arch is supported. On i386, or other archs, like arm, mips, py-unwind.py
can error, and py-unwind.exp knows unwinder is not created successfully,
and mark the test unsupported. If people want to extend py-unwind.py for
their archs, they can modify py-unwind.py to create an unwinder instance
for their own arch.
> The problem here is that py-unwind.exp thinks that it runs on arch x86_64 but
> it runs on arch i386.
>
> Even if py-unwind.exp did support i386 it would still FAIL because it would
> run the testcase for %rbp/%rsp/%rip.
py-unwind.exp does nothing on arch specific thing, so py-unwind.exp shouldn't
be aware of the arch difference, but py-unwind.py should.
--
Yao (齐尧)