pkgsrc-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[pkgsrc/trunk]: pkgsrc/www Redo the previous "double alignemnet" fix more com...
details: https://anonhg.NetBSD.org/pkgsrc/rev/660c0246d311
branches: trunk
changeset: 495660:660c0246d311
user: martin <martin%pkgsrc.org@localhost>
date: Thu Jun 16 21:38:09 2005 +0000
description:
Redo the previous "double alignemnet" fix more completely. The previous
state was completely broken.
diffstat:
www/firefox/distinfo | 10 ++-
www/firefox/patches/patch-cg | 150 ++++++++++++++++++++++++++++++++++++------
www/firefox/patches/patch-ch | 18 +++++
www/firefox/patches/patch-ci | 13 +++
www/firefox/patches/patch-cj | 32 +++++++++
www/firefox/patches/patch-ck | 19 +++++
www/firefox/patches/patch-cl | 31 ++++++++
www/firefox/patches/patch-cm | 13 +++
www/mozilla/distinfo | 10 ++-
www/mozilla/patches/patch-cd | 37 ----------
www/mozilla/patches/patch-cg | 143 ++++++++++++++++++++++++++++++++++++++++
www/mozilla/patches/patch-ch | 18 +++++
www/mozilla/patches/patch-ci | 13 +++
www/mozilla/patches/patch-cj | 32 +++++++++
www/mozilla/patches/patch-ck | 19 +++++
www/mozilla/patches/patch-cl | 31 ++++++++
www/mozilla/patches/patch-cm | 13 +++
17 files changed, 539 insertions(+), 63 deletions(-)
diffs (truncated from 699 to 300 lines):
diff -r 1117d937ff93 -r 660c0246d311 www/firefox/distinfo
--- a/www/firefox/distinfo Thu Jun 16 21:19:07 2005 +0000
+++ b/www/firefox/distinfo Thu Jun 16 21:38:09 2005 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.30 2005/06/02 12:37:33 martin Exp $
+$NetBSD: distinfo,v 1.31 2005/06/16 21:39:06 martin Exp $
SHA1 (firefox-1.0.4/firefox-1.0.4-source.tar.bz2) = d030628e52e1bebe9d6515d7fab5a126a1b6b38a
RMD160 (firefox-1.0.4/firefox-1.0.4-source.tar.bz2) = 4b04740fe4615ddddd16ec296509177ab29d4edc
@@ -39,4 +39,10 @@
SHA1 (patch-cd) = bbe839bce72a1d6816fa0c091172a818fb469981
SHA1 (patch-ce) = f7db7a46d40b80287774f93d55b05a5ad0c79214
SHA1 (patch-cf) = 337bc106afe7ce3fa6678fca4c0317714393a977
-SHA1 (patch-cg) = bc93de493522d6685b983f961513ff97d0a92266
+SHA1 (patch-cg) = 5991f102f19ef73ae771f9fc352ece5ce89eb928
+SHA1 (patch-ch) = 281dc9957784b4f75170377d09c22735ce7f8500
+SHA1 (patch-ci) = b9868757c31ea577c2df99eb7f41503d55d904f0
+SHA1 (patch-cj) = a17331d248dd0d3ed85c81f6c1095f384d810b0d
+SHA1 (patch-ck) = 5db42f8047046e10f388bdaf299c35c415a50f8d
+SHA1 (patch-cl) = 1450e99f5e5f31f0e8d01b68bb50494f84eed068
+SHA1 (patch-cm) = 2a347bcf5814816539835caf65dd888f71ceea20
diff -r 1117d937ff93 -r 660c0246d311 www/firefox/patches/patch-cg
--- a/www/firefox/patches/patch-cg Thu Jun 16 21:19:07 2005 +0000
+++ b/www/firefox/patches/patch-cg Thu Jun 16 21:38:09 2005 +0000
@@ -1,37 +1,143 @@
-$NetBSD: patch-cg,v 1.1 2005/06/02 12:37:33 martin Exp $
+$NetBSD: patch-cg,v 1.2 2005/06/16 21:39:06 martin Exp $
--- extensions/transformiix/source/base/Double.cpp.orig 2004-01-15 22:23:18.000000000 +0100
-+++ extensions/transformiix/source/base/Double.cpp 2005-05-30 15:51:38.000000000 +0200
-@@ -48,6 +48,24 @@
++++ extensions/transformiix/source/base/Double.cpp 2005-06-16 09:47:09.000000000 +0200
+@@ -48,114 +48,34 @@
* Utility class for doubles
*/
-+/* this should be some other predicate - like "has working math support" */
-+#if defined(__NetBSD__) || (defined(__sun__) && defined(_LP64))
-+MBool Double::isInfinite(double aDbl)
+-//A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
+-#ifdef __FreeBSD__
+-#include <ieeefp.h>
+-#ifdef __alpha__
+-fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP;
+-#else
+-fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML;
+-#endif
+-fp_except_t oldmask = fpsetmask(~allmask);
+-#endif
+-
+-/**
+- * Macros to workaround math-bugs bugs in various platforms
+- */
+-
+-/**
+- * Stefan Hanske <sh990154%mail.uni-greifswald.de@localhost> reports:
+- * ARM is a little endian architecture but 64 bit double words are stored
+- * differently: the 32 bit words are in little endian byte order, the two words
+- * are stored in big endian`s way.
+- */
+-
+-#if defined(__arm) || defined(__arm32__) || defined(_arm26__) || defined(__arm__)
+-#define CPU_IS_ARM
+-#endif
+-
+-#if (__GNUC__ == 2 && __GNUC_MINOR__ > 95) || __GNUC__ > 2
+-/**
+- * This version of the macros is safe for the alias optimizations
+- * that gcc does, but uses gcc-specific extensions.
+- */
+-
+-typedef union txdpun {
+- PRFloat64 d;
+- struct {
+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
+- PRUint32 lo, hi;
+-#else
+- PRUint32 hi, lo;
+-#endif
+- } s;
+-} txdpun;
+-
+-#define TX_DOUBLE_HI32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.hi; }))
+-#define TX_DOUBLE_LO32(x) (__extension__ ({ txdpun u; u.d = (x); u.s.lo; }))
+-
+-#else // __GNUC__
++double Double::NaN()
+{
-+ return isinf(aDbl);
++ return NAN;
+}
-+
-+MBool Double::isNaN(double aDbl)
+
+-/* We don't know of any non-gcc compilers that perform alias optimization,
+- * so this code should work.
+- */
++double Double::PositiveInfinity()
+{
-+ return isnan(aDbl);
++ return INFINITY;
+}
-+
-+MBool Double::isNeg(double aDbl)
+
+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
+-#define TX_DOUBLE_HI32(x) (((PRUint32 *)&(x))[1])
+-#define TX_DOUBLE_LO32(x) (((PRUint32 *)&(x))[0])
+-#else
+-#define TX_DOUBLE_HI32(x) (((PRUint32 *)&(x))[0])
+-#define TX_DOUBLE_LO32(x) (((PRUint32 *)&(x))[1])
+-#endif
+-
+-#endif // __GNUC__
+-
+-#define TX_DOUBLE_HI32_SIGNBIT 0x80000000
+-#define TX_DOUBLE_HI32_EXPMASK 0x7ff00000
+-#define TX_DOUBLE_HI32_MANTMASK 0x000fffff
+-
+-//-- Initialize Double related constants
+-#ifdef IS_BIG_ENDIAN
+-const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK,
+- 0xffffffff};
+-const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0};
+-const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0};
+-#else
+-const PRUint32 nanMask[2] = {0xffffffff,
+- TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK};
+-const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK};
+-const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT};
+-#endif
+-
+-const double Double::NaN = *((double*)nanMask);
+-const double Double::POSITIVE_INFINITY = *((double*)infMask);
+-const double Double::NEGATIVE_INFINITY = *((double*)negInfMask);
++double Double::NegativeInfinity()
+{
-+ return aDbl<0.0;
++ return -INFINITY;
+}
-+#else
-+
- //A trick to handle IEEE floating point exceptions on FreeBSD - E.D.
- #ifdef __FreeBSD__
- #include <ieeefp.h>
-@@ -157,6 +175,7 @@
+
+-/*
+- * Determines whether the given double represents positive or negative
+- * inifinity
+- */
+ MBool Double::isInfinite(double aDbl)
{
- return (TX_DOUBLE_HI32(aDbl) & TX_DOUBLE_HI32_SIGNBIT) != 0;
+- return ((TX_DOUBLE_HI32(aDbl) & ~TX_DOUBLE_HI32_SIGNBIT) == TX_DOUBLE_HI32_EXPMASK &&
+- !TX_DOUBLE_LO32(aDbl));
++ return isinf(aDbl);
}
-+#endif
+
+-/*
+- * Determines whether the given double is NaN
+- */
+ MBool Double::isNaN(double aDbl)
+ {
+- return ((TX_DOUBLE_HI32(aDbl) & TX_DOUBLE_HI32_EXPMASK) == TX_DOUBLE_HI32_EXPMASK &&
+- (TX_DOUBLE_LO32(aDbl) || (TX_DOUBLE_HI32(aDbl) & TX_DOUBLE_HI32_MANTMASK)));
++ return isnan(aDbl);
+ }
+
+-/*
+- * Determines whether the given double is negative
+- */
+ MBool Double::isNeg(double aDbl)
+ {
+- return (TX_DOUBLE_HI32(aDbl) & TX_DOUBLE_HI32_SIGNBIT) != 0;
++ return aDbl<0.0;
+ }
/*
- * Converts the given String to a double, if the String value does not
+@@ -244,7 +164,7 @@
+ {
+ if (mState == eIllegal || mBuffer.IsEmpty() ||
+ (mBuffer.Length() == 1 && mBuffer[0] == '.')) {
+- return Double::NaN;
++ return Double::NaN();
+ }
+ return mSign*PR_strtod(mBuffer.get(), 0);
+ }
diff -r 1117d937ff93 -r 660c0246d311 www/firefox/patches/patch-ch
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-ch Thu Jun 16 21:38:09 2005 +0000
@@ -0,0 +1,18 @@
+$NetBSD: patch-ch,v 1.1 2005/06/16 21:39:06 martin Exp $
+
+--- extensions/transformiix/source/base/primitives.h.orig 2003-01-17 13:43:05.000000000 +0100
++++ extensions/transformiix/source/base/primitives.h 2005-06-16 09:46:56.000000000 +0200
+@@ -51,10 +51,9 @@
+ /*
+ * Usefull constants
+ */
+-
+- static const double NaN;
+- static const double POSITIVE_INFINITY;
+- static const double NEGATIVE_INFINITY;
++ static double NaN();
++ static double PositiveInfinity();
++ static double NegativeInfinity();
+
+ /*
+ * Determines whether the given double represents positive or negative
diff -r 1117d937ff93 -r 660c0246d311 www/firefox/patches/patch-ci
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-ci Thu Jun 16 21:38:09 2005 +0000
@@ -0,0 +1,13 @@
+$NetBSD: patch-ci,v 1.1 2005/06/16 21:39:06 martin Exp $
+
+--- extensions/transformiix/source/xpath/FunctionCall.cpp.orig 2003-11-04 16:13:03.000000000 +0100
++++ extensions/transformiix/source/xpath/FunctionCall.cpp 2005-06-16 09:14:19.000000000 +0200
+@@ -92,7 +92,7 @@
+ nsRefPtr<txAExprResult> exprResult;
+ nsresult rv = aExpr->evaluate(aContext, getter_AddRefs(exprResult));
+ if (NS_FAILED(rv))
+- return Double::NaN;
++ return Double::NaN();
+
+ return exprResult->numberValue();
+ }
diff -r 1117d937ff93 -r 660c0246d311 www/firefox/patches/patch-cj
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-cj Thu Jun 16 21:38:09 2005 +0000
@@ -0,0 +1,32 @@
+$NetBSD: patch-cj,v 1.1 2005/06/16 21:39:06 martin Exp $
+
+--- extensions/transformiix/source/xpath/MultiplicativeExpr.cpp.orig 2003-11-20 00:06:14.000000000 +0100
++++ extensions/transformiix/source/xpath/MultiplicativeExpr.cpp 2005-06-16 09:29:24.000000000 +0200
+@@ -71,22 +71,22 @@
+ #if defined(XP_WIN)
+ /* XXX MSVC miscompiles such that (NaN == 0) */
+ if (Double::isNaN(rightDbl))
+- result = Double::NaN;
++ result = Double::NaN();
+ else
+ #endif
+ if (leftDbl == 0 || Double::isNaN(leftDbl))
+- result = Double::NaN;
++ result = Double::NaN();
+ else if (Double::isNeg(leftDbl) ^ Double::isNeg(rightDbl))
+- result = Double::NEGATIVE_INFINITY;
++ result = Double::NegativeInfinity();
+ else
+- result = Double::POSITIVE_INFINITY;
++ result = Double::PositiveInfinity();
+ }
+ else
+ result = leftDbl / rightDbl;
+ break;
+ case MODULUS:
+ if (rightDbl == 0) {
+- result = Double::NaN;
++ result = Double::NaN();
+ }
+ else {
+ #if defined(XP_WIN)
diff -r 1117d937ff93 -r 660c0246d311 www/firefox/patches/patch-ck
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-ck Thu Jun 16 21:38:09 2005 +0000
@@ -0,0 +1,19 @@
+$NetBSD: patch-ck,v 1.1 2005/06/16 21:39:06 martin Exp $
+
+--- extensions/transformiix/source/xslt/functions/txFormatNumberFunctionCall.cpp.orig 2003-06-17 00:31:17.000000000 +0200
++++ extensions/transformiix/source/xslt/functions/txFormatNumberFunctionCall.cpp 2005-06-16 10:06:22.000000000 +0200
+@@ -112,12 +112,12 @@
+ return aContext->recycler()->getStringResult(format->mNaN, aResult);
+ }
+
+- if (value == Double::POSITIVE_INFINITY) {
++ if (value == Double::PositiveInfinity()) {
+ return aContext->recycler()->getStringResult(format->mInfinity,
+ aResult);
+ }
+
+- if (value == Double::NEGATIVE_INFINITY) {
++ if (value == Double::NegativeInfinity()) {
+ nsAutoString res;
+ res.Append(format->mMinusSign);
+ res.Append(format->mInfinity);
diff -r 1117d937ff93 -r 660c0246d311 www/firefox/patches/patch-cl
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/www/firefox/patches/patch-cl Thu Jun 16 21:38:09 2005 +0000
@@ -0,0 +1,31 @@
+$NetBSD: patch-cl,v 1.1 2005/06/16 21:39:06 martin Exp $
+
+--- extensions/transformiix/source/xslt/txStylesheetCompileHandlers.cpp.orig 2004-01-29 23:04:29.000000000 +0100
++++ extensions/transformiix/source/xslt/txStylesheetCompileHandlers.cpp 2005-06-16 09:18:13.000000000 +0200
+@@ -258,7 +258,7 @@
+ txStylesheetCompilerState& aState,
+ double& aNumber)
+ {
Home |
Main Index |
Thread Index |
Old Index