diff options
Diffstat (limited to 'moz/patches')
-rw-r--r-- | moz/patches/arm_build_fix.patch | 189 | ||||
-rw-r--r-- | moz/patches/brokenmakefile.patch | 13 | ||||
-rw-r--r-- | moz/patches/consecutive_ldap_queries.patch | 13 | ||||
-rw-r--r-- | moz/patches/cygwin_paths_in_ldap_sdk.patch | 12 | ||||
-rw-r--r-- | moz/patches/dtoa.patch | 237 | ||||
-rwxr-xr-x | moz/patches/embed_manifest.patch | 142 | ||||
-rw-r--r-- | moz/patches/index.txt | 65 | ||||
-rw-r--r-- | moz/patches/link_fontconfig.patch | 11 | ||||
-rw-r--r-- | moz/patches/no_core_abspath_in_nss.patch | 52 | ||||
-rw-r--r-- | moz/patches/respect_disable_pango.patch | 54 | ||||
-rw-r--r-- | moz/patches/wchart_on_msvc8.patch | 20 |
11 files changed, 808 insertions, 0 deletions
diff --git a/moz/patches/arm_build_fix.patch b/moz/patches/arm_build_fix.patch new file mode 100644 index 000000000000..79368e5fe6db --- /dev/null +++ b/moz/patches/arm_build_fix.patch @@ -0,0 +1,189 @@ +--- misc/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2010-01-29 08:39:01.000000000 +0000 ++++ misc/build/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm.cpp 2010-01-29 08:41:01.000000000 +0000 +@@ -44,8 +44,21 @@ + #error "This code is for Linux ARM only. Please check if it works for you, too.\nDepends strongly on gcc behaviour." + #endif + ++#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4)) ++/* This tells gcc3.4+ not to optimize away symbols. ++ * * @see http://gcc.gnu.org/gcc-3.4/changes.html ++ * */ ++#define DONT_DROP_OR_WARN __attribute__((used)) ++#else ++/* This tells older gccs not to warn about unused vairables. ++ * * @see http://docs.freebsd.org/info/gcc/gcc.info.Variable_Attributes.html ++ * */ ++#define DONT_DROP_OR_WARN __attribute__((unused)) ++#endif ++ + /* Specify explicitly a symbol for this function, don't try to guess the c++ mangled symbol. */ +-static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch"); ++static nsresult PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) asm("_PrepareAndDispatch") ++DONT_DROP_OR_WARN; + + static nsresult + PrepareAndDispatch(nsXPTCStubBase* self, uint32 methodIndex, PRUint32* args) +--- misc/mozilla/security/nss/cmd/shlibsign/Makefile 2010-02-05 13:13:56.000000000 +0000 ++++ misc/build/mozilla/security/nss/cmd/shlibsign/Makefile 2010-02-05 13:14:16.000000000 +0000 +@@ -124,5 +124,5 @@ + endif + endif + +-libs install :: $(CHECKLOC) ++libs install :: + +--- misc/mozilla/security/manager/Makefile.in 2010-02-05 13:27:25.000000000 +0000 ++++ misc/build/mozilla/security/manager/Makefile.in 2010-02-05 13:28:00.000000000 +0000 +@@ -53,7 +53,6 @@ + SMIME3_LIB \ + SSL3_LIB \ + SOFTOKEN3_LIB \ +- SOFTOKEN3_CHK \ + LOADABLE_ROOT_MODULE \ + HAVE_FREEBL_LIBS \ + HAVE_FREEBL_LIBS_32 \ +@@ -68,7 +67,6 @@ + SMIME3_LIB = $(DLL_PREFIX)smime3$(DLL_SUFFIX) + SSL3_LIB = $(DLL_PREFIX)ssl3$(DLL_SUFFIX) + SOFTOKEN3_LIB = $(DLL_PREFIX)softokn3$(DLL_SUFFIX) +-SOFTOKEN3_CHK = $(DLL_PREFIX)softokn3.chk + + # Default + HAVE_FREEBL_LIBS = 1 +@@ -99,23 +97,17 @@ + + ifdef HAVE_FREEBL_LIBS + FREEBL_LIB = $(DLL_PREFIX)freebl3$(DLL_SUFFIX) +-FREEBL_CHK = $(DLL_PREFIX)freebl3.chk + endif + ifdef HAVE_FREEBL_LIBS_32 + FREEBL_32INT_LIB = libfreebl_32int_3$(DLL_SUFFIX) +-FREEBL_32INT_CHK = libfreebl_32int_3.chk + FREEBL_32FPU_LIB = libfreebl_32fpu_3$(DLL_SUFFIX) +-FREEBL_32FPU_CHK = libfreebl_32fpu_3.chk + endif + ifdef HAVE_FREEBL_LIBS_32INT64 + FREEBL_32INT64_LIB = libfreebl_32int64_3$(DLL_SUFFIX) +-FREEBL_32INT64_CHK = libfreebl_32int64_3.chk + endif + ifdef HAVE_FREEBL_LIBS_64 + FREEBL_64INT_LIB = libfreebl_64int_3$(DLL_SUFFIX) +-FREEBL_64INT_CHK = libfreebl_64int_3.chk + FREEBL_64FPU_LIB = libfreebl_64fpu_3$(DLL_SUFFIX) +-FREEBL_64FPU_CHK = libfreebl_64fpu_3.chk + endif + + ABS_DIST := $(shell cd $(DIST) && pwd) +@@ -210,7 +202,6 @@ + OS_ARCH="$(OS_ARCH)" \ + CPU_ARCH="$(TARGET_CPU)" \ + $(NULL) +-SKIP_CHK=1 + endif + SUBMAKEFILES = boot/Makefile ssl/Makefile pki/Makefile locales/Makefile + +@@ -223,10 +214,6 @@ + ifndef MOZ_NATIVE_NSS + $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean +-ifndef SKIP_CHK +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean +-endif + touch $@ + endif + +@@ -262,43 +249,22 @@ + # In NSS 3.11.8-3.11.9, lib/ssl/derive.c includes cmd/lib/secutil.h. + $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) export + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) DIRS="util base dev pki pki1 certdb certhigh pk11wrap cryptohi nss ssl pkcs12 pkcs7 smime crmf jar ckfw ckfw/builtins" +-ifndef SKIP_CHK +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DIST)/bin +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DIST)/bin + ifdef HAVE_FREEBL_LIBS +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_LIB) $(DIST)/bin + endif + ifdef HAVE_FREEBL_LIBS_32 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT_CHK) $(DIST)/bin +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32FPU_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32FPU_LIB) $(DIST)/bin + endif + ifdef HAVE_FREEBL_LIBS_32INT64 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT64_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT64_LIB) $(DIST)/bin + endif + ifdef HAVE_FREEBL_LIBS_64 +-ifndef SKIP_CHK +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_64INT_CHK) $(DIST)/bin +- $(INSTALL) -m 644 $(DIST)/lib/$(FREEBL_64FPU_CHK) $(DIST)/bin +-endif + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DIST)/bin + $(INSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DIST)/bin + endif +@@ -313,38 +279,21 @@ + install:: + ifndef MOZ_NATIVE_NSS + $(SYSINSTALL) -m 755 $(DIST)/lib/$(LOADABLE_ROOT_MODULE) $(DESTDIR)$(mozappdir) +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(SOFTOKEN3_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(SOFTOKEN3_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(NSS3_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(SSL3_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(SMIME3_LIB) $(DESTDIR)$(mozappdir) + ifdef HAVE_FREEBL_LIBS +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_LIB) $(DESTDIR)$(mozappdir) + endif + ifdef HAVE_FREEBL_LIBS_32 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT_CHK) $(DESTDIR)$(mozappdir) +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32FPU_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32FPU_LIB) $(DESTDIR)$(mozappdir) + endif + ifdef HAVE_FREEBL_LIBS_32INT64 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_32INT64_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_32INT64_LIB) $(DESTDIR)$(mozappdir) + endif + ifdef HAVE_FREEBL_LIBS_64 +-ifndef SKIP_CHK +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_64INT_CHK) $(DESTDIR)$(mozappdir) +- $(SYSINSTALL) -m 644 $(DIST)/lib/$(FREEBL_64FPU_CHK) $(DESTDIR)$(mozappdir) +-endif + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64INT_LIB) $(DESTDIR)$(mozappdir) + $(SYSINSTALL) -m 755 $(DIST)/lib/$(FREEBL_64FPU_LIB) $(DESTDIR)$(mozappdir) + endif +@@ -366,10 +315,6 @@ + ifndef MOZ_NATIVE_NSS + $(MAKE) -C $(topsrcdir)/security/coreconf $(DEFAULT_GMAKE_FLAGS) clean + $(MAKE) -C $(topsrcdir)/security/nss/lib $(DEFAULT_GMAKE_FLAGS) clean +-ifndef SKIP_CHK +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/lib $(DEFAULT_GMAKE_FLAGS) clean +- $(MAKE) -C $(topsrcdir)/security/nss/cmd/shlibsign $(DEFAULT_GMAKE_FLAGS) clean +-endif + endif + + echo-requires-recursive:: diff --git a/moz/patches/brokenmakefile.patch b/moz/patches/brokenmakefile.patch new file mode 100644 index 000000000000..20d88014b932 --- /dev/null +++ b/moz/patches/brokenmakefile.patch @@ -0,0 +1,13 @@ +--- misc/mozilla/mailnews/extensions/smime/build/Makefile.in 2010-09-04 16:00:38.000000000 +0100 ++++ misc/build/mozilla/mailnews/extensions/smime/build/Makefile.in 2010-09-04 16:02:24.000000000 +0100 +@@ -79,10 +79,6 @@ + $(DIST)/lib/$(LIB_PREFIX)msgsmime_s.$(LIB_SUFFIX) \ + $(NULL) + +-ifndef MOZ_STATIC_MAIL_BUILD +-SHARED_LIBRARY_LIBS + = $(DIST)/lib/$(LIB_PREFIX)msgbsutl_s.$(LIB_SUFFIX) +-endif +- + EXTRA_DSO_LDOPTS = \ + $(LIBS_DIR) \ + $(EXTRA_DSO_LIBS) \ diff --git a/moz/patches/consecutive_ldap_queries.patch b/moz/patches/consecutive_ldap_queries.patch new file mode 100644 index 000000000000..d82d594bce09 --- /dev/null +++ b/moz/patches/consecutive_ldap_queries.patch @@ -0,0 +1,13 @@ +--- mozilla/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2009-02-02 09:39:32.054968600 +0100 ++++ mozilla.patched/mailnews/addrbook/src/nsAbLDAPDirectoryQuery.cpp 2009-02-02 09:35:35.633832119 +0100 +@@ -833,6 +833,10 @@ + if (msgListener) + { + msgListener->mUrl = url; ++ msgListener->mQueryListener = listener; ++ msgListener->mResultLimit = resultLimit; ++ msgListener->mTimeOut = timeOut; ++ msgListener->mQueryArguments = arguments; + return msgListener->DoSearch(); + } + } diff --git a/moz/patches/cygwin_paths_in_ldap_sdk.patch b/moz/patches/cygwin_paths_in_ldap_sdk.patch new file mode 100644 index 000000000000..e0983aecbe74 --- /dev/null +++ b/moz/patches/cygwin_paths_in_ldap_sdk.patch @@ -0,0 +1,12 @@ +--- mozilla.org/directory/c-sdk/ldap/include/Makefile.in 2006-02-03 15:44:33.000000000 +0100 ++++ mozilla/directory/c-sdk/ldap/include/Makefile.in 2008-10-31 23:34:41.695625000 +0100 +@@ -85,6 +85,9 @@ + + ########################################################################### + ++INCLUDEDIR:=$(shell cygpath -u $(INCLUDEDIR)) ++GENHEADERS:=$(shell cygpath -u $(GENHEADERS)) ++ + all export:: $(INCLUDEDIR) $(GENHEADERS) + $(NSINSTALL) -D $(PRIVATEINCDIR) + $(INSTALL) $(INSTALLFLAGS) -m 644 $(HEADERS) $(INCLUDEDIR) diff --git a/moz/patches/dtoa.patch b/moz/patches/dtoa.patch new file mode 100644 index 000000000000..fce3be38b10b --- /dev/null +++ b/moz/patches/dtoa.patch @@ -0,0 +1,237 @@ +--- misc/mozilla/nsprpub/pr/src/misc/prdtoa.c 20 Mar 2009 03:41:21 -0000 4.7 ++++ misc/build/mozilla/nsprpub/pr/src/misc/prdtoa.c 15 Sep 2009 00:10:20 -0000 +@@ -169,17 +169,22 @@ void _PR_CleanupDtoa(void) + * Llong, #define #ULLong to be the corresponding unsigned type. + * #define KR_headers for old-style C function headers. + * #define Bad_float_h if your system lacks a float.h or if it does not + * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, + * FLT_RADIX, FLT_ROUNDS, and DBL_MAX. + * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n) + * if memory is available and otherwise does something you deem + * appropriate. If MALLOC is undefined, malloc will be invoked +- * directly -- and assumed always to succeed. ++ * directly -- and assumed always to succeed. Similarly, if you ++ * want something other than the system's free() to be called to ++ * recycle memory acquired from MALLOC, #define FREE to be the ++ * name of the alternate routine. (FREE or free is only called in ++ * pathological cases, e.g., in a dtoa call after a dtoa return in ++ * mode 3 with thousands of digits requested.) + * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making + * memory allocations from a private pool of memory when possible. + * When used, the private pool is PRIVATE_MEM bytes long: 2304 bytes, + * unless #defined to be a different length. This default length + * suffices to get rid of MALLOC calls except for unusual cases, + * such as decimal-to-binary conversion of a very long string of + * digits. The longest string dtoa can return is about 751 bytes + * long. For conversions by strtod of strings of 800 digits and +@@ -553,17 +558,17 @@ extern double rnd_prod(double, double), + #endif + #endif /* NO_LONG_LONG */ + + #ifndef MULTIPLE_THREADS + #define ACQUIRE_DTOA_LOCK(n) /*nothing*/ + #define FREE_DTOA_LOCK(n) /*nothing*/ + #endif + +-#define Kmax 15 ++#define Kmax 7 + + struct + Bigint { + struct Bigint *next; + int k, maxwds, sign, wds; + ULong x[1]; + }; + +@@ -581,27 +586,28 @@ Balloc + { + int x; + Bigint *rv; + #ifndef Omit_Private_Memory + unsigned int len; + #endif + + ACQUIRE_DTOA_LOCK(0); +- if (rv = freelist[k]) { ++ /* The k > Kmax case does not need ACQUIRE_DTOA_LOCK(0), */ ++ /* but this case seems very unlikely. */ ++ if (k <= Kmax && (rv = freelist[k])) + freelist[k] = rv->next; +- } + else { + x = 1 << k; + #ifdef Omit_Private_Memory + rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); + #else + len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) + /sizeof(double); +- if (pmem_next - private_mem + len <= PRIVATE_mem) { ++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) { + rv = (Bigint*)pmem_next; + pmem_next += len; + } + else + rv = (Bigint*)MALLOC(len*sizeof(double)); + #endif + rv->k = k; + rv->maxwds = x; +@@ -615,20 +621,28 @@ Balloc + Bfree + #ifdef KR_headers + (v) Bigint *v; + #else + (Bigint *v) + #endif + { + if (v) { +- ACQUIRE_DTOA_LOCK(0); +- v->next = freelist[v->k]; +- freelist[v->k] = v; +- FREE_DTOA_LOCK(0); ++ if (v->k > Kmax) ++#ifdef FREE ++ FREE((void*)v); ++#else ++ free((void*)v); ++#endif ++ else { ++ ACQUIRE_DTOA_LOCK(0); ++ v->next = freelist[v->k]; ++ freelist[v->k] = v; ++ FREE_DTOA_LOCK(0); ++ } + } + } + + #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \ + y->wds*sizeof(Long) + 2*sizeof(int)) + + static Bigint * + multadd +--- misc/mozilla/js/src/jsdtoa.c 2 Sep 2007 22:20:41 -0000 3.41 ++++ misc/build/mozilla/js/src/jsdtoa.c 18 Sep 2009 16:15:13 -0000 +@@ -145,17 +145,22 @@ + * and if "unsigned Llong" does not work as an unsigned version of + * Llong, #define #ULLong to be the corresponding unsigned type. + * #define Bad_float_h if your system lacks a float.h or if it does not + * define some or all of DBL_DIG, DBL_MAX_10_EXP, DBL_MAX_EXP, + * FLT_RADIX, FLT_ROUNDS, and DBL_MAX. + * #define MALLOC your_malloc, where your_malloc(n) acts like malloc(n) + * if memory is available and otherwise does something you deem + * appropriate. If MALLOC is undefined, malloc will be invoked +- * directly -- and assumed always to succeed. ++ * directly -- and assumed always to succeed. Similarly, if you ++ * want something other than the system's free() to be called to ++ * recycle memory acquired from MALLOC, #define FREE to be the ++ * name of the alternate routine. (FREE or free is only called in ++ * pathological cases, e.g., in a dtoa call after a dtoa return in ++ * mode 3 with thousands of digits requested.) + * #define Omit_Private_Memory to omit logic (added Jan. 1998) for making + * memory allocations from a private pool of memory when possible. + * When used, the private pool is PRIVATE_MEM bytes long: 2000 bytes, + * unless #defined to be a different length. This default length + * suffices to get rid of MALLOC calls except for unusual cases, + * such as decimal-to-binary conversion of a very long string of + * digits. + * #define INFNAN_CHECK on IEEE systems to cause strtod to check for +@@ -320,17 +325,17 @@ static PRLock *freelist_lock; + JS_END_MACRO + #define RELEASE_DTOA_LOCK() PR_Unlock(freelist_lock) + #else + #undef MULTIPLE_THREADS + #define ACQUIRE_DTOA_LOCK() /*nothing*/ + #define RELEASE_DTOA_LOCK() /*nothing*/ + #endif + +-#define Kmax 15 ++#define Kmax 7 + + struct Bigint { + struct Bigint *next; /* Free list link */ + int32 k; /* lg2(maxwds) */ + int32 maxwds; /* Number of words allocated for x */ + int32 sign; /* Zero if positive, 1 if negative. Ignored by most Bigint routines! */ + int32 wds; /* Actual number of words. If value is nonzero, the most significant word must be nonzero. */ + ULong x[1]; /* wds words of number in little endian order */ +@@ -400,26 +405,26 @@ static Bigint *Balloc(int32 k) + + #ifdef ENABLE_OOM_TESTING + if (++allocationNum == desiredFailure) { + printf("Forced Failing Allocation number %d\n", allocationNum); + return NULL; + } + #endif + +- if ((rv = freelist[k]) != NULL) ++ if (k <= Kmax && (rv = freelist[k]) != NULL) + freelist[k] = rv->next; + if (rv == NULL) { + x = 1 << k; + #ifdef Omit_Private_Memory + rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); + #else + len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) + /sizeof(double); +- if (pmem_next - private_mem + len <= PRIVATE_mem) { ++ if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) { + rv = (Bigint*)pmem_next; + pmem_next += len; + } + else + rv = (Bigint*)MALLOC(len*sizeof(double)); + #endif + if (!rv) + return NULL; +@@ -428,18 +433,26 @@ static Bigint *Balloc(int32 k) + } + rv->sign = rv->wds = 0; + return rv; + } + + static void Bfree(Bigint *v) + { + if (v) { +- v->next = freelist[v->k]; +- freelist[v->k] = v; ++ if (v->k > Kmax) ++#ifdef FREE ++ FREE((void*)v); ++#else ++ free((void*)v); ++#endif ++ else { ++ v->next = freelist[v->k]; ++ freelist[v->k] = v; ++ } + } + } + + #define Bcopy(x,y) memcpy((char *)&x->sign, (char *)&y->sign, \ + y->wds*sizeof(Long) + 2*sizeof(int32)) + + /* Return b*m + a. Deallocate the old b. Both a and m must be between 0 and + * 65535 inclusive. NOTE: old b is deallocated on memory failure. +--- misc/mozilla/js/src/jsdtoa.c 22 Sep 2009 06:16:27 -0000 3.42 ++++ misc/build/mozilla/js/src/jsdtoa.c 15 Oct 2009 10:34:38 -0000 +@@ -405,19 +405,19 @@ static Bigint *Balloc(int32 k) + + #ifdef ENABLE_OOM_TESTING + if (++allocationNum == desiredFailure) { + printf("Forced Failing Allocation number %d\n", allocationNum); + return NULL; + } + #endif + +- if (k <= Kmax && (rv = freelist[k]) != NULL) ++ if (k <= Kmax && (rv = freelist[k])) + freelist[k] = rv->next; +- if (rv == NULL) { ++ else { + x = 1 << k; + #ifdef Omit_Private_Memory + rv = (Bigint *)MALLOC(sizeof(Bigint) + (x-1)*sizeof(ULong)); + #else + len = (sizeof(Bigint) + (x-1)*sizeof(ULong) + sizeof(double) - 1) + /sizeof(double); + if (k <= Kmax && pmem_next - private_mem + len <= PRIVATE_mem) { + rv = (Bigint*)pmem_next; diff --git a/moz/patches/embed_manifest.patch b/moz/patches/embed_manifest.patch new file mode 100755 index 000000000000..3b0e80b3ab81 --- /dev/null +++ b/moz/patches/embed_manifest.patch @@ -0,0 +1,142 @@ +--- mozilla.pure/configure 2008-06-16 00:25:31.000000000 +0200 ++++ mozilla/configure 2008-11-09 23:59:19.984375000 +0100 +@@ -1068,6 +1068,8 @@ + GCONF_VERSION=1.2.1 + LIBGNOME_VERSION=2.0 + ++MSMANIFEST_TOOL= ++ + MISSING_X= + for ac_prog in gawk mawk nawk awk + do +@@ -3025,6 +3027,22 @@ + else + { echo "configure: error: This version of the MSVC compiler, $CC_VERSION , is unsupported." 1>&2; exit 1; } + fi ++ ++ # bug #249782 ++ # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else) ++ if test "$_CC_SUITE" -ge "8"; then ++ MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'` ++ if test -n "MSMT_TOOL"; then ++ MSMANIFEST_TOOL_VERSION=`echo ${MSMANIFEST_TOOL}|grep -Po "(^|\s)[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(\s|$)"` ++ if test -z "MSMANIFEST_TOOL_VERSION"; then ++ echo "configure: warning: Unknown version of the Microsoft (R) Manifest Tool." 1>&2 ++ fi ++ MSMANIFEST_TOOL=1 ++ unset MSMT_TOOL ++ else ++ { echo "Microsoft (R) Manifest Tool must be in your \$PATH." 1>&2; exit 1; } ++ fi ++ fi + + # Check linker version + _LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"` +--- mozilla.pure/configure.in 2008-06-16 00:25:32.000000000 +0200 ++++ mozilla/configure.in 2008-11-09 23:59:20.000000000 +0100 +@@ -126,6 +126,8 @@ + GCONF_VERSION=1.2.1 + LIBGNOME_VERSION=2.0 + ++MSMANIFEST_TOOL= ++ + dnl Set various checks + dnl ======================================================== + MISSING_X= +@@ -428,6 +430,22 @@ + else + AC_MSG_ERROR([This version of the MSVC compiler, $CC_VERSION , is unsupported.]) + fi ++ ++ # bug #249782 ++ # ensure that mt.exe is Microsoft (R) Manifest Tool and not magnetic tape manipulation utility (or something else) ++ if test "$_CC_SUITE" -ge "8"; then ++ MSMT_TOOL=`mt 2>&1|grep 'Microsoft (R) Manifest Tool'` ++ if test -n "MSMT_TOOL"; then ++ MSMANIFEST_TOOL_VERSION=`echo ${MSMANIFEST_TOOL}|grep -Po "(^|\s)[0-9]+\.[0-9]+\.[0-9]+(\.[0-9]+)?(\s|$)"` ++ if test -z "MSMANIFEST_TOOL_VERSION"; then ++ AC_MSG_WARN([Unknown version of the Microsoft (R) Manifest Tool.]) ++ fi ++ MSMANIFEST_TOOL=1 ++ unset MSMT_TOOL ++ else ++ AC_MSG_ERROR([Microsoft (R) Manifest Tool must be in your \$PATH.]) ++ fi ++ fi + + # Check linker version + _LD_FULL_VERSION=`"${LD}" -v 2>&1 | sed -ne "$_MSVC_VER_FILTER"` +@@ -7319,6 +7339,7 @@ + AC_SUBST(USE_N32) + AC_SUBST(CC_VERSION) + AC_SUBST(CXX_VERSION) ++AC_SUBST(MSMANIFEST_TOOL) + + if test "$USING_HCC"; then + CC='${topsrcdir}/build/hcc' +--- mozilla.pure/config/rules.mk 2008-01-29 20:30:22.000000000 +0100 ++++ mozilla/config/rules.mk 2008-11-09 23:59:19.968750000 +0100 +@@ -811,6 +812,12 @@ + + ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) + $(LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(PROGOBJS) $(RESFILE) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + ifeq ($(CPP_PROG_LINK),1) + $(CCC) -o $@ $(CXXFLAGS) $(WRAP_MALLOC_CFLAGS) $(PROGOBJS) $(RESFILE) $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(BIN_FLAGS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(EXE_DEF_FILE) +@@ -843,6 +850,12 @@ + else + ifeq (_WINNT,$(GNU_CC)_$(HOST_OS_ARCH)) + $(HOST_LD) -NOLOGO -OUT:$@ -PDB:$(PDBFILE) $(HOST_OBJS) $(WIN32_EXE_LDFLAGS) $(HOST_LIBS) $(HOST_EXTRA_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + $(HOST_CC) -o $@ $(HOST_CFLAGS) $(HOST_LDFLAGS) $(HOST_PROGOBJS) $(HOST_LIBS) $(HOST_EXTRA_LIBS) + endif +@@ -866,6 +879,12 @@ + else + ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) + $(LD) -nologo -out:$@ -pdb:$(PDBFILE) $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS) $(EXTRA_LIBS) $(OS_LIBS) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;1; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool + else + ifeq ($(CPP_PROG_LINK),1) + $(CCC) $(WRAP_MALLOC_CFLAGS) $(CXXFLAGS) -o $@ $< $(WIN32_EXE_LDFLAGS) $(LDFLAGS) $(LIBS_DIR) $(LIBS) $(OS_LIBS) $(EXTRA_LIBS) $(WRAP_MALLOC_LIB) $(PROFILER_LIBS) $(BIN_FLAGS) +@@ -1019,6 +1038,14 @@ + endif # SHARED_LIBRARY_LIBS + endif # NO_LD_ARCHIVE_FLAGS + $(MKSHLIB) $(SHLIB_LDSTARTFILE) $(OBJS) $(LOBJS) $(SUB_SHLOBJS) $(RESFILE) $(LDFLAGS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) $(SHLIB_LDENDFILE) ++ifeq (_WINNT,$(GNU_CC)_$(OS_ARCH)) ++ifdef MSMANIFEST_TOOL ++ @if test -f $@.manifest; then \ ++ mt.exe -NOLOGO -MANIFEST $@.manifest -OUTPUTRESOURCE:$@\;2; \ ++ rm -f $@.manifest; \ ++ fi ++endif # MSVC with manifest tool ++endif # WINNT && !GCC + @rm -f foodummyfilefoo $(SUB_SHLOBJS) $(DELETE_AFTER_LINK) + else # os2 vacpp + $(MKSHLIB) -O:$@ -DLL -INC:_dllentry $(LDFLAGS) $(OBJS) $(LOBJS) $(EXTRA_DSO_LDOPTS) $(OS_LIBS) $(EXTRA_LIBS) $(DEF_FILE) +--- mozilla.pure/config/autoconf.mk.in 2006-09-14 20:07:03.000000000 +0200 ++++ mozilla/config/autoconf.mk.in 2008-11-09 23:59:19.953125000 +0100 +@@ -543,6 +543,7 @@ + MOZ_TOOLS_DIR = @MOZ_TOOLS_DIR@ + MOZ_DEBUG_SYMBOLS = @MOZ_DEBUG_SYMBOLS@ + MOZ_QUANTIFY = @MOZ_QUANTIFY@ ++MSMANIFEST_TOOL = @MSMANIFEST_TOOL@ + + #python options + PYTHON = @MOZ_PYTHON@ diff --git a/moz/patches/index.txt b/moz/patches/index.txt new file mode 100644 index 000000000000..fd27f442a05c --- /dev/null +++ b/moz/patches/index.txt @@ -0,0 +1,65 @@ +====================================================================================
+File name
+---------
+ embed_manifest.patch
+
+Description
+-----------
+ When building Mozilla with MSVC2005, generated libraries and applications
+ require the manifest file (name.dll.manifest) to reside beside the file
+ itself, or to be embedded.
+
+ The patch does the latter: embedding the manifest file into the
+ library/application itself, using the Manifest Tool from the Platform SDK
+ resp. MSVC installation.
+
+ The patch is effectively the patch as was committed to the Mozilla trunk,
+ taken from here: https://bugzilla.mozilla.org/show_bug.cgi?id=249782#c81.
+
+====================================================================================
+File name
+---------
+ wchart_on_msvc8.patch
+
+Description
+-----------
+ For compiling with MSVC2005: See https://bugzilla.mozilla.org/show_bug.cgi?id=324842.
+
+====================================================================================
+File name
+---------
+ cygwin_paths_in_ldap_sdk.patch
+
+Description
+-----------
+ make 1.81, as currently part of cygwin, does not support Windows paths anymore.
+ So, targets, and target dependencies, in makefile may need to be converted to cygwin
+ notation. This patch does this for directory/c-sdk/ldap/include, other occurances are
+ not known, yet.
+
+====================================================================================
+File name
+---------
+ no_core_abspath_in_nss.patch
+
+Description
+-----------
+ On various platforms, building security/nss/cmd/shlibsign fails. In all cases, the
+ error messages indicate the core_abspath macro used in the Makefile is not resolved
+ properly.
+ This patch replaces the usage of core_abspath with platform-specific constructs.
+
+====================================================================================
+File name
+---------
+ consecutive_ldap_queries.patch
+
+Description
+-----------
+ Consecutive LDAP address book queries (using the same instance of nsAbLDAPDirectoryQuery,
+ but different parameters to the DoQuery method) do not work in OOo. The reason is that
+ the second call to DoQuery ignores most of its arguments, including the listener which
+ is to be notified about the query results, and re-uses the arguments from the first
+ call.
+ The patch changes the DoQuery behavior to respect the arguments of the second call.
+
diff --git a/moz/patches/link_fontconfig.patch b/moz/patches/link_fontconfig.patch new file mode 100644 index 000000000000..66e82fa63e52 --- /dev/null +++ b/moz/patches/link_fontconfig.patch @@ -0,0 +1,11 @@ +--- misc/mozilla/gfx/src/gtk/Makefile.in 2010-03-16 14:44:44.000000000 +0000 ++++ misc/build/mozilla/gfx/src/gtk/Makefile.in 2010-03-16 14:45:08.000000000 +0000 +@@ -183,7 +183,7 @@ + endif + + ifdef MOZ_ENABLE_XFT +-EXTRA_DSO_LDOPTS += $(FT2_LIBS) ++EXTRA_DSO_LDOPTS += $(FT2_LIBS) -lfontconfig + + libs:: fontEncoding.properties pangoFontEncoding.properties + $(INSTALL) $^ $(DIST)/bin/res/fonts diff --git a/moz/patches/no_core_abspath_in_nss.patch b/moz/patches/no_core_abspath_in_nss.patch new file mode 100644 index 000000000000..026cc7e3eb92 --- /dev/null +++ b/moz/patches/no_core_abspath_in_nss.patch @@ -0,0 +1,52 @@ +--- mozilla.pure/security/nss/cmd/shlibsign/Makefile 2007-02-16 03:16:24.000000000 +0100 ++++ mozilla/security/nss/cmd/shlibsign/Makefile 2008-11-05 14:04:54.798875000 +0100 +@@ -86,18 +86,47 @@ + + include ../platrules.mk + +-SRCDIR = $(call core_abspath,.) +- ++ifeq ($(OS_TARGET), Darwin) ++ SRCDIR = . ++else ++ifeq ($(OS_TARGET), Linux) ++ SRCDIR = . ++else ++ifeq ($(OS_TARGET), WIN95) ++ SRCDIR = $(shell cygpath -d $(SRCDIR)) ++else ++ SRCDIR = $(call core_abspath,.) ++endif ++endif ++endif + %.chk: %.$(DLL_SUFFIX) + ifeq ($(OS_TARGET), OS2) + cd $(OBJDIR) ; cmd.exe /c $(SRCDIR)/sign.cmd $(DIST) \ + $(call core_abspath,$(OBJDIR)) $(OS_TARGET) \ + $(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<) + else ++ifeq ($(OS_TARGET), WIN95) ++ sh $(CYGWIN_WRAPPER) ./sign.sh $(shell cygpath -d -a $(DIST)) \ ++ $(shell cygpath -d -a $(OBJDIR)) $(OS_TARGET) \ ++ $(shell cygpath -d -a $(NSPR_LIB_DIR)) $(shell cygpath -d -a $<) ++else ++ifeq ($(OS_TARGET), Darwin) ++ cd $(SRCDIR) ; sh ./sign.sh $(DIST) \ ++ $(OBJDIR) $(OS_TARGET) \ ++ $(NSPR_LIB_DIR) $< ++else ++ifeq ($(OS_TARGET), Linux) ++ cd $(SRCDIR) ; sh ./sign.sh $(DIST) \ ++ $(OBJDIR) $(OS_TARGET) \ ++ $(NSPR_LIB_DIR) $< ++else + cd $(OBJDIR) ; sh $(SRCDIR)/sign.sh $(call core_abspath,$(DIST)) \ + $(call core_abspath,$(OBJDIR)) $(OS_TARGET) \ + $(call core_abspath,$(NSPR_LIB_DIR)) $(call core_abspath,$<) + endif ++endif ++endif ++endif + + libs install :: $(CHECKLOC) + diff --git a/moz/patches/respect_disable_pango.patch b/moz/patches/respect_disable_pango.patch new file mode 100644 index 000000000000..07a83e9dd40a --- /dev/null +++ b/moz/patches/respect_disable_pango.patch @@ -0,0 +1,54 @@ +--- misc/mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2006-02-28 15:55:35.000000000 +0100 ++++ misc/build/mozilla/gfx/src/gtk/nsDeviceContextGTK.cpp 2009-11-13 15:12:24.000000000 +0100 +@@ -66,10 +66,12 @@ + #endif /* MOZ_WIDGET_GTK */ + + #ifdef MOZ_WIDGET_GTK2 ++#ifdef MOZ_ENABLE_PANGO + #include <pango/pango.h> + #include <pango/pangox.h> + #include <pango/pango-fontmap.h> + #endif ++#endif + + #ifdef MOZ_ENABLE_XFT + #include "nsFontMetricsUtils.h" +@@ -963,9 +965,11 @@ + #ifdef MOZ_WIDGET_GTK2 + + #ifdef MOZ_ENABLE_COREXFONTS ++#ifdef MOZ_ENABLE_PANGO + static void xlfd_from_pango_font_description(GtkWidget *aWidget, + const PangoFontDescription *aFontDesc, + nsString& aFontName); ++#endif + #endif /* MOZ_ENABLE_COREXFONTS */ + + nsresult +@@ -997,10 +1001,12 @@ + #endif /* MOZ_ENABLE_XFT */ + + #ifdef MOZ_ENABLE_COREXFONTS ++#ifdef MOZ_ENABLE_PANGO + // if name already set by Xft, do nothing + if (!aFont->name.Length()) { + xlfd_from_pango_font_description(aWidget, desc, aFont->name); + } ++#endif /* MOZ_ENABLE_PANGO */ + #endif /* MOZ_ENABLE_COREXFONTS */ + aFont->weight = pango_font_description_get_weight(desc); + +@@ -1104,6 +1110,7 @@ + #endif /* MOZ_ENABLE_XFT */ + + #if defined(MOZ_WIDGET_GTK2) && defined(MOZ_ENABLE_COREXFONTS) ++#ifdef MOZ_ENABLE_PANGO + // xlfd_from_pango_font_description copied from vte, which was + // written by nalin@redhat.com, and added some codes. + static void +@@ -1226,4 +1233,5 @@ + g_free(spec); + g_object_unref(font); + } ++#endif + #endif /* MOZ_WIDGET_GTK2 && MOZ_ENABLE_COREXFONTS */ diff --git a/moz/patches/wchart_on_msvc8.patch b/moz/patches/wchart_on_msvc8.patch new file mode 100644 index 000000000000..a8f31cd4c3e3 --- /dev/null +++ b/moz/patches/wchart_on_msvc8.patch @@ -0,0 +1,20 @@ +--- mozilla.pure/configure.in 2008-06-16 00:25:32.000000000 +0200 ++++ mozilla/configure.in 2008-11-10 16:15:36.859375000 +0100 +@@ -425,6 +425,7 @@ + _CC_SUITE=7 + elif test "$_CC_MAJOR_VERSION" = "14"; then + _CC_SUITE=8 ++ CXXFLAGS="$CXXFLAGS -Zc:wchar_t-" + else + AC_MSG_ERROR([This version of the MSVC compiler, $CC_VERSION , is unsupported.]) + fi +--- mozilla.pure/configure 2008-06-16 00:25:31.000000000 +0200 ++++ mozilla/configure 2008-11-10 16:15:30.437500000 +0100 +@@ -3022,6 +3022,7 @@ + _CC_SUITE=7 + elif test "$_CC_MAJOR_VERSION" = "14"; then + _CC_SUITE=8 ++ CXXFLAGS="$CXXFLAGS -Zc:wchar_t-" + else + { echo "configure: error: This version of the MSVC compiler, $CC_VERSION , is unsupported." 1>&2; exit 1; } + fi |