Re: [Linaro-TCWG-CI] gdb-14-branchpoint-1356-g7737b133640: FAIL: 1 regressions on arm

2024-03-12 Thread Tom Tromey
>>>>> Maxim Kuvyrkov  writes:

>> | commit gdb-14-branchpoint-1356-g7737b133640
>> | Author: Tom Tromey 
>> | Date:   Tue Jan 9 11:47:17 2024 -0700
>> | 
>> | Handle DW_AT_endianity on enumeration types
>> | 
>> | A user found that gdb would not correctly print a field from an Ada
>> | record using the scalar storage order feature.  We tracked this down
>> | to a combination of problems.
>> | 
>> | First, GCC did not emit DW_AT_endianity on the enumeration type.
>> | ... 14 lines of the commit log omitted.

> I see the above failure for both aarch64-linux-gnu and
> arm-linux-gnueabihf in our testing.  The log shows ([1]):

> (gdb) PASS: gdb.ada/scalar_storage.exp: print V_LE
> get_compiler_info: gcc-14-0-1

> Any idea what can be causing this?

> This failure happens in CI configurations where we track tip-of-trunk GCC.

This failure is what I would expect if your compiler does not have the
fix.  Can you see if your gcc includes this change?

commit 5d8b60effc7268448a94fbbbad923ab6871252cd
Author: Eric Botcazou 
Date:   Wed Jan 10 13:23:46 2024 +0100

Fix debug info for enumeration types with reverse Scalar_Storage_Order

This implements the support of DW_AT_endianity for enumeration types because
they are scalar and therefore, reverse Scalar_Storage_Order is supported for
them, but only when the -gstrict-dwarf switch is not passed because this is
an extension.

There is an associated GDB patch to be submitted to grok the new DWARF.

thanks,
Tom
___
linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org
To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org


Re: [Linaro-TCWG-CI] gdb-14-branchpoint-1411-g033bc67bdb0: FAIL: 2 regressions on arm

2024-03-13 Thread Tom Tromey
>> Just a guess, but maybe making the type global instead of a local type
>> (with no linkage) will solve it:
>> 
>> --- a/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
>> +++ b/libstdc++-v3/testsuite/libstdc++-prettyprinters/cxx11.cc
>> @@ -63,6 +63,11 @@ struct datum
>> 
>> std::unique_ptr global;
>> 
>> +struct custom_cat : std::error_category {
>> +  const char* name() const noexcept { return "miaow"; }
>> +  std::string message(int) const { return ""; }
>> +};

gdb doesn't generally handle local types well -- a longstanding bug
nobody has tried to fix.

However my patch wasn't intended to introduce this problem.
Perhaps it is at fault.

Tom
___
linaro-toolchain mailing list -- linaro-toolchain@lists.linaro.org
To unsubscribe send an email to linaro-toolchain-le...@lists.linaro.org