pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/time/sunbird Update from version 0.9 to 0.9nb1.



details:   https://anonhg.NetBSD.org/pkgsrc/rev/0cde127d7fc5
branches:  trunk
changeset: 394883:0cde127d7fc5
user:      he <he%pkgsrc.org@localhost>
date:      Fri Jun 19 11:25:15 2009 +0000

description:
Update from version 0.9 to 0.9nb1.

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:

 time/sunbird/Makefile         |   4 +-
 time/sunbird/distinfo         |   3 +-
 time/sunbird/patches/patch-en |  47 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 51 insertions(+), 3 deletions(-)

diffs (78 lines):

diff -r 94968a1901f8 -r 0cde127d7fc5 time/sunbird/Makefile
--- a/time/sunbird/Makefile     Fri Jun 19 00:06:56 2009 +0000
+++ b/time/sunbird/Makefile     Fri Jun 19 11:25:15 2009 +0000
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.7 2009/05/29 13:22:11 he Exp $
+# $NetBSD: Makefile,v 1.8 2009/06/19 11:25:15 he Exp $
 
 MOZILLA=               sunbird
-#PKGREVISION=          1
+PKGREVISION=           1
 
 COMMENT=               Mozilla stand-alone calendar application
 
diff -r 94968a1901f8 -r 0cde127d7fc5 time/sunbird/distinfo
--- a/time/sunbird/distinfo     Fri Jun 19 00:06:56 2009 +0000
+++ b/time/sunbird/distinfo     Fri Jun 19 11:25:15 2009 +0000
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.13 2009/06/04 13:50:59 hasso Exp $
+$NetBSD: distinfo,v 1.14 2009/06/19 11:25:15 he Exp $
 
 SHA1 (lightning-sunbird-0.9-source.tar.bz2) = e85bbc08515cc64258fbba837b89f6ba55005480
 RMD160 (lightning-sunbird-0.9-source.tar.bz2) = d127fd16a59b945b10b125edf27a310c52a2725f
@@ -66,3 +66,4 @@
 SHA1 (patch-ek) = 663dc7b550ee5ee8fae36ed0a3fd33cf648424a9
 SHA1 (patch-el) = a3de4f5b9ff7939c5c4b970b7060154044958db0
 SHA1 (patch-em) = f764352c692409dc47b774705d987b135ae18a98
+SHA1 (patch-en) = eaa1cb5d2d87aa6f6fbe9aeb4b3b557f183cbc0a
diff -r 94968a1901f8 -r 0cde127d7fc5 time/sunbird/patches/patch-en
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/time/sunbird/patches/patch-en     Fri Jun 19 11:25:15 2009 +0000
@@ -0,0 +1,47 @@
+$NetBSD: patch-en,v 1.1 2009/06/19 11:25:15 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);



Home | Main Index | Thread Index | Old Index