* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
@ 2023-04-07 18:53 ` schwab@linux-m68k.org
2023-04-08 3:21 ` bergner at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: schwab@linux-m68k.org @ 2023-04-07 18:53 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
--- Comment #1 from Andreas Schwab <schwab@linux-m68k.org> ---
Does that also happen with the latest sources at
<http://github.com/libffi/libffi>?
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
2023-04-07 18:53 ` [Bug libffi/109447] " schwab@linux-m68k.org
@ 2023-04-08 3:21 ` bergner at gcc dot gnu.org
2023-04-08 3:36 ` bergner at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2023-04-08 3:21 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> ---
(In reply to Andreas Schwab from comment #1)
> Does that also happen with the latest sources at
> <http://github.com/libffi/libffi>?
I downloaded current sources on the same system (a long double == IEEE128
system) Bill ran on and I do not see that error in the testsuite:
PASS: libffi.closures/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O0
(test for excess errors)
PASS: libffi.closures/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O0
execution test
PASS: libffi.closures/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O0
output pattern test
PASS: libffi.closures/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O2
(test for excess errors)
PASS: libffi.closures/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O2
execution test
PASS: libffi.closures/cls_align_longdouble_split.c -W -Wall -Wno-psabi -O2
output pattern test
...so it looks like GCC's libffi is just missing a fix already in upstream
sources.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
2023-04-07 18:53 ` [Bug libffi/109447] " schwab@linux-m68k.org
2023-04-08 3:21 ` bergner at gcc dot gnu.org
@ 2023-04-08 3:36 ` bergner at gcc dot gnu.org
2023-04-08 15:37 ` bergner at gcc dot gnu.org
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2023-04-08 3:36 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
--- Comment #3 from Peter Bergner <bergner at gcc dot gnu.org> ---
Hmmm, libffi commit 464b4b66e3cf3b5489e730c1466ee1bf825560e0 seems to be
missing from GCC's sources. I'll try applying that and see if it fixes the
problem.
commit 464b4b66e3cf3b5489e730c1466ee1bf825560e0
Author: Dan Horák <dan@danny.cz>
AuthorDate: Mon Jan 31 14:08:09 2022 +0100
Commit: GitHub <noreply@github.com>
CommitDate: Mon Jan 31 08:08:09 2022 -0500
powerpc64: fix handling of homogeneous float128 structs (#689)
If there is a homogeneous struct with float128 members, they should be
copied to vector register save area. The current code incorrectly copies
only the value of the first member, not increasing the pointer with each
iteration. Fix this.
Given the output Bill is seeing and the description of the git log entry, it
seems like this may be the culprit.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
` (2 preceding siblings ...)
2023-04-08 3:36 ` bergner at gcc dot gnu.org
@ 2023-04-08 15:37 ` bergner at gcc dot gnu.org
2023-04-08 15:37 ` bergner at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2023-04-08 15:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2023-4-8
CC| |segher at gcc dot gnu.org
--- Comment #4 from Peter Bergner <bergner at gcc dot gnu.org> ---
(In reply to Peter Bergner from comment #3)
> commit 464b4b66e3cf3b5489e730c1466ee1bf825560e0
> Author: Dan Horák <dan@danny.cz>
> AuthorDate: Mon Jan 31 14:08:09 2022 +0100
> Commit: GitHub <noreply@github.com>
> CommitDate: Mon Jan 31 08:08:09 2022 -0500
>
> powerpc64: fix handling of homogeneous float128 structs (#689)
>
> If there is a homogeneous struct with float128 members, they should be
> copied to vector register save area. The current code incorrectly copies
> only the value of the first member, not increasing the pointer with each
> iteration. Fix this.
Applying this commit does fix the test case FAILs.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
` (3 preceding siblings ...)
2023-04-08 15:37 ` bergner at gcc dot gnu.org
@ 2023-04-08 15:37 ` bergner at gcc dot gnu.org
2023-04-08 16:14 ` segher at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2023-04-08 15:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
` (4 preceding siblings ...)
2023-04-08 15:37 ` bergner at gcc dot gnu.org
@ 2023-04-08 16:14 ` segher at gcc dot gnu.org
2023-04-08 18:00 ` bergner at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: segher at gcc dot gnu.org @ 2023-04-08 16:14 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
Segher Boessenkool <segher at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |green at gcc dot gnu.org
--- Comment #5 from Segher Boessenkool <segher at gcc dot gnu.org> ---
That
(<https://github.com/libffi/libffi/commit/464b4b66e3cf3b5489e730c1466ee1bf825560e0>)
looks like an obvious fix. Can we get it applied to GCC please?
(cc:ing the libffi author)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
` (5 preceding siblings ...)
2023-04-08 16:14 ` segher at gcc dot gnu.org
@ 2023-04-08 18:00 ` bergner at gcc dot gnu.org
2023-05-06 15:31 ` cvs-commit at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: bergner at gcc dot gnu.org @ 2023-04-08 18:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
Peter Bergner <bergner at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to fail| |12.0, 13.0
--- Comment #6 from Peter Bergner <bergner at gcc dot gnu.org> ---
(In reply to Segher Boessenkool from comment #5)
> That
> (<https://github.com/libffi/libffi/commit/
> 464b4b66e3cf3b5489e730c1466ee1bf825560e0>) looks like an obvious fix. Can
> we get it applied to GCC please?
>
> (cc:ing the libffi author)
I just checked and GCC12 needs the fix too. I don't know the process for how
we apply upstream libffi changes to GCC sources.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
` (6 preceding siblings ...)
2023-04-08 18:00 ` bergner at gcc dot gnu.org
@ 2023-05-06 15:31 ` cvs-commit at gcc dot gnu.org
2023-05-06 20:59 ` cvs-commit at gcc dot gnu.org
2023-05-09 19:58 ` cvs-commit at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-06 15:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Peter Bergner <bergner@gcc.gnu.org>:
https://gcc.gnu.org/g:043550bceea7881163bba5d8a0486bb100a05809
commit r14-542-g043550bceea7881163bba5d8a0486bb100a05809
Author: Dan Horák <dan@danny.cz>
Date: Wed May 3 14:29:09 2023 -0500
libffi: fix handling of homogeneous float128 structs (#689)
If there is a homogeneous struct with float128 members, they should be
copied to vector register save area. The current code incorrectly copies
only the value of the first member, not increasing the pointer with each
iteration. Fix this.
Merged from upstream libffi commit:
464b4b66e3cf3b5489e730c1466ee1bf825560e0
2023-05-03 Dan Horák <dan@danny.cz>
libffi/
PR libffi/109447
* src/powerpc/ffi_linux64.c (ffi_prep_args64): Update arg.f128
pointer.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
` (7 preceding siblings ...)
2023-05-06 15:31 ` cvs-commit at gcc dot gnu.org
@ 2023-05-06 20:59 ` cvs-commit at gcc dot gnu.org
2023-05-09 19:58 ` cvs-commit at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-06 20:59 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
--- Comment #8 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Peter Bergner
<bergner@gcc.gnu.org>:
https://gcc.gnu.org/g:36629645d5ba6a6612c87af1fe7249ea1fb8cdc5
commit r13-7302-g36629645d5ba6a6612c87af1fe7249ea1fb8cdc5
Author: Dan Horák <dan@danny.cz>
Date: Wed May 3 14:29:09 2023 -0500
libffi: fix handling of homogeneous float128 structs (#689)
If there is a homogeneous struct with float128 members, they should be
copied to vector register save area. The current code incorrectly copies
only the value of the first member, not increasing the pointer with each
iteration. Fix this.
Merged from upstream libffi commit:
464b4b66e3cf3b5489e730c1466ee1bf825560e0
2023-05-03 Dan Horák <dan@danny.cz>
libffi/
PR libffi/109447
* src/powerpc/ffi_linux64.c (ffi_prep_args64): Update arg.f128
pointer.
(cherry picked from commit 043550bceea7881163bba5d8a0486bb100a05809)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug libffi/109447] test case libffi.closures/cls_align_longdouble_split.c fails
2023-04-07 17:48 [Bug libffi/109447] New: test case libffi.closures/cls_align_longdouble_split.c fails seurer at gcc dot gnu.org
` (8 preceding siblings ...)
2023-05-06 20:59 ` cvs-commit at gcc dot gnu.org
@ 2023-05-09 19:58 ` cvs-commit at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-09 19:58 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109447
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-12 branch has been updated by Peter Bergner
<bergner@gcc.gnu.org>:
https://gcc.gnu.org/g:0069ce6631880776a44fb8408c6428c0812285cf
commit r12-9526-g0069ce6631880776a44fb8408c6428c0812285cf
Author: Dan Horák <dan@danny.cz>
Date: Wed May 3 14:29:09 2023 -0500
libffi: fix handling of homogeneous float128 structs (#689)
If there is a homogeneous struct with float128 members, they should be
copied to vector register save area. The current code incorrectly copies
only the value of the first member, not increasing the pointer with each
iteration. Fix this.
Merged from upstream libffi commit:
464b4b66e3cf3b5489e730c1466ee1bf825560e0
2023-05-03 Dan Horák <dan@danny.cz>
libffi/
PR libffi/109447
* src/powerpc/ffi_linux64.c (ffi_prep_args64): Update arg.f128
pointer.
(cherry picked from commit 043550bceea7881163bba5d8a0486bb100a05809)
^ permalink raw reply [flat|nested] 11+ messages in thread