Re: [PATCH] [gdb/testsuite] Fix target endianness detection on msys2-ucrt64

Tom de Vries
2025-09-05T15:11:34Z

On 9/5/25 15:52, Tom de Vries wrote:
> On msys2-ucrt64, with test-case gdb.ada/big_packed_array.exp I run into:
> ...
> (gdb) file /home/vries/gdb/build/gdb/testsuite/temp/3162/target_endianness.x
> /home/vries/gdb/build/gdb/testsuite/temp/3162/target_endianness.x: No such file or directory.
> (gdb) ERROR: (target_endianness.x) No such file or directory
> ...
>
> Fix this by using host_file_normalize in gdb_file_cmd.
>

Retesting on x86_64-linux gets us:
...
(gdb) file
/data/vries/gdb/leap-15-6/build/gdb/testsuite/target:/data/vries/gdb/leap-15-6/build/gdb/testsuite/outputs/gdb.base/sysroot-debug-lookup/sysroot2/bin/sysroot-debug-lookup_2^M
/data/vries/gdb/leap-15-6/build/gdb/testsuite/target:/data/vries/gdb/leap-15-6/build/gdb/testsuite/outputs/gdb.base/sysroot-debug-lookup/sysroot2/bin/sysroot-debug-lookup_2:
No such file or directory.^M
(gdb) ERROR: (sysroot-debug-lookup_2) No such file or directory
UNRESOLVED: gdb.base/sysroot-debug-lookup.exp: lookup_via_debuglink:
sysroot_prefix=target:: ensure debug information was found
FAIL: gdb.base/sysroot-debug-lookup.exp: lookup_via_debuglink:
sysroot_prefix=target:: debug symbols read from correct file
...

So either we need to fix this test-case, or handle the target: prefix in
host_file_normalize.

Thanks,
- Tom

> Tested on msys2-ucrt64.
> ---
> gdb/testsuite/lib/gdb.exp | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
> index 7a3ea8d9644..00a4c54e8a0 100644
> --- a/gdb/testsuite/lib/gdb.exp
> +++ b/gdb/testsuite/lib/gdb.exp
> @@ -2611,6 +2611,7 @@ proc gdb_file_cmd { arg {kill_flag 1} } {
> }
> }
>
> + set arg [host_file_normalize $arg]
> send_gdb "file $arg\n"
> set new_symbol_table 0
> set basename [file tail $arg]
>
> base-commit: aaad5a3254db53434eaf1cf70384e7ee0dfb886a