[binutils-gdb] [gdb/testsuite] Fix gdb.base/examine-address-class.exp for big endian
Tom de Vries via Gdb-cvs <[email protected]> Mon, 3 Aug 2026 08:20:09 +0000 (GMT)
| Newsgroups | gmane.comp.gdb.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D4222a82bb594= c22ff390f1c48e02c04fdd0ba89b commit 4222a82bb594c22ff390f1c48e02c04fdd0ba89b Author: Tom de Vries <[email protected]> Date: Mon Aug 3 10:20:04 2026 +0200 [gdb/testsuite] Fix gdb.base/examine-address-class.exp for big endian =20 On ppc64-linux and s390x-linux, with test-case gdb.base/examine-address-class.exp I get: ... (gdb) x/1dh (int *) &var^M 0x3fffffffe560: 0^M (gdb) FAIL: $exp: x/1dh (int *) &var ... =20 This is caused by big vs. little endian. =20 On x86_64-linux (little endian), we have: ... (gdb) p /x ((short *)&var)[0] $6 =3D 0x2a (gdb) p /x ((short *)&var)[1] $7 =3D 0x0 (gdb) ... =20 And on ppc64-linux (big endian), we have: ... (gdb) p /x ((short *)&var)[0] $2 =3D 0x0 (gdb) p /x ((short *)&var)[1] $3 =3D 0x2a ... =20 Fix this by assigning 0x002a002a to var, making sure that ((short *)&var)[0] =3D=3D ((short *)&var)[1] =3D=3D 42. =20 Tested on x86_64-linux, ppc64-linux and s390x-linux. =20 Approved-By: Kevin Buettner <[email protected]> Diff: --- gdb/testsuite/gdb.base/examine-address-class.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.base/examine-address-class.c b/gdb/testsuite= /gdb.base/examine-address-class.c index c868b10119f..8f6b89c14bf 100644 --- a/gdb/testsuite/gdb.base/examine-address-class.c +++ b/gdb/testsuite/gdb.base/examine-address-class.c @@ -18,6 +18,6 @@ int main (void) { - int var =3D 42; + int var =3D 0x002a002a; return 0; /* break-here. */ }