From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 2B8863858C39; Thu, 30 Jun 2022 22:47:31 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2B8863858C39 From: "cel at us dot ibm.com" To: gdb-prs@sourceware.org Subject: [Bug tdep/29247] [gdb, tdep] ../../gdb/ppc-sysv-tdep.c:1945: internal-error: ppc64_sysv_abi_return_value: Assertion `ok' failed Date: Thu, 30 Jun 2022 22:47:29 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gdb X-Bugzilla-Component: tdep X-Bugzilla-Version: 12.1 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: cel at us dot ibm.com X-Bugzilla-Status: NEW X-Bugzilla-Resolution: X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: attachments.isobsolete attachments.created Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gdb-prs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-prs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Jun 2022 22:47:31 -0000 https://sourceware.org/bugzilla/show_bug.cgi?id=3D29247 Carl E Love changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #14167|0 |1 is obsolete| | --- Comment #18 from Carl E Love --- Created attachment 14186 --> https://sourceware.org/bugzilla/attachment.cgi?id=3D14186&action=3Ded= it Add IEEE support for float 128bit, version 3 Yes, the previous patch had { issues. I split the patch into a functional change patch and a debug print patch. Unfortunately, I didn't get it done cleanly as I found out later when I compiled just the functional patch. The latest version merges the IEEE Float 128-bit and vector if clauses where possible. It updates ppc64_elfv2_abi_homogeneous_aggregate to support the = IEEE 128-bit floating point. That change fixes the rest of the issues with the gdb.base/infcall-nested-structs-c.exp test. The patch also fixes all of the regression failures for gdb.base/infcall-nested-structs-c++.exp. The current patch fixes 8 of the 9 failures in gdb.base/structs.exp. The t= est description for the one failing test is: "Implemented by calling the one parameter function "Fun$N" which stores its parameter in the global variable "L$N". GDB then examining that global to confirm that the value is as expected."=20=20 The test defines the global structures: struct struct1 {tA a;}; struct struct2 {tA a; tB b;}; struct struct3 {tA a; tB b; tC c; }; ... and ... struct struct1 foo1 =3D {'1'}, L1; struct struct2 foo2 =3D {'a','2'}, L2; struct struct3 foo3 =3D {'1','b','3'}, L3; ... void Fun1(struct struct1 foo1) { L1 =3D foo1; } The gdb test prints the value of L1 as follows: p/c L1 $2 =3D {a =3D 0 '\000'} (gdb) FAIL: gdb.base/structs.exp: types=3Dtld: p/c L; call 1 structs-tld The tld indicates that the test is for the long double (IEEE Float 128-bit) case. Note, the test p/c L2 $3 =3D {a =3D 97 'a', b =3D 50 '2'}=20 (gdb) PASS: gdb.base/structs.exp: types=3Dtld: p/c fun(); call 2 structs= -tld passes. The print for the global values do not appear to use any of the functions in gdb/ppc-sysv-tdep.c. I have yet to find how gdb handles the global variable case. I haven't seen anything yet in the ABI about it eith= er.=20 Any hints on where the issue is for the global case would be appreciated. --=20 You are receiving this mail because: You are on the CC list for the bug.=