-
Notifications
You must be signed in to change notification settings - Fork 12.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
liblzma compress/uncompress mismatch when built with llvm >=12 on FreeBSD powerpc64 (BE) #51056
Comments
Thanks for raising this bug. I've asked Chen Zheng, of IBM, to take a look at it. |
Thanks, Sam. Will work on this soon. |
reverts 42eaf4fe0adef3344adfd9fbccd49f325cb549ef on llvm12 |
Chen, Sam, on FreeBSD side I'm proposing temporarily revert[1] it in order to unbreak FreeBSD powerpc64. Is it safe to revert it? I tested the full system on powerpc64 only. Is something else relying on this change? |
That patch is not functionality right for some cases and is reverted in https://reviews.llvm.org/rG34badc409cc452575c538c4b6449546adc38f121 |
Thanks, Chen! Reverted on FreeBSD in-tree LLVM12 as well: https://reviews.freebsd.org/R10:f21fcae487026987f44154de981c03b69efbc945 |
So we only to need to cherry-pick this one patch to the release/13.x branch? |
I think we need to cherry-pick the revert patch to release/12.x and release/13.x |
Merged: b77c810 |
Extended Description
On FreeBSD 13/powerpc64 (BE, ELFv2 ABI), a xz (liblzma.so) compiled with llvm12 or later isn't able to uncompress files produced by other machines or downloaded from the Internet (data corruption).
It can uncompress files compressed by itself (the same library binary), but other machines won't recognize the .xz as well (data corruption).
Bisect points to this commit[1] as source of regression. Reverting it makes liblzma.so work correctly again, but it's not clear to me how it's interefering.
FreeBSD 13/powerpc64le and amd64 are not affected.
How to reproduce:
1 - install FreeBSD 13/powerpc64
2 - install llvm12 or latest devel (pkg install llvm12 llvm-devel)
3 - take source from http://git.tukaani.org/xz.git and compile branch v5.0 using clang12 or later as CC
4 - download an .xz from the internet and try to uncompress it
[1] 42eaf4f
The text was updated successfully, but these errors were encountered: