diff options
author | hbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-10 10:15:42 +0000 |
---|---|---|
committer | hbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-01-10 10:15:42 +0000 |
commit | c6b22f715351f0ebe8abf51eca6d65f37fb1212c (patch) | |
tree | 5d4c1dfd2aa646b5d18e9589a1a18b7f6a0ada34 /third_party/zlib | |
parent | cd78ec1787b09ca002cbb57ffb3892bc2f9d7ee9 (diff) | |
download | chromium_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.chromium | 2 | ||||
-rw-r--r-- | third_party/zlib/google.patch | 209 | ||||
-rw-r--r-- | third_party/zlib/mozzconf.h | 30 | ||||
-rw-r--r-- | third_party/zlib/zlib.h | 14 |
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)); |