Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
liblzma: fix movzw compatibility in range_decoder.h, close tukaani-pr…
…oject#121. Support for instruction "movzw" without suffix in "GNU as" was added in commit [1] and stabilized in binutils 2.27, released in August 2016. Earlier systems don't accept this instruction without a suffix, making range_decoder.h's inline assembly unable to build on old systems such as Ubuntu 16.04, creating error messages like: lzma_decoder.c: Assembler messages: lzma_decoder.c:371: Error: no such instruction: `movzw 2(%r11),%esi' lzma_decoder.c:373: Error: no such instruction: `movzw 4(%r11),%edi' lzma_decoder.c:388: Error: no such instruction: `movzw 6(%r11),%edx' lzma_decoder.c:398: Error: no such instruction: `movzw (%r11,%r14,4),%esi' This has been reported by at least 3 different users. Since xz and liblzma are base system tools and are often required in system upgrades themselves, compatibility with old systems shall be kept. This commit changes "movzw" to "movzwl" for compatibility. [1] https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=c07315e0c610e0e3317b4c02266f81793df253d2 Suggested-By: Lasse Collin <[email protected]> Tested-By: Yifeng Li <[email protected]> Signed-off-by: Yifeng Li <[email protected]>
- Loading branch information