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: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: Yao Qi <qiyaoltc at gmail dot com>
- Cc: "gdb-patches at sourceware dot org" <gdb-patches at sourceware dot org>, Sergio Durigan Junior <sergiodj at redhat dot com>
- Date: Mon, 18 Jul 2016 13:33:48 +0200
- 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>
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.
Wrong is that it should not FAIL on unsupported arch, it should skip the
testcase on unsupported 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.
That is I do not agree with your mail.
In fact I think the cross-arch running of the GDB testsuite should be
described at
https://sourceware.org/gdb/wiki/TestingGDB
but currently it is not. Currently there is only
https://sourceware.org/gdb/wiki/TestingGDB#Changing_the_compiler_used_to_build_the_testcases
which uses the simple way I currently use and which breaks the testsuite
needing the ![is_lp64_target] additional test. Maybe GDB maintainers could
say that the only valid way to run the testsuite cross-arch is properly
setting arget_triplet as Markus Metzger suggests. (But then I would need to
fix many scripts of mine; also not sure if Sergio's Buildbot runs it that
way.)
Jan