This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH] Make gdb.arch/i386-biarch-core.exp more robust
- From: Luis Machado <lgustavo at codesourcery dot com>
- To: Pedro Alves <palves at redhat dot com>, <gdb-patches at sourceware dot org>
- Date: Mon, 6 Feb 2017 11:58:48 -0600
- Subject: Re: [PATCH] Make gdb.arch/i386-biarch-core.exp more robust
- Authentication-results: sourceware.org; auth=none
- References: <1485870927-12623-1-git-send-email-lgustavo@codesourcery.com> <bf39103d-3442-5cbf-15ed-7ec3d7610600@redhat.com>
- Reply-to: Luis Machado <lgustavo at codesourcery dot com>
On 02/06/2017 11:28 AM, Pedro Alves wrote:
On 01/31/2017 01:55 PM, Luis Machado wrote:
This test attempts to load a x86 core file no matter what the target
architecture is. If the architecture is not x86, GDB will not recognize
the core file and therefore won't have any memory to inspect. All we will
have is a memory read error, resulting in a FAIL.
The following patch addresses this by checking if we successfully loaded
the core file. If not, just return. Otherwise it keeps testing.
gdb/testsuite/ChangeLog:
2017-01-31 Luis Machado <lgustavo@codesourcery.com>
* gdb.arch/i386-biarch-core.exp: Return if core file was not
recognized.
This seems to contradict a bit the point of the test, which says:
# Test if at least the core file segments memory has been loaded.
when:
# Wrongly built GDB complains by:
# "..." is not a core dump: File format not recognized
You're right. The same message would've come out in a broken gdb trying
to load the test core file.
I.e., would we be potentially losing coverage? Assurance
that we're not I think should be part of the rationale for
this change.
Does the test pass for you if your non --target=x86 build
ends up including x86 support, with e.g., --enable-targets=all?
It should, because then gdb will recognize it.
If it does, then maybe we should check whether the GDB
build supports x86, by e.g., doing:
gdb_test_multiple "complete set architecture i386" ...
Yes, indeed. This test should never try to force a gdb that doesn't
understand i386/x86-64 core files to load one.
and seeing if something comes out.
then only do "unsupported" if x86 is not supported, otherwise,
the memory read failure is really a fail.
Right. In this case it was a fail because gdb didn't even load the core
file. As opposed to failing to read from a core file memory segment.
I'll adjust this.