]> git.kaiwu.me - haproxy.git/commit
IMPORT: xz: import the xz-embedded decoder
authorOlivier Houchard <ohouchard@haproxy.com>
Tue, 15 Sep 2026 14:04:29 +0000 (16:04 +0200)
committerOlivier Houchard <cognet@ci0.org>
Thu, 1 Oct 2026 15:06:31 +0000 (17:06 +0200)
commit50f0328039f2a81a1b8044d43cb75e2036eb1bd1
treef5f4a3fdf631f2e8bf7650132338d5744ab3c82f
parent0915bfbc1f8fd1a40e70dfa6292f517d23844ab1
IMPORT: xz: import the xz-embedded decoder

Import the .xz decoder from xz-embedded v2024-12-30 (0BSD). Only what is
needed for a plain LZMA2 stream is taken: the stream and LZMA2 decoders and
the two check modules; BCJ filters, SHA-256 and the kernel glue are left
out. The Makefile enables CRC64, the integrity check "xz" uses by default,
and links the decoder only when the compiler produces ELF objects, since
its only user in sym.c is not compiled for another object format.

Files are imported verbatim for later resyncing: C files in src/, headers
in include/import/. As the C files include their private headers quoted,
src/ carries small wrappers including the real ones, as src/cebtree-prv.h
does. include/import/xz_config.h maps the few kernel calls onto malloc()
and string functions.
13 files changed:
Makefile
include/import/xz.h [new file with mode: 0644]
include/import/xz_config.h [new file with mode: 0644]
include/import/xz_lzma2.h [new file with mode: 0644]
include/import/xz_private.h [new file with mode: 0644]
include/import/xz_stream.h [new file with mode: 0644]
src/xz_crc32.c [new file with mode: 0644]
src/xz_crc64.c [new file with mode: 0644]
src/xz_dec_lzma2.c [new file with mode: 0644]
src/xz_dec_stream.c [new file with mode: 0644]
src/xz_lzma2.h [new file with mode: 0644]
src/xz_private.h [new file with mode: 0644]
src/xz_stream.h [new file with mode: 0644]