On Mar 12, 2024, at 00:14, Tom Tromey tromey@adacore.com wrote:
Maxim Kuvyrkov maxim.kuvyrkov@linaro.org writes:
| commit gdb-14-branchpoint-1356-g7737b133640 | Author: Tom Tromey tromey@adacore.com | 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 ebotcazou@adacore.com Date: Wed Jan 10 13:23:46 2024 +0100
Fix debug info for enumeration types with reverse Scalar_Storage_Order
Ah, now I understand. While we do have the above commit in our GCC sources (we build tip-of-trunk in this CI configuration), we don't enable ada language. So testsuite harness detects GCC version as 14.0 and enables the test, but actual gnat compiler is used from the distro package, which is much older.
We will consider enabling ada language in our CI builds, which should fix this.
Thanks for helping troubleshooting this!
-- Maxim Kuvyrkov https://www.linaro.org