diff options
author | he <he> | 2009-06-19 11:34:31 +0000 |
---|---|---|
committer | he <he> | 2009-06-19 11:34:31 +0000 |
commit | 77ca4e90dc444df00ce24fb7934936a665efc827 (patch) | |
tree | 4e269b13d218e6b5f269d7a9965719b2e7c46d9b /mail | |
parent | 6c3ba71893e05b89fcce620db1d6cd20afcaff86 (diff) | |
download | pkgsrc-77ca4e90dc444df00ce24fb7934936a665efc827.tar.gz |
Update from version 2.0.0.21 to 2.0.0.21nb1.
Pkgsrc changes:
o For the benefit of 64-bit strict alignment archs using gcc, such
as NetBSD/sparc64, ensure that the specially crafted double values
are properly aligned. Thanks to martin@ for pointing to the problem.
This should stop regxpcom from dropping core on NetBSD/sparc64.
OK'ed by wiz@
Diffstat (limited to 'mail')
-rw-r--r-- | mail/thunderbird/Makefile | 3 | ||||
-rw-r--r-- | mail/thunderbird/distinfo | 3 | ||||
-rw-r--r-- | mail/thunderbird/patches/patch-ea | 47 |
3 files changed, 51 insertions, 2 deletions
diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile index 2ff4b251086..303fe4939a9 100644 --- a/mail/thunderbird/Makefile +++ b/mail/thunderbird/Makefile @@ -1,6 +1,7 @@ -# $NetBSD: Makefile,v 1.35 2009/03/19 15:08:58 ghen Exp $ +# $NetBSD: Makefile,v 1.36 2009/06/19 11:34:31 he Exp $ MOZILLA= thunderbird +PKGREVISION= 1 COMMENT= Mozilla mail client MOZILLA_USE_GTK2= # yes diff --git a/mail/thunderbird/distinfo b/mail/thunderbird/distinfo index 3bb8ca62570..16362814a0e 100644 --- a/mail/thunderbird/distinfo +++ b/mail/thunderbird/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.53 2009/05/02 07:51:02 hasso Exp $ +$NetBSD: distinfo,v 1.54 2009/06/19 11:34:31 he Exp $ SHA1 (thunderbird-2.0.0.21-source.tar.bz2) = 8bb2f7ce60635f6082c3c4542fff10c4b7445dc0 RMD160 (thunderbird-2.0.0.21-source.tar.bz2) = 493e41013a91888d29647c126d4f2c5a547056dd @@ -55,3 +55,4 @@ SHA1 (patch-dw) = 6ef560d688b3b67450b9582c95d9239ab4749f61 SHA1 (patch-dx) = ab7606171564b6879effc3b37d9eadc6565cb74b SHA1 (patch-dy) = cdff1e8f593ea2453afc048b931c8305c6b944e4 SHA1 (patch-dz) = 957e91753db2aa7f556dd97d994e30418f8e26b0 +SHA1 (patch-ea) = eaa1cb5d2d87aa6f6fbe9aeb4b3b557f183cbc0a diff --git a/mail/thunderbird/patches/patch-ea b/mail/thunderbird/patches/patch-ea new file mode 100644 index 00000000000..324d02261a5 --- /dev/null +++ b/mail/thunderbird/patches/patch-ea @@ -0,0 +1,47 @@ +$NetBSD: patch-ea,v 1.1 2009/06/19 11:34:31 he Exp $ + +For the benefit of 64-bit strict alignment archs using gcc, such +as NetBSD/sparc64, ensure that the specially crafted double values +are properly aligned. + +--- extensions/transformiix/source/base/Double.cpp.orig 2006-06-22 21:13:00.000000000 +0200 ++++ extensions/transformiix/source/base/Double.cpp +@@ -95,8 +95,12 @@ typedef union 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; })) + ++#define __d_align __attribute__ ((aligned (__alignof__(double)))) ++ + #else // __GNUC__ + ++#define __d_align /* Empty */ ++ + /* We don't know of any non-gcc compilers that perform alias optimization, + * so this code should work. + */ +@@ -117,17 +121,19 @@ typedef union txdpun { + + //-- Initialize Double related constants + #ifdef IS_BIG_ENDIAN +-const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, ++const PRUint32 nanMask[2] __d_align = {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}; ++const PRUint32 infMask[2] __d_align = {TX_DOUBLE_HI32_EXPMASK, 0}; ++const PRUint32 negInfMask[2] __d_align = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}; + #else +-const PRUint32 nanMask[2] = {0xffffffff, ++const PRUint32 nanMask[2] __d_align = {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}; ++const PRUint32 infMask[2] __d_align = {0, TX_DOUBLE_HI32_EXPMASK}; ++const PRUint32 negInfMask[2] __d_align = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}; + #endif + ++#undef __d_align ++ + const double Double::NaN = *((double*)nanMask); + const double Double::POSITIVE_INFINITY = *((double*)infMask); + const double Double::NEGATIVE_INFINITY = *((double*)negInfMask); |