[PATCH] gdb: call check_typedef at beginning of dwarf_expr_context::fetch_result

Simon Marchi simark@simark.ca
Thu Jul 28 15:33:01 GMT 2022


On 7/28/22 04:56, Lancelot SIX via Gdb-patches wrote:
> Hi,
>
> [...]
>> diff --git a/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp
>> new file mode 100644
>> index 00000000000..3a3740234fa
>> --- /dev/null
>> +++ b/gdb/testsuite/gdb.dwarf2/entry-value-typedef.exp
>> @@ -0,0 +1,36 @@
>> +# Copyright 2022 Free Software Foundation, Inc.
>> +
>> +# This program is free software; you can redistribute it and/or modify
>> +# it under the terms of the GNU General Public License as published by
>> +# the Free Software Foundation; either version 3 of the License, or
>> +# (at your option) any later version.
>> +#
>> +# This program is distributed in the hope that it will be useful,
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> +# GNU General Public License for more details.
>> +#
>> +# You should have received a copy of the GNU General Public License
>> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
>> +
>> +# The program associated to this test case uncovered a bug in GDB (PR 29374)
>> +# where a typedef type was used before it was resolved.
>> +
>> +standard_testfile .S
>
> Shouldn’t there be something like:
>
> if { ![istarget x86_64-*-linux* ] } {
>   return
> }
>
> or similar to make sure that we do not try to compile this .S file on
> incompatible archs?

Good idea.  I assumed the gdb_compile would fail and make us skip the
test on incompatible architectures, but it spews a lot of errors, so
it's cleaner to filter ahead on the arch.  I tested this on an aarch64
machine, and then thought I could add a version of the .S for aarch64,
on which I could reproduce the bug too, so the v3 includes that.

Simon


More information about the Gdb-patches mailing list