diff options
author | martin <martin@pkgsrc.org> | 2009-01-05 09:58:36 +0000 |
---|---|---|
committer | martin <martin@pkgsrc.org> | 2009-01-05 09:58:36 +0000 |
commit | 0987dceed24f5a159b7dae3337fa4795994ccd5f (patch) | |
tree | 53d3ff12792f38b17b8ea72e70dec2faa1b024e0 /www | |
parent | 3e368dbe203a9d3cd2d33baf0e271e28e2ede047 (diff) | |
download | pkgsrc-0987dceed24f5a159b7dae3337fa4795994ccd5f.tar.gz |
Fix a few more LP64 bit bugs (may be in dead code, but who knows)
and fix the xptc call stubs for sparc64 so that tree views with a
javascript data source (like history and about:config) now work.
All changes already reported upstream.
Diffstat (limited to 'www')
-rw-r--r-- | www/firefox3/distinfo | 8 | ||||
-rw-r--r-- | www/firefox3/files/xptcstubs_sparc64_netbsd.cpp | 26 | ||||
-rw-r--r-- | www/firefox3/patches/patch-ea | 27 | ||||
-rw-r--r-- | www/firefox3/patches/patch-eb | 28 | ||||
-rw-r--r-- | www/firefox3/patches/patch-ej | 19 | ||||
-rw-r--r-- | www/firefox3/patches/patch-ek | 27 |
6 files changed, 115 insertions, 20 deletions
diff --git a/www/firefox3/distinfo b/www/firefox3/distinfo index d2ae8a73fac..7d574fef4ab 100644 --- a/www/firefox3/distinfo +++ b/www/firefox3/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.11 2008/12/17 23:16:50 tnn Exp $ +$NetBSD: distinfo,v 1.12 2009/01/05 09:58:36 martin Exp $ SHA1 (firefox-3.0.5-source.tar.bz2) = f934e073efaad3d4dde847c8491fa9529564d5d2 RMD160 (firefox-3.0.5-source.tar.bz2) = ec6e7eab65649c5c79587a5a8ffb9b6b386b5a18 @@ -32,12 +32,14 @@ SHA1 (patch-dr) = 377b1d83079ada4d819b6702c1010cdd900575fc SHA1 (patch-ds) = 1e2e371b9ff7ab9049a947d8e0a63483a1fd244e SHA1 (patch-du) = c6e66bb420ce9ea988f89b57d1c20a247704cfcf SHA1 (patch-dv) = a380d261d4c2771a672d2b0f4f1f23821e3e5266 -SHA1 (patch-ea) = 14e31d17c2493e468cd01f99abfc996853a11032 -SHA1 (patch-eb) = dc9232b10075d17f7ed742e7be8ea036db2f0241 +SHA1 (patch-ea) = a4c586b2a3aa6e1c4c7cdaf83a37bd894e235bec +SHA1 (patch-eb) = 176f71af302b1067c301e9cffa2d13a5837e45fe SHA1 (patch-ed) = 3c6281a75373843c5767fc1213d8cc67dc549e03 SHA1 (patch-ee) = d5aeca91305ed2e1f522b2c0ed4bb17f7f8b881b SHA1 (patch-eh) = 60aca7f94ee04c957386014f7d4df9e3c8ac8ff1 SHA1 (patch-ei) = 4484d57e19e39ef86760716d5886ebf2a3e69f63 +SHA1 (patch-ej) = 9b9c708483399fa89c6bf5bdc15e79b31793c89d +SHA1 (patch-ek) = b94debcf16ba6f0dccc0a812b5e5fa38a150c413 SHA1 (patch-wc) = 2de8665ed6c23c26566ca6d50165c0cf413a753d SHA1 (patch-wd) = fc5c3103ae6f2a2eccc01911a8207f3ca614008b SHA1 (patch-we) = f7fecce05454e9794ff7a4e7789031a5ef49c42d diff --git a/www/firefox3/files/xptcstubs_sparc64_netbsd.cpp b/www/firefox3/files/xptcstubs_sparc64_netbsd.cpp index f48bca5c3f5..0b5ce39b2b1 100644 --- a/www/firefox3/files/xptcstubs_sparc64_netbsd.cpp +++ b/www/firefox3/files/xptcstubs_sparc64_netbsd.cpp @@ -53,6 +53,8 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args) else dispatchParams = paramBuffer; NS_ASSERTION(dispatchParams,"no place for params"); + if (!dispatchParams) + return NS_ERROR_OUT_OF_MEMORY; PRUint64* ap = args; for(i = 0; i < paramCount; i++, ap++) @@ -69,19 +71,19 @@ PrepareAndDispatch(nsXPTCStubBase* self, PRUint64 methodIndex, PRUint64* args) // else switch(type) { - case nsXPTType::T_I8 : dp->val.i8 = *((PRInt32*) ap); break; - case nsXPTType::T_I16 : dp->val.i16 = *((PRInt32*) ap); break; - case nsXPTType::T_I32 : dp->val.i32 = *((PRInt32*) ap); break; - case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break; - case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break; + case nsXPTType::T_BOOL : dp->val.b = *((PRInt64*) ap); break; + case nsXPTType::T_CHAR : dp->val.c = *((PRUint64*) ap); break; + case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt64*) ap); break; + case nsXPTType::T_I8 : dp->val.i8 = *((PRInt64*) ap); break; + case nsXPTType::T_I16 : dp->val.i16 = *((PRInt64*) ap); break; + case nsXPTType::T_I32 : dp->val.i32 = *((PRInt64*) ap); break; case nsXPTType::T_I64 : dp->val.i64 = *((PRInt64*) ap); break; - case nsXPTType::T_U8 : dp->val.u8 = *((PRUint32*) ap); break; - case nsXPTType::T_U16 : dp->val.u16 = *((PRUint32*)ap); break; - case nsXPTType::T_U32 : dp->val.u32 = *((PRUint32*)ap); break; - case nsXPTType::T_FLOAT : dp->val.f = *((float*) ap); break; - case nsXPTType::T_BOOL : dp->val.b = *((PRBool*) ap); break; - case nsXPTType::T_CHAR : dp->val.c = *((PRUint32*) ap); break; - case nsXPTType::T_WCHAR : dp->val.wc = *((PRInt32*) ap); break; + case nsXPTType::T_U8 : dp->val.u8 = *((PRUint64*) ap); break; + case nsXPTType::T_U16 : dp->val.u16 = *((PRUint64*)ap); break; + case nsXPTType::T_U32 : dp->val.u32 = *((PRUint64*)ap); break; + case nsXPTType::T_U64 : dp->val.u64 = *((PRUint64*) ap); break; + case nsXPTType::T_FLOAT : dp->val.f = ((float*) ap)[1]; break; + case nsXPTType::T_DOUBLE : dp->val.d = *((double*) ap); break; default: NS_ASSERTION(0, "bad type"); break; diff --git a/www/firefox3/patches/patch-ea b/www/firefox3/patches/patch-ea index 7a0edc02f4d..5aac3b6027b 100644 --- a/www/firefox3/patches/patch-ea +++ b/www/firefox3/patches/patch-ea @@ -1,8 +1,30 @@ -$NetBSD: patch-ea,v 1.1.1.1 2008/06/28 10:01:07 tnn Exp $ +$NetBSD: patch-ea,v 1.2 2009/01/05 09:58:36 martin Exp $ --- toolkit/components/history/src/nsGlobalHistory.cpp.orig 2006-02-02 20:55:17.000000000 +0100 +++ toolkit/components/history/src/nsGlobalHistory.cpp -@@ -1132,6 +1132,9 @@ nsGlobalHistory::SetPageTitle(nsIURI *aU +@@ -322,7 +322,9 @@ matchAgeInDaysCallback(nsIMdbRow *row, v + if (err != 0) return PR_FALSE; + + PRTime rowDate; +- PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &rowDate); ++ long long ld; ++ PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &ld); ++ rowDate = ld; + + PRInt32 days = GetAgeInDays(matchSearchTerm->now, rowDate); + +@@ -1067,7 +1069,9 @@ nsGlobalHistory::GetRowValue(nsIMdbRow * + if (!yarn.mYarn_Fill || !yarn.mYarn_Buf) + return NS_OK; + +- PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", aResult); ++ long long ld; ++ PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &ld); ++ *aResult = ld; + + return NS_OK; + } +@@ -1153,6 +1157,9 @@ nsGlobalHistory::SetPageTitle(nsIURI *aU rv = aURI->GetSpec(URISpec); NS_ENSURE_SUCCESS(rv, rv); @@ -12,3 +34,4 @@ $NetBSD: patch-ea,v 1.1.1.1 2008/06/28 10:01:07 tnn Exp $ nsCOMPtr<nsIMdbRow> row; rv = FindRow(kToken_URLColumn, URISpec.get(), getter_AddRefs(row)); + diff --git a/www/firefox3/patches/patch-eb b/www/firefox3/patches/patch-eb index 7f86ac2f0b7..88caa155e53 100644 --- a/www/firefox3/patches/patch-eb +++ b/www/firefox3/patches/patch-eb @@ -1,8 +1,30 @@ -$NetBSD: patch-eb,v 1.1.1.1 2008/06/28 10:01:07 tnn Exp $ +$NetBSD: patch-eb,v 1.2 2009/01/05 09:58:36 martin Exp $ ---- xpfe/components/history/src/nsGlobalHistory.cpp.orig 2006-02-02 20:55:17.000000000 +0100 +--- xpfe/components/history/src/nsGlobalHistory.cpp.orig 2007-12-03 05:25:14.000000000 +0100 +++ xpfe/components/history/src/nsGlobalHistory.cpp -@@ -1055,6 +1055,9 @@ nsGlobalHistory::SetPageTitle(nsIURI *aU +@@ -304,7 +304,9 @@ matchAgeInDaysCallback(nsIMdbRow *row, v + if (err != 0) return PR_FALSE; + + PRTime rowDate; +- PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &rowDate); ++ long long ld; ++ PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &ld); ++ rowDate = ld; + + PRInt32 days = matchSearchTerm->globalHist->GetAgeInDays(rowDate); + +@@ -1000,7 +1002,9 @@ nsGlobalHistory::GetRowValue(nsIMdbRow * + if (!yarn.mYarn_Fill || !yarn.mYarn_Buf) + return NS_OK; + +- PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", aResult); ++ long long ld; ++ PR_sscanf((const char*)yarn.mYarn_Buf, "%lld", &ld); ++ *aResult = ld; + + return NS_OK; + } +@@ -1076,6 +1080,9 @@ nsGlobalHistory::SetPageTitle(nsIURI *aU rv = aURI->GetSpec(URISpec); NS_ENSURE_SUCCESS(rv, rv); diff --git a/www/firefox3/patches/patch-ej b/www/firefox3/patches/patch-ej new file mode 100644 index 00000000000..1e0442ea3bc --- /dev/null +++ b/www/firefox3/patches/patch-ej @@ -0,0 +1,19 @@ +$NetBSD: patch-ej,v 1.1 2009/01/05 09:58:36 martin Exp $ + +--- toolkit/components/places/src/nsMorkHistoryImporter.cpp.orig 2008-03-19 20:30:49.000000000 +0100 ++++ toolkit/components/places/src/nsMorkHistoryImporter.cpp 2008-12-17 09:38:05.000000000 +0100 +@@ -148,9 +148,12 @@ AddToHistoryCB(const nsCSubstring &aRowI + } + + PRTime date; +- if (PR_sscanf(values[kLastVisitColumn].get(), "%lld", &date) != 1) { ++ long long ld; ++ if (PR_sscanf(values[kLastVisitColumn].get(), "%lld", &ld) != 1) { + date = -1; +- } ++ } else { ++ date = ld; ++ } + + PRBool isTyped = values[kTypedColumn].EqualsLiteral("1"); + PRInt32 transition = isTyped ? diff --git a/www/firefox3/patches/patch-ek b/www/firefox3/patches/patch-ek new file mode 100644 index 00000000000..616da9f5d12 --- /dev/null +++ b/www/firefox3/patches/patch-ek @@ -0,0 +1,27 @@ +$NetBSD: patch-ek,v 1.1 2009/01/05 09:58:36 martin Exp $ + +# Reported upstream as https://bugzilla.mozilla.org/show_bug.cgi?id=471179 + +--- nsprpub/pr/src/misc/prsystem.c.orig 2006-01-19 23:11:59.000000000 +0100 ++++ nsprpub/pr/src/misc/prsystem.c 2008-12-26 13:01:50.000000000 +0100 +@@ -290,6 +290,20 @@ PR_IMPLEMENT(PRUint64) PR_GetPhysicalMem + long pageCount = sysconf(_SC_PHYS_PAGES); + bytes = (PRUint64) pageSize * pageCount; + ++#elif defined(NETBSD) ++ ++ int mib[2]; ++ int rc; ++ uint64_t memSize; ++ size_t len = sizeof(memSize); ++ ++ mib[0] = CTL_HW; ++ mib[1] = HW_PHYSMEM64; ++ rc = sysctl( mib, 2, &memSize, &len, NULL, 0 ); ++ if ( -1 != rc ) { ++ bytes = memSize; ++ } ++ + #elif defined(HPUX) + + struct pst_static info; |