0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-24 20:29:23 +01:00
nodejs/deps/zlib/patches
..
0000-build.patch
0001-simd.patch
0002-uninitializedcheck.patch
0003-uninitializedjump.patch
0004-fix-uwp.patch
0005-infcover-gtest.patch
0006-fix-check_match.patch
0007-zero-init-deflate-window.patch
0008-minizip-zip-unzip-tools.patch
0009-infcover-oob.patch
0010-cmake-enable-simd.patch
0011-avx512.patch
0012-lfs-open64.patch
0013-cpu-feature-detection-for-arm.patch
0014-minizip-unzip-with-incorrect-size.patch
0015-minizip-unzip-enable-decryption.patch
0016-minizip-parse-unicode-path-extra-field.patch
README

== Patches applied on top of zlib ==

 - 0000-build.patch: changes from the upstream version, mostly related to the
   build.
 - 0001-simd.patch: integrate Intel SIMD optimizations from
   https://github.com/jtkukunas/zlib/
 - 0002-uninitializedcheck.patch: prevent uninitialized use of state->check

== Procedure to create a patch file ==

  Assuming you are working in a new feature branch:
 - git format-patch master --stdout > foo.patch # where naming follows a growing
                                                # number plus patch description.
 - git add foo.patch
 - git commit -a -m "Local patch."
 - git rebase -i HEAD~2 # Squashing the second commit

  As patches created in this way will feature a ChangeLog, there is no longer
the need to append this file with a description of what the patch does. This
should help to solve frequent conflicts in pending new patches on
Chromium's zlib.

  The plan for the near future is to better insulate the platform specific
changes to ease update adoption with new releases of zlib. This insulation
happens by making changes inside contrib/ rather than the root directory
(where conflicts can happen).

  If a change modifies enough things inside the root directory that the
intention is not immediately clear, generate a .patch file to go with your
change. If the change's modifications in the root directory are small, like:

#ifdef FEATURE_FLAG
use_special_feature();
#elif
use_default_behavior();
#endif

  then the intent is clear and a .patch file doesn't need to be generated (since
it would not provide much value).

  Ideally local changes should have a merge request featured in either:
 - canonical zlib: https://github.com/madler/zlib/
 - zlib-ng: https://github.com/Dead2/zlib-ng