summaryrefslogtreecommitdiffstats
path: root/third_party/zlib
diff options
context:
space:
mode:
authorhbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-10 10:15:42 +0000
committerhbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-01-10 10:15:42 +0000
commitc6b22f715351f0ebe8abf51eca6d65f37fb1212c (patch)
tree5d4c1dfd2aa646b5d18e9589a1a18b7f6a0ada34 /third_party/zlib
parentcd78ec1787b09ca002cbb57ffb3892bc2f9d7ee9 (diff)
downloadchromium_src-c6b22f715351f0ebe8abf51eca6d65f37fb1212c.zip
chromium_src-c6b22f715351f0ebe8abf51eca6d65f37fb1212c.tar.gz
chromium_src-c6b22f715351f0ebe8abf51eca6d65f37fb1212c.tar.bz2
Fix conflicts in our function mangling.
This change changes zlib.h to prevent it from mangling some functions twice on x64. It also adds a 'google.patch' file, a diff file from the original zlib. BUG=30703 TEST=build Chromium on the "Chromium Linux Builder (valgrind)" bot. Review URL: http://codereview.chromium.org/8954009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117019 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'third_party/zlib')
-rw-r--r--third_party/zlib/README.chromium2
-rw-r--r--third_party/zlib/google.patch209
-rw-r--r--third_party/zlib/mozzconf.h30
-rw-r--r--third_party/zlib/zlib.h14
4 files changed, 231 insertions, 24 deletions
diff --git a/third_party/zlib/README.chromium b/third_party/zlib/README.chromium
index dbfd06a..9fc04d1 100644
--- a/third_party/zlib/README.chromium
+++ b/third_party/zlib/README.chromium
@@ -12,3 +12,5 @@ A few minor changes, all marked with "Google":
- Removed use of strerror for WinCE in gzio.c.
- Added 'int z_errno' global for WinCE, to which 'errno' is defined in zutil.h.
- Added 'mozzconf.h' to mangle the function names.
+- Added an #ifdef to prevent zlib.h from mangling its functions.
+The 'google.patch' file represents our changes from the original zlib-1.2.5.
diff --git a/third_party/zlib/google.patch b/third_party/zlib/google.patch
new file mode 100644
index 0000000..1c59bec
--- /dev/null
+++ b/third_party/zlib/google.patch
@@ -0,0 +1,209 @@
+diff -ru zlib-1.2.5/mozzconf.h zlib/mozzconf.h
+--- zlib-1.2.5/mozzconf.h 2011-12-15 18:10:49.000000000 +0800
++++ zlib/mozzconf.h 2011-12-16 16:08:00.000000000 +0800
+@@ -0,0 +1,168 @@
++/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
++/* ***** BEGIN LICENSE BLOCK *****
++ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
++ *
++ * The contents of this file are subject to the Mozilla Public License Version
++ * 1.1 (the "License"); you may not use this file except in compliance with
++ * the License. You may obtain a copy of the License at
++ * http://www.mozilla.org/MPL/
++ *
++ * Software distributed under the License is distributed on an "AS IS" basis,
++ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
++ * for the specific language governing rights and limitations under the
++ * License.
++ *
++ * The Original Code is the mozilla zlib configuration.
++ *
++ * The Initial Developer of the Original Code is IBM Corporation.
++ * Portions created by the Initial Developer are Copyright (C) 2004
++ * the Initial Developer. All Rights Reserved.
++ *
++ * Contributor(s):
++ *
++ * Alternatively, the contents of this file may be used under the terms of
++ * either of the GNU General Public License Version 2 or later (the "GPL"),
++ * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
++ * in which case the provisions of the GPL or the LGPL are applicable instead
++ * of those above. If you wish to allow use of your version of this file only
++ * under the terms of either the GPL or the LGPL, and not to allow others to
++ * use your version of this file under the terms of the MPL, indicate your
++ * decision by deleting the provisions above and replace them with the notice
++ * and other provisions required by the GPL or the LGPL. If you do not delete
++ * the provisions above, a recipient may use your version of this file under
++ * the terms of any one of the MPL, the GPL or the LGPL.
++ *
++ * ***** END LICENSE BLOCK ***** */
++
++#ifndef MOZZCONF_H
++#define MOZZCONF_H
++
++#if defined(XP_WIN) && defined(ZLIB_DLL) && !defined(MOZ_ENABLE_LIBXUL)
++#undef ZLIB_DLL
++#endif
++
++#ifdef HAVE_VISIBILITY_ATTRIBUTE
++#define ZEXTERN __attribute__((visibility ("default"))) extern
++#endif
++
++/* Exported Symbols */
++#define zlibVersion MOZ_Z_zlibVersion
++#define deflate MOZ_Z_deflate
++#define deflateEnd MOZ_Z_deflateEnd
++#define inflate MOZ_Z_inflate
++#define inflateEnd MOZ_Z_inflateEnd
++#define deflateSetDictionary MOZ_Z_deflateSetDictionary
++#define deflateCopy MOZ_Z_deflateCopy
++#define deflateReset MOZ_Z_deflateReset
++#define deflateParams MOZ_Z_deflateParams
++#define deflateBound MOZ_Z_deflateBound
++#define deflatePrime MOZ_Z_deflatePrime
++#define inflateSetDictionary MOZ_Z_inflateSetDictionary
++#define inflateSync MOZ_Z_inflateSync
++#define inflateCopy MOZ_Z_inflateCopy
++#define inflateReset MOZ_Z_inflateReset
++#define inflateBack MOZ_Z_inflateBack
++#define inflateBackEnd MOZ_Z_inflateBackEnd
++#define zlibCompileFlags MOZ_Z_zlibCompileFlags
++#define compress MOZ_Z_compress
++#define compress2 MOZ_Z_compress2
++#define compressBound MOZ_Z_compressBound
++#define uncompress MOZ_Z_uncompress
++#define gzopen MOZ_Z_gzopen
++#define gzdopen MOZ_Z_gzdopen
++#define gzsetparams MOZ_Z_gzsetparams
++#define gzread MOZ_Z_gzread
++#define gzwrite MOZ_Z_gzwrite
++#define gzprintf MOZ_Z_gzprintf
++#define gzputs MOZ_Z_gzputs
++#define gzgets MOZ_Z_gzgets
++#define gzputc MOZ_Z_gzputc
++#define gzgetc MOZ_Z_gzgetc
++#define gzungetc MOZ_Z_gzungetc
++#define gzflush MOZ_Z_gzflush
++#define gzseek MOZ_Z_gzseek
++#define gzrewind MOZ_Z_gzrewind
++#define gztell MOZ_Z_gztell
++#define gzeof MOZ_Z_gzeof
++#define gzclose MOZ_Z_gzclose
++#define gzerror MOZ_Z_gzerror
++#define gzclearerr MOZ_Z_gzclearerr
++#define adler32 MOZ_Z_adler32
++#define crc32 MOZ_Z_crc32
++#define deflateInit_ MOZ_Z_deflateInit_
++#define deflateInit2_ MOZ_Z_deflateInit2_
++#define inflateInit_ MOZ_Z_inflateInit_
++#define inflateInit2_ MOZ_Z_inflateInit2_
++#define inflateBackInit_ MOZ_Z_inflateBackInit_
++#define inflateSyncPoint MOZ_Z_inflateSyncPoint
++#define get_crc_table MOZ_Z_get_crc_table
++#define zError MOZ_Z_zError
++
++/* Extra global symbols */
++#define _dist_code MOZ_Z__dist_code
++#define _length_code MOZ_Z__length_code
++#define _tr_align MOZ_Z__tr_align
++#define _tr_flush_block MOZ_Z__tr_flush_block
++#define _tr_init MOZ_Z__tr_init
++#define _tr_stored_block MOZ_Z__tr_stored_block
++#define _tr_tally MOZ_Z__tr_tally
++#define deflate_copyright MOZ_Z_deflate_copyright
++#define inflate_copyright MOZ_Z_inflate_copyright
++#define inflate_fast MOZ_Z_inflate_fast
++#define inflate_table MOZ_Z_inflate_table
++#define z_errmsg MOZ_Z_z_errmsg
++#define zcalloc MOZ_Z_zcalloc
++#define zcfree MOZ_Z_zcfree
++#define alloc_func MOZ_Z_alloc_func
++#define free_func MOZ_Z_free_func
++#define in_func MOZ_Z_in_func
++#define out_func MOZ_Z_out_func
++
++/* New as of libpng-1.2.3 */
++#define adler32_combine MOZ_Z_adler32_combine
++#define crc32_combine MOZ_Z_crc32_combine
++#define deflateSetHeader MOZ_Z_deflateSetHeader
++#define deflateTune MOZ_Z_deflateTune
++#define gzdirect MOZ_Z_gzdirect
++#define inflatePrime MOZ_Z_inflatePrime
++#define inflateGetHeader MOZ_Z_inflateGetHeader
++
++/* New as of zlib 1.2.5 */
++#define gzoffset MOZ_Z_gzoffset
++#define gzopen64 MOZ_Z_gzopen64
++#define gzseek64 MOZ_Z_gzseek64
++#define gztell64 MOZ_Z_gztell64
++#define gzoffset64 MOZ_Z_gzoffset64
++#define adler32_combine64 MOZ_Z_adler32_combine64
++#define crc32_combine64 MOZ_Z_crc32_combine64
++#define gz_error MOZ_Z_gz_error
++#define gz_intmax MOZ_Z_gz_intmax
++#define gz_strwinerror MOZ_Z_gz_strwinerror
++#define gzbuffer MOZ_Z_gzbuffer
++#define gzclose_r MOZ_Z_gzclose_r
++#define gzclose_w MOZ_Z_gzclose_w
++#define inflateMark MOZ_Z_inflateMark
++#define inflateReset2 MOZ_Z_inflateReset2
++#define inflateUndermine MOZ_Z_inflateUndermine
++#define charf MOZ_Z_charf
++#define gzFile MOZ_Z_gzFile
++#define gz_header MOZ_Z_gz_header
++#define gz_headerp MOZ_Z_gz_headerp
++#define intf MOZ_Z_intf
++#define uInt MOZ_Z_uInt
++#define uIntf MOZ_Z_uIntf
++#define uLong MOZ_Z_uLong
++#define uLongf MOZ_Z_uLongf
++#define voidp MOZ_Z_voidp
++#define voidpc MOZ_Z_voidpc
++#define voidpf MOZ_Z_voidpf
++#define gz_header_s MOZ_Z_gz_header_s
++#define internal_state MOZ_Z_internal_state
++
++/* Mangle Byte types except on Mac. */
++#if !defined(__MACTYPES__)
++#define Byte MOZ_Z_Byte
++#define Bytef MOZ_Z_Bytef
++#endif
++
++#endif
+diff -ru zlib-1.2.5/zconf.h zlib/zconf.h
+--- zlib-1.2.5/zconf.h 2010-04-19 01:58:06.000000000 +0800
++++ zlib/zconf.h 2011-12-14 08:06:37.000000000 +0800
+@@ -8,6 +8,9 @@
+ #ifndef ZCONF_H
+ #define ZCONF_H
+
++/* This include does prefixing as below, but with an updated set of names */
++#include "mozzconf.h"
++
+ /*
+ * If you *really* need a unique prefix for all types and library functions,
+ * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
+diff -ru zlib-1.2.5/zlib.h zlib/zlib.h
+--- zlib-1.2.5/zlib.h 2010-04-20 12:12:48.000000000 +0800
++++ zlib/zlib.h 2011-12-16 16:08:48.000000000 +0800
+@@ -1572,12 +1572,14 @@
+ #endif
+
+ #if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
+-# define gzopen gzopen64
+-# define gzseek gzseek64
+-# define gztell gztell64
+-# define gzoffset gzoffset64
+-# define adler32_combine adler32_combine64
+-# define crc32_combine crc32_combine64
++# if !defined(MOZZCONF_H)
++# define gzopen gzopen64
++# define gzseek gzseek64
++# define gztell gztell64
++# define gzoffset gzoffset64
++# define adler32_combine adler32_combine64
++# define crc32_combine crc32_combine64
++# endif
+ # ifdef _LARGEFILE64_SOURCE
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
diff --git a/third_party/zlib/mozzconf.h b/third_party/zlib/mozzconf.h
index 9f6f56f..25c1d82 100644
--- a/third_party/zlib/mozzconf.h
+++ b/third_party/zlib/mozzconf.h
@@ -68,6 +68,7 @@
#define compress2 MOZ_Z_compress2
#define compressBound MOZ_Z_compressBound
#define uncompress MOZ_Z_uncompress
+#define gzopen MOZ_Z_gzopen
#define gzdopen MOZ_Z_gzdopen
#define gzsetparams MOZ_Z_gzsetparams
#define gzread MOZ_Z_gzread
@@ -79,7 +80,9 @@
#define gzgetc MOZ_Z_gzgetc
#define gzungetc MOZ_Z_gzungetc
#define gzflush MOZ_Z_gzflush
+#define gzseek MOZ_Z_gzseek
#define gzrewind MOZ_Z_gzrewind
+#define gztell MOZ_Z_gztell
#define gzeof MOZ_Z_gzeof
#define gzclose MOZ_Z_gzclose
#define gzerror MOZ_Z_gzerror
@@ -116,6 +119,8 @@
#define out_func MOZ_Z_out_func
/* New as of libpng-1.2.3 */
+#define adler32_combine MOZ_Z_adler32_combine
+#define crc32_combine MOZ_Z_crc32_combine
#define deflateSetHeader MOZ_Z_deflateSetHeader
#define deflateTune MOZ_Z_deflateTune
#define gzdirect MOZ_Z_gzdirect
@@ -123,6 +128,13 @@
#define inflateGetHeader MOZ_Z_inflateGetHeader
/* New as of zlib 1.2.5 */
+#define gzoffset MOZ_Z_gzoffset
+#define gzopen64 MOZ_Z_gzopen64
+#define gzseek64 MOZ_Z_gzseek64
+#define gztell64 MOZ_Z_gztell64
+#define gzoffset64 MOZ_Z_gzoffset64
+#define adler32_combine64 MOZ_Z_adler32_combine64
+#define crc32_combine64 MOZ_Z_crc32_combine64
#define gz_error MOZ_Z_gz_error
#define gz_intmax MOZ_Z_gz_intmax
#define gz_strwinerror MOZ_Z_gz_strwinerror
@@ -153,22 +165,4 @@
#define Bytef MOZ_Z_Bytef
#endif
-/* Mangle only 64-bit functions on platforms which support 64-bit files to avoid
- * conflicts with manglings in zlib.h. */
-#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
-#define gzopen64 MOZ_Z_gzopen64
-#define gzseek64 MOZ_Z_gzseek64
-#define gztell64 MOZ_Z_gztell64
-#define gzoffset64 MOZ_Z_gzoffset64
-#define adler32_combine64 MOZ_Z_adler32_combine64
-#define crc32_combine64 MOZ_Z_crc32_combine64
-#else
-#define gzopen MOZ_Z_gzopen
-#define gzseek MOZ_Z_gzseek
-#define gztell MOZ_Z_gztell
-#define gzoffset MOZ_Z_gzoffset
-#define adler32_combine MOZ_Z_adler32_combine
-#define crc32_combine MOZ_Z_crc32_combine
-#endif
-
#endif
diff --git a/third_party/zlib/zlib.h b/third_party/zlib/zlib.h
index bfbba83..4d54af9 100644
--- a/third_party/zlib/zlib.h
+++ b/third_party/zlib/zlib.h
@@ -1572,12 +1572,14 @@ ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits,
#endif
#if !defined(ZLIB_INTERNAL) && _FILE_OFFSET_BITS-0 == 64 && _LFS64_LARGEFILE-0
-# define gzopen gzopen64
-# define gzseek gzseek64
-# define gztell gztell64
-# define gzoffset gzoffset64
-# define adler32_combine adler32_combine64
-# define crc32_combine crc32_combine64
+# if !defined(MOZZCONF_H)
+# define gzopen gzopen64
+# define gzseek gzseek64
+# define gztell gztell64
+# define gzoffset gzoffset64
+# define adler32_combine adler32_combine64
+# define crc32_combine crc32_combine64
+# endif
# ifdef _LARGEFILE64_SOURCE
ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));