[U-Boot] [PATCH] lib: zlib: update to 1.2.6

Wolfgang Denk wd at denx.de
Wed Mar 7 15:30:32 CET 2012


Dear Lei Wen,

In message <CALZhoSSzBhmZ_c79zKBQE7Z5YEtCKC_E-4Vgr35rmBLiV_LawQ at mail.gmail.com> you wrote:
>
> I miss add the zconf.h into the patch...
> V2 patch is attached...

Argh.  Please NEVER send patches as attachments.  Always send them
inline.  See http://www.denx.de/wiki/U-Boot/Patches

> As it copy from zlib home page, the improvement from 1.2.5 to 1.2.6
> contains following:
> 
> 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

This is a lot of changes / improvements for genral use, but which of
these are actually useful for U-Boot?

I. e. what exactly is the motivation to switch to a new version of the
code?  Do you want to fix any specific bugs, or improve performance,
or what?

What I see is that the code size grows by about 2 kB (measured on
ARM):

-> bloat-o-meter u-boot-before u-boot-after
add/remove: 23/2 grow/shrink: 2/5 up/down: 4523/-2496 (2027)
function                                     old     new   delta
static.lenfix                                  -    2048   +2048
inflateCopy                                    -     352    +352
updatewindow                                   -     308    +308
inflateSync                                    -     276    +276
inflateSetDictionary                           -     192    +192
static.adler32_combine_                        -     156    +156
inflateReset2                                  -     152    +152
inflateResetKeep                               -     148    +148
static.distfix                                 -     128    +128
inflatePrime                                   -     116    +116
inflateMark                                    -     104    +104
syncsearch                                     -      84     +84
zmemcmp                                        -      68     +68
inflateSyncPoint                               -      64     +64
inflateGetHeader                               -      64     +64
inflate_copyright                              -      47     +47
inflateUndermine                               -      44     +44
inflate                                     5764    5800     +36
zmemzero                                       -      28     +28
zmemcpy                                        -      28     +28
zError                                         -      24     +24
adler32_combine64                              -      20     +20
adler32_combine                                -      20     +20
zlibVersion                                    -      12     +12
zunzip                                       264     268      +4
inflateEnd                                   108     100      -8
inflateInit2_                                264     208     -56
inflate_table                               1492    1428     -64
inflateReset                                 128      48     -80
inflate_fast                                1480    1368    -112
distfix                                      128       -    -128
lenfix                                      2048       -   -2048


I wonder which benefits we get for this price we are paying?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"Probably the best operating system in the world  is  the  [operating
system] made for the PDP-11 by Bell Laboratories."
                                           - Ted Nelson, October 1977


More information about the U-Boot mailing list