[Zlib-devel] zlib1.dll version 1.2.8

Jan Nijtmans nijtmans at users.sourceforge.net
Tue May 14 05:38:10 EDT 2013


2013/5/13  Glenn:
> I uploaded it to the libpng distribution sites at
> ftp://ftp.simplesystems.org/pub/png/src/zlib
>
> and
>
> http://libpng.sf.net/index.html
> in the same "zlib/1.2.8" directory where the sources already
> reside.

Thanks! I made an AMD64 version available as well:
    <https://dl.dropboxusercontent.com/u/69449580/zlib128-amd64-dll.zip>
However, before this can be made the eventual 'official' AMD64
version (assuming there eventually will be agreement on doing
that....), there is still some work to do. Please read on.

The zlib1.dll in the above zip file is built as follows:
    make -f win32/Makefile.gcc PREFIX=x86_64-w64-mingw32- LOC="-mms-bitfields"
But the i686 zlib1.dll uses assembler optimizations, which
should be in the AMD64 build as well. Therefore I tried the
following alternatives:
    Alternative 1 (use gvmat64.S)
      x86_64-w64-mingw32-gcc -c -DASMV -DNO_UNDERLINE
contrib/gcc_gvmat64/gvmat64.S
      make -f win32/Makefile.gcc PREFIX=x86_64-w64-mingw32-
LOC="-mms-bitfields -DASMV" OBJA="gvmat64.o"
    Alternative 2 (use amd64-match.S)
      x86_64-w64-mingw32-gcc -c -DASMV -DNO_UNDERLINE
contrib/amd64/amd64-match.S
      make -f win32/Makefile.gcc PREFIX=x86_64-w64-mingw32-
LOC="-mms-bitfields -DASMV" OBJA="amd64-match.o"
    Alternative 3 (use inffas86.c)
      x86_64-w64-mingw32-gcc -c -DASMINF -I. -O3 contrib/inflate86/inffas86.c
      make -f win32/Makefile.gcc PREFIX=x86_64-w64-mingw32-
LOC="-mms-bitfields -DASMINF" OBJA="inffas86.o"

None of those alternatives work, although they all compile fine!
example_d.exe either crashes, either gives "uncompress error: -3".

Is anyone aware of the those problems with the AMD64 optimized
versions? Is this problem the reason there is no official AMD64
zlib1.dll yet? Or is there another reason? I didn't go deeper
yet in investigating this problem.

Regards,
         Jan Nijtmans




More information about the Zlib-devel mailing list