Age | Commit message (Collapse) | Author |
|
This is enabled at compile time by defining XZ_DEC_ANY_CHECK.
If the Check ID is not supported, xz_dec_run() will return
XZ_UNSUPPORTED_CHECK. In multi-call mode, decoding can be
then continued normally. In single-call mode, decoding
cannot be continued, thus this feature is useful only
in multi-call mode.
|
|
Code that used
#define XZ_INTERNAL_CRC32
will now need to use:
#define XZ_INTERNAL_CRC32 1
This is to make it a little bit easier to use external CRC32
implementation outside the Linux kernel by using
#define XZ_INTERNAL_CRC32 0
and then providing xz_crc32() e.g. via xz_config.h.
|
|
Now xz_dec_bcj.c can be compiled even when no BCJ filters
are enabled (but only if the compiler supports files that
don't export any symbols). It also allows #including it
unconditionally in decompress_unxz.c.
|
|
Thanks to Denys Vlasenko.
|
|
correctly for initramfs decompression.
|
|
If the input file has BCJ filter and the output buffer
is too small in single-call mode, the LZMA2 decoder went
into an infinite loop. The actual bug was in the BCJ
decoder though, which called the LZMA2 decoder twice
when the output buffer was too small.
|
|
Linux 2.6.31-rc8 doesn't have COMPR_IOBUF_SIZE.
|
|
It breaks existing boot code. Hopefully Linux will have
basic boot time utility functions unified across archs
some day.
|
|
|
|
Suggested by Thorsten Glaser.
|
|
used for kernel, initramfs, and initrd decompression.
Docs for that API have been sent upstream, so the docs
aren't repeated in decompress_unxz.c.
|
|
|
|
in early boot code in the Linux kernel. Thanks to Alain Knaff
for pointing this out.
It's possible that the compiler already avoided divide
instructions, but since there wasn't much to change,
it was simplest to change the code to be sure.
|
|
and initramfs decompression.
Linux 2.6.30 will have bzip2 and lzma support. This commit
adds a wrapper to convert the native XZ decompressor API to
the decompressor API that is used for kernel and initramfs
decompression in 2.6.30.
|
|
external linkage. This is needed to support marking those
functions as static in some situations in the Linux kernel.
XZ_EXTERN may be used for dllimport/dllexport too on some
other operating systems.
|
|
the code slightly in xz_dec_stream.c.
|
|
|
|
|
|
|
|
This makes it possible to use uint32_t as vli_type.
Doing so risks having some integer overflows unless
the caller can ensure that the total amounts of input
and output will stay below 256 MiB.
|
|
|
|
such a check isn't done in xz_dec_run() anyway. (It's
still good to leave the check in xz_dec_end().)
|
|
handling in xz_dec_init().
|
|
|
|
|
|
|
|
|
|
xz_config.h, and generally clean up xz_private.h a little.
Use get_unaligned_le32 and other macros provided by Linux
in xz_dec_stream.c and xz_dec_bcj.c.
|
|
|
|
|
|
|
|
|
|
|