Age | Commit message (Collapse) | Author |
|
Ported:
- Remove deleted assembler code references.
- Remove redundant check in gz_look().
- Avoid undefined negation behavior if windowBits is INT_MIN.
- Provide missing function prototypes in CRC-32 code. [fredgan]
- Don't try to include unistd.h on Windows with LLVM.
- zlib 1.2.13
Bug: 1374743
Change-Id: I57542da8da09731669a6ddee5afad81808fa9432
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4006381
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Reviewed-by: Noel Gordon <noel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1067981}
NOKEYCHECK=True
GitOrigin-RevId: e2e230364bcf8fe55dde5dca8310da6906ae64ad
|
|
First patch* based on Dougall Johnson zlib research**.
The basic idea is to use a bigger root table to avoid a branch
misprediction while performing a lookup when the searched
Huffman code is actually located in a nested sub-table.
The increase of memory use in the structure inflate_state will be
1920 bytes (i.e. 1332 - 852 = 480 x sizeof(code) = 480 x 4) per active inflate context which should be fine given that even lower spec boards generally have CPUs with a L1 cache size of 32KB.
Performance gains are dependent on input entropy features plus architecture, but are a net positive on both x86 (Haswell: 5.1%), Cortex big.LITTLE.Medium (X1, A55, A76) on 32bit (6.3%, 1.44%, 5.7%) and 64bit (8.3%, 2.4%, 6.7%) plus M1 (7.6%).
* https://github.com/dougallj/zlib-dougallj/commits/main
** https://dougallj.wordpress.com/2022/08/20/
Bug: 1354990
Change-Id: I1f784bfaf9a8108f657e3c9753030482e5026366
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3888219
Reviewed-by: Chris Blume <cblume@chromium.org>
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1046251}
NOKEYCHECK=True
GitOrigin-RevId: b40b1f7a30b58aeb0d6e4906ae25c6e4734f3b1f
|
|
Ported:
- Change version number on develop branch to 1.2.12.1.
- Fix odd error in Visual C compiler preventing automatic promotion.
- Fix inflateBack to detect invalid input with distances too far.
- Have infback() deliver all of the available output up to any error.
- Fix a bug when getting a gzip header extra field with inflate().
- Fix extra field processing bug that dereferences NULL state->head.
- Fix some typos.
Bug: 1355103
Change-Id: I838b3f7c885a97d72e040e5a5224bc0aa58068fb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3853109
Reviewed-by: Hans Wennborg <hans@chromium.org>
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1039413}
NOKEYCHECK=True
GitOrigin-RevId: 29ee00aece42bd66b1a7196aa41275baad2dd512
|
|
The last two changes came from the 'develop' branch of canonical
zlib and should address some issues on 1.2.12 that are going to
be featured on the upcoming 1.2.12.x.
With this patch landing, Chromium's zlib will be 1.2.12 + fixes
(plus our optimizations).
Ported:
- Eliminate use of ULL constants.
- Fix crc32.c to compile local functions only if used.
- zlib 1.2.12
- Silence some warnings from Visual Studio C.
- Correct incorrect inputs provided to the CRC functions.
Bug: 1032721
Change-Id: I3903ae4de5f42427fae1cca8052ad300f5a07b30
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3611239
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Reviewed-by: Chris Blume <cblume@chromium.org>
Reviewed-by: Noel Gordon <noel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#997532}
NOKEYCHECK=True
GitOrigin-RevId: 9eb3d1c886a4dd302304241e74a75127e2069d17
|
|
Ported:
- Avoid adding empty gzip member after gzflush with Z_FINISH.
- Fix error in comment on the polynomial representation of a byte.
- Clarify gz* function interfaces, referring to parameter names.
- Change macro name in inflate.c to avoid collision in VxWorks.
- Replace black/white with allow/block. (theresa-m)
- Add fallthrough comments for gcc.
Bug: 1032721
Change-Id: Iddabef8450dca9dced3df58473a0ecb197796dc4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3611483
Reviewed-by: Noel Gordon <noel@chromium.org>
Reviewed-by: Chris Blume <cblume@chromium.org>
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#996983}
NOKEYCHECK=True
GitOrigin-RevId: c47a52f8f7950377f45f850cf66092a4a6033fa6
|
|
Ported:
- Don't bother computing check value after successful inflateSync()
Bug: 1032721
Change-Id: If96f53a341203df3b68e63d01136b5287269b62b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3574954
Reviewed-by: Noel Gordon <noel@chromium.org>
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Commit-Position: refs/heads/main@{#989673}
NOKEYCHECK=True
GitOrigin-RevId: 463fef05dafc702713d5001178cb1e47376739ff
|
|
Ported:
- Don't compute check value for raw inflate if asked to validate
- Handle case where inflateSync used when header never processed
Bug: 1032721
Change-Id: If83342fc0df3b9d2bcb0c19c42065c2b28fc3a17
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3564231
Reviewed-by: Noel Gordon <noel@chromium.org>
Commit-Queue: Noel Gordon <noel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#988214}
NOKEYCHECK=True
GitOrigin-RevId: d2b6c6251e529efc646e08886fa4ff52010be0ec
|
|
We use a different set of names in root and contrib directories for the
same purpose.
This patch consolidates the names.
BUG=764431
Change-Id: I346a6f9ab67423b97843346bab6b0c58f516ed1d
Reviewed-on: https://chromium-review.googlesource.com/914469
Commit-Queue: Chris Blume <cblume@chromium.org>
Reviewed-by: Noel Gordon <noel@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#536429}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 46f115f22260093ee7bc2a8764adf64d9c48a612
|
|
adler32 can be freely called like crc32, per the "zlib.h" docs
so move the x86 feature check there, which allows us to remove
x86_check_features() from zlib inflate. Note inflate() calls
adler32(0, Z_NULL, 0);
(once only) before using the zlib adler32() routine. A reading
from third_party/libpng png.c
2324: /* Now calculate the adler32 if not done already. */
2327: adler = adler32(0, NULL, 0);
2328: adler = adler32(adler, profile, length);
suggests they also conform to the "zlib.h" doc rules about use
of the adler32 routine.
Bug: 762564
Change-Id: Id84da0eb52bc10edb541a284eab9aef652ba2c72
Reviewed-on: https://chromium-review.googlesource.com/901043
Commit-Queue: Noel Gordon <noel@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#534964}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: c376937e3709ddef4b97621a58039a21b67faa6e
|
|
This reverts commit 35988c821c051a57e30c76f9fcd87b7b677bd9bd.
Reason for revert: broke build ('cpu-features.h' not found)
https://uberchromegw.corp.google.com/i/internal.client.clank/builders/x64-builder/builds/13697
Original change's description:
> Using ARMv8 CRC32 specific instruction
>
> CRC32 affects performance for both image decompression (PNG)
> as also in general browsing while accessing websites that serve
> content using compression (i.e. Content-Encoding: gzip).
>
> This patch implements an optimized CRC32 function using the
> dedicated instruction available in ARMv8. This instruction is available
> in new Android devices featuring an ARMv8 SoC, like Nexus 5x and
> Google Pixel.
>
> It should be between 6x (A53: 116ms X 22ms for a 4Kx4Kx4 buffer) to
> 10x faster (A72: 91ms x 9ms) than the C implementation currently used
> by zlib.
>
> PNG decoding performance gains should be around 5-9%.
>
> Finally it also introduces code to perform the ARM CPU features detection
> using getauxval()@Linux/CrOS or android_getCpuFeatures(). We pre-built
> and link the CRC32 instruction dependent code but will decide if to
> use it at run time.
>
> If the feature is not supported, we fallback to the C implementation.
>
> This approach allows to use the instruction in both 32bits and 64bits
> builds and works fine either in ARMv7 or ARMv8 processor. I tested the
> generated Chromium apk in both a ARMv7 (Nexus 4 and 6) and ARMv8 (Nexus 5x and
> Google Pixel).
>
> Change-Id: I069408ebc06c49a3c2be4ba3253319e025ee09d7
> Bug: 709716
> Reviewed-on: https://chromium-review.googlesource.com/612629
> Reviewed-by: Chris Blume <cblume@chromium.org>
> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#520377}
TBR=agl@chromium.org,noel@chromium.org,cavalcantii@chromium.org,cblume@chromium.org,mtklein@chromium.org,adenilson.cavalcanti@arm.com
Change-Id: Ief2c32df5c8a37635f937cd6a671f5574f5a53a3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 709716
Reviewed-on: https://chromium-review.googlesource.com/799930
Reviewed-by: Chris Blume <cblume@chromium.org>
Reviewed-by: Boris Sazonov <bsazonov@chromium.org>
Commit-Queue: Boris Sazonov <bsazonov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#520497}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: e7d9a4649bde6f047105d29f0026dd8c3d54143a
|
|
CRC32 affects performance for both image decompression (PNG)
as also in general browsing while accessing websites that serve
content using compression (i.e. Content-Encoding: gzip).
This patch implements an optimized CRC32 function using the
dedicated instruction available in ARMv8. This instruction is available
in new Android devices featuring an ARMv8 SoC, like Nexus 5x and
Google Pixel.
It should be between 6x (A53: 116ms X 22ms for a 4Kx4Kx4 buffer) to
10x faster (A72: 91ms x 9ms) than the C implementation currently used
by zlib.
PNG decoding performance gains should be around 5-9%.
Finally it also introduces code to perform the ARM CPU features detection
using getauxval()@Linux/CrOS or android_getCpuFeatures(). We pre-built
and link the CRC32 instruction dependent code but will decide if to
use it at run time.
If the feature is not supported, we fallback to the C implementation.
This approach allows to use the instruction in both 32bits and 64bits
builds and works fine either in ARMv7 or ARMv8 processor. I tested the
generated Chromium apk in both a ARMv7 (Nexus 4 and 6) and ARMv8 (Nexus 5x and
Google Pixel).
Change-Id: I069408ebc06c49a3c2be4ba3253319e025ee09d7
Bug: 709716
Reviewed-on: https://chromium-review.googlesource.com/612629
Reviewed-by: Chris Blume <cblume@chromium.org>
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#520377}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 35988c821c051a57e30c76f9fcd87b7b677bd9bd
|
|
Add SSSE3 implementation of the adler32 checksum, suitable for
both large workloads, and small workloads commonly seen during
PNG image decoding. Add a NEON implementation.
Speed is comparable to the serial adler32 computation but near
64 bytes of input data, the SIMD code paths begin to be faster
than the serial path: 3x faster at 256 bytes of input data, to
~8x faster for 1M of input data (~4x on ARMv8 NEON).
For the PNG 140 image corpus, PNG decoding speed is ~8% faster
on average on the desktop machines tested, and ~2% on an ARMv8
Pixel C Android (N) tablet, https://crbug.com/762564#c41
Update x86.{c,h} to runtime detect SSSE3 support and use it to
enable the adler32_simd code path and update inflate.c to call
x86_check_features(). Update the name mangler file names.h for
the new symbols added, add FIXME about simd.patch.
Ignore data alignment in the SSSE3 case since unaligned access
is no longer penalized on current generation Intel CPU. Use it
in the NEON case however to avoid the extra costs of unaligned
memory access on ARMv8/v7.
NEON credits: the v_s1/s2 vector component accumulate code was
provided by Adenilson Cavalcanti. The uint16 column vector sum
code is from libdeflate with corrections to process NMAX input
bytes which improves performance by 3% for large buffers.
Update BUILD.gn to put the code in its own source set, and add
it conditionally to the zlib library build rule. On ARM, build
the SIMD with max-speed config to produce the smallest code.
No change in behavior, covered by many existing tests.
Bug: 762564
Change-Id: I14a39940ae113b5a67ba70a99c3741e289b1796b
Reviewed-on: https://chromium-review.googlesource.com/660019
Commit-Queue: Chris Blume <cblume@chromium.org>
Reviewed-by: Adenilson Cavalcanti <cavalcantii@chromium.org>
Reviewed-by: Chris Blume <cblume@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#505447}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 09b784fd12f255a9da38107ac6e0386f4dde6d68
|
|
No need to call the Adler32 checksum function, just set
the struct field to the expected value.
Plus some cleanup in the README file (the idea is that this
file won't be touched for new patches).
Upstream bug: madler/zlib#245
Bug: 697481
Change-Id: Ic495c92c9ca1b5ab8a4d23a8ae29141f4617c091
Reviewed-on: https://chromium-review.googlesource.com/688501
Reviewed-by: Chris Blume <cblume@chromium.org>
Commit-Queue: Chris Blume <cblume@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#504897}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ee376c65abdd5afe787bfb63af9f2e82fdc35c2e
|
|
Zlib's inffast uses a handful of magic numbers. It would be easier to
read and maintain if these magic numbers were instead #defines.
NigelTao@ wrote this code to clean up the magic numbers in
https://chromium-review.googlesource.com/c/chromium/src/+/601694
Nigel gave me permission to make a separate pull request to separate out
just the magic number cleaning.
BUG=764431
Change-Id: I0a62e31e98d4f3afcc64bd096e62a4b4b175644b
Reviewed-on: https://chromium-review.googlesource.com/663424
Commit-Queue: Chris Blume <cblume@google.com>
Reviewed-by: Adenilson Cavalcanti <cavalcantii@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#502982}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 5d7c2b78db0e96c769dee8d4ed3a9aeac8ef21d5
|
|
This reverts commit f4b484415281f09d0bbc0880f5d41dbdde96c209.
Reason for revert: need to revert previous CL, which this depends on (because it added contrib/arm/inflate.c).
Original change's description:
> Zlib patch: prevent uninitialized use of state->check
>
> No need to call the Adler32 checksum function, just set the
> struct field to the expected value.
>
> Upstream bug: madler/zlib#245
>
> Bug: chromium:697481
> Change-Id: Ib972cc2507c8e7ca0b0b48464db33880ef960fb8
> Reviewed-on: https://chromium-review.googlesource.com/644505
> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#498998}
TBR=scroggo@chromium.org,agl@chromium.org,cavalcantii@chromium.org,npm@chromium.org,cblume@chromium.org,mtklein@chromium.org,adenilson.cavalcanti@arm.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: chromium:697481
Change-Id: I12c6ca6867d1d7e97c9f372f2d592ed75d51f093
Reviewed-on: https://chromium-review.googlesource.com/669480
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#502449}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 4e96bed9f68c0d6ae106c1042a3041eafcf59b9a
|
|
No need to call the Adler32 checksum function, just set the
struct field to the expected value.
Upstream bug: madler/zlib#245
Bug: chromium:697481
Change-Id: Ib972cc2507c8e7ca0b0b48464db33880ef960fb8
Reviewed-on: https://chromium-review.googlesource.com/644505
Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#498998}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f4b484415281f09d0bbc0880f5d41dbdde96c209
|
|
This CL fixes a security bug in zlib. It was reported upstream long ago
and the testcase was shared upstream but it's yet unsolved. As a fix,
state->check is set to the same value as the adler32 of an empty string.
Upstream bug: https://github.com/madler/zlib/issues/245
Bug: chromium:697481
Change-Id: I916c33edd37a9d2957426d8428bd20d05294dafe
Reviewed-on: https://chromium-review.googlesource.com/601193
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Adam Langley <agl@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#492687}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 23af53e80e562441db3d061816468eeda17025a6
|
|
Reapply and regenerate all local patches to upstream zlib 1.2.11
Explicitly specify 9 as the minimum windowBits value (representing a
512-byte window) during compression in net/websockets even when 8
(representing 256) is received. This was previously silently done during
compression. Because of how zlib's deflate is implemented, when
windowBits is 9, it will produce a stream that can be decompressed with
a 250-byte or larger window.
Changes in 1.2.9 (31 Dec 2016)
- Fix contrib/minizip to permit unzipping with desktop API [Zouzou]
- Improve contrib/blast to return unused bytes
- Assure that gzoffset() is correct when appending
- Improve compress() and uncompress() to support large lengths
- Fix bug in test/example.c where error code not saved
- Remedy Coverity warning [Randers-Pehrson]
- Improve speed of gzprintf() in transparent mode
- Fix inflateInit2() bug when windowBits is 16 or 32
- Change DEBUG macro to ZLIB_DEBUG
- Avoid uninitialized access by gzclose_w()
- Allow building zlib outside of the source directory
- Fix bug that accepted invalid zlib header when windowBits is zero
- Fix gzseek() problem on MinGW due to buggy _lseeki64 there
- Loop on write() calls in gzwrite.c in case of non-blocking I/O
- Add --warn (-w) option to ./configure for more compiler warnings
- Reject a window size of 256 bytes if not using the zlib wrapper
- Fix bug when level 0 used with Z_HUFFMAN or Z_RLE
- Add --debug (-d) option to ./configure to define ZLIB_DEBUG
- Fix bugs in creating a very large gzip header
- Add uncompress2() function, which returns the input size used
- Assure that deflateParams() will not switch functions mid-block
- Dramatically speed up deflation for level 0 (storing)
- Add gzfread(), duplicating the interface of fread()
- Add gzfwrite(), duplicating the interface of fwrite()
- Add deflateGetDictionary() function
- Use snprintf() for later versions of Microsoft C
- Fix *Init macros to use z_ prefix when requested
- Replace as400 with os400 for OS/400 support [Monnerat]
- Add crc32_z() and adler32_z() functions with size_t lengths
- Update Visual Studio project files [AraHaan]
Changes in 1.2.10 (2 Jan 2017)
- Avoid warnings on snprintf() return value
- Fix bug in deflate_stored() for zero-length input
- Fix bug in gzwrite.c that produced corrupt gzip files
- Remove files to be installed before copying them in Makefile.in
- Add warnings when compiling with assembler code
Changes in 1.2.11 (15 Jan 2017)
- Fix deflate stored bug when pulling last block from window
- Permit immediate deflateParams changes before any deflate input
BUG=691074, 691075
Review-Url: https://codereview.chromium.org/2690623003
Cr-Original-Commit-Position: refs/heads/master@{#450585}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 6d9a6251dfe87183075dc16cfa134e41dc4cee0d
|
|
merge the latest open source zlib into chromium external projects
Version 1.2.8 fixes a very rare bug in decompression. All users are encouraged to upgrade immediately. Version 1.2.8 also has these improvements:
- Add new inflateGetDictionary() function
- Fix bug where gzopen() immediately followed by gzclose() would write an empty file instead of an empty gzip stream.
- Fix bug in gzclose() when gzwrite() runs out of memory Version 1.2.7 has many portability improvements over 1.2.6, and has these enhancements:
- Fix bug in gzclose_w() when gzwrite() fails to allocate memory
- Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
- Add gzopen_w() in Windows for wide character path names
- Fix type mismatch between get_crc_table() and crc_table Version 1.2.6 has many changes over 1.2.5, including these improvements:
- gzread() can now read a file that is being written concurrently
- gzgetc() is now a macro for increased speed
- Added a 'T' option to gzopen() for transparent writing (no compression)
- Added deflatePending() to return the amount of pending output
- Allow deflateSetDictionary() and inflateSetDictionary() at any time in raw mode
- deflatePrime() can now insert bits in the middle of the stream
- ./configure now creates a configure.log file with all of the results
- Added a ./configure --solo option to compile zlib with no dependency on any libraries
- Fixed a problem with large file support macros
- Fixed a bug in contrib/puff
- Many portability improvements
BUG=610615 R=gavinp@chromium.org
Review-Url: https://codereview.chromium.org/2084863002
Cr-Original-Commit-Position: refs/heads/master@{#401538}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: ca1c569cff20aa43a42816791744d847c7d788de
|
|
https://codereview.chromium.org/1955383002/ )
Reason for revert:
Broke the Windows Debug GPU FYI builder:
https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder%20%28dbg%29/builds/41421
fx_zlib.gzlib.obj : error LNK2005: _gzopen_w already defined in zlib.gzlib.obj
initial\chrome.dll : fatal error LNK1169: one or more multiply defined symbols found
Possibly because they use shared components with a GYP build.
Original issue's description:
> Update Zlib to version 1.2.8
>
> merge the latest open source zlib into chromium external projects
>
> Version 1.2.8 fixes a very rare bug in decompression. All users are encouraged to upgrade immediately. Version 1.2.8 also has these improvements:
> - Add new inflateGetDictionary() function
> - Fix bug where gzopen() immediately followed by gzclose() would write an empty file instead of an empty gzip stream.
> - Fix bug in gzclose() when gzwrite() runs out of memory
> Version 1.2.7 has many portability improvements over 1.2.6, and has these enhancements:
> - Fix bug in gzclose_w() when gzwrite() fails to allocate memory
> - Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
> - Add gzopen_w() in Windows for wide character path names
> - Fix type mismatch between get_crc_table() and crc_table
> Version 1.2.6 has many changes over 1.2.5, including these improvements:
> - gzread() can now read a file that is being written concurrently
> - gzgetc() is now a macro for increased speed
> - Added a 'T' option to gzopen() for transparent writing (no compression)
> - Added deflatePending() to return the amount of pending output
> - Allow deflateSetDictionary() and inflateSetDictionary() at any time in raw mode
> - deflatePrime() can now insert bits in the middle of the stream
> - ./configure now creates a configure.log file with all of the results
> - Added a ./configure --solo option to compile zlib with no dependency on any libraries
> - Fixed a problem with large file support macros
> - Fixed a bug in contrib/puff
> - Many portability improvements
>
> BUG=610615
> R=agl@chromium.org
> R=gavinp@chromium.org
>
> Committed: https://crrev.com/a50849ae9ba1b2fad47905db521463b3bf085883
> Cr-Commit-Position: refs/heads/master@{#400647}
TBR=agl@chromium.org,gavinp@chromium.org,khasim.mohammed@linaro.org,jiadong.zhu@linaro.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=610615
Review-Url: https://codereview.chromium.org/2079313002
Cr-Original-Commit-Position: refs/heads/master@{#400670}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 43770253ccc0425c4edde966e56b3e68955cc4d3
|
|
merge the latest open source zlib into chromium external projects
Version 1.2.8 fixes a very rare bug in decompression. All users are encouraged to upgrade immediately. Version 1.2.8 also has these improvements:
- Add new inflateGetDictionary() function
- Fix bug where gzopen() immediately followed by gzclose() would write an empty file instead of an empty gzip stream.
- Fix bug in gzclose() when gzwrite() runs out of memory
Version 1.2.7 has many portability improvements over 1.2.6, and has these enhancements:
- Fix bug in gzclose_w() when gzwrite() fails to allocate memory
- Add "x" (O_EXCL) and "e" (O_CLOEXEC) modes support to gzopen()
- Add gzopen_w() in Windows for wide character path names
- Fix type mismatch between get_crc_table() and crc_table
Version 1.2.6 has many changes over 1.2.5, including these improvements:
- gzread() can now read a file that is being written concurrently
- gzgetc() is now a macro for increased speed
- Added a 'T' option to gzopen() for transparent writing (no compression)
- Added deflatePending() to return the amount of pending output
- Allow deflateSetDictionary() and inflateSetDictionary() at any time in raw mode
- deflatePrime() can now insert bits in the middle of the stream
- ./configure now creates a configure.log file with all of the results
- Added a ./configure --solo option to compile zlib with no dependency on any libraries
- Fixed a problem with large file support macros
- Fixed a bug in contrib/puff
- Many portability improvements
BUG=610615
R=agl@chromium.org
R=gavinp@chromium.org
Review-Url: https://codereview.chromium.org/1955383002
Cr-Original-Commit-Position: refs/heads/master@{#400647}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: a50849ae9ba1b2fad47905db521463b3bf085883
|
|
This change applies upstream patches from 1.2.3 to 1.2.5.
BUG=30704,39219
TEST=build and run Chrome without any valgrind errors.
Review URL: http://codereview.chromium.org/8806004
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f159d38cb10c746d54e1f380c94878dbeb935b01
|
|
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 584cd5cbd7be997400ccb8db24ae5410b0b88117
|