Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
liblzma: Fix x86-64 movzw compatibility in range_decoder.h
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' Change "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]> Fixes: 3182a33 Fixes: #121 Closes: #136
- Loading branch information