Test fails on Power with GCC 10.3.0 #596
Labels
No labels
announcement
bug
build
CI
dependencies
documentation
duplicate
enhancement
experience feedback
feature request
github_actions
help wanted
install
invalid
Long-term
optimization
portability
question
target-specific
test issue
wontfix
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
gh-Cyan4973/xxHash#596
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
On Power8/Power9 (ppc64le) I see the tests fail when building with GCC 10.3.0:
The failure is always the same.
If I disable strict aliasing with
-fno-strict-aliasingall tests pass.I see there was a pull request a while back from @easyaspi314 to fix some VSX issues: https://github.com/Cyan4973/xxHash/pull/433
But it was never merged in any form as far as I can see.
If I take the latter two commits from that pull request:
https://github.com/Cyan4973/xxHash/pull/433/commits/2e9033d06d98fb321f42f633189a4a53f22318f5
https://github.com/Cyan4973/xxHash/pull/433/commits/cf1988f2faa82bb99a44a998e67b0d74b93b0d24
And apply them on HEAD (
227fd61077), then the tests pass again.I have also observed rsync failing to transfer files to Power machines when using xxh128, if I rebuild libxxhash.so using the above patches and LD_PRELOAD it then rsync works again.
Should I submit a pull request with those VSX fixes rebased onto HEAD? I could test it on Power8/Power9 big and little endian, with various compilers.
Hi @mpe, thanks for the report.
I've confirmed your issue with QEMU (
qemu-ppc64le) andgcc-10cross compiler. Here're some notes about this issue:gcc-10or greater.gcc-9or earlier version don't cause this issue.I think it'd be great if you can rebase and send pull request with these commits.
After that, I'd like to send another PR for test script which adds QEMU test with
gcc-10for ppc64.Setup QEMU and GCC cross compiler
Test with gcc-10 (fail)
Test with gcc-9 (pass)