Merge lp://qastaging/~mcasadevall/thunderbird/icedove-2.0.0.22-2 into lp://qastaging/~mozillateam/thunderbird/icedove-2.0.0.x

Proposed by Michael Casadevall
Status: Needs review
Proposed branch: lp://qastaging/~mcasadevall/thunderbird/icedove-2.0.0.22-2
Merge into: lp://qastaging/~mozillateam/thunderbird/icedove-2.0.0.x
Diff against target: None lines
To merge this branch: bzr merge lp://qastaging/~mcasadevall/thunderbird/icedove-2.0.0.22-2
Reviewer Review Type Date Requested Status
Alexander Sack Pending
Review via email: mp+8334@code.qastaging.launchpad.net
To post a comment you must log in.

Unmerged revisions

101. By Michael Casadevall

* New upstream security/stability update (v2.0.0.21/v2.0.0.22)
* Merge of patches from Ubuntu karmic
* resolve crash in JS due to usage of wrong FPU number formats on ARM EABI
  - Thanks to Loic Minier for creating the cherry-picked patch
  - add debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc
  - update debian/patches/series
* resolve a stack corruption issue on ARM EABI by cherrypicking patches from
  1.9 mozilla branch
   - add debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc
   - update debian/patches/series
* updated my Uploaders email address in debian/control

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2009-07-01 21:45:44 +0000
+++ debian/changelog 2009-07-07 18:28:00 +0000
@@ -1,8 +1,23 @@
1icedove (2.0.0.22-2) UNRELEASED; urgency=low1icedove (2.0.0.22-2) UNRELEASED; urgency=low
22
3 * New upstream security/stability update (v2.0.0.21/v2.0.0.22)
4
5 [ Michael Casadevall ]
6 * Merge of patches from Ubuntu karmic
7 * resolve crash in JS due to usage of wrong FPU number formats on ARM EABI
8 - Thanks to Loic Minier for creating the cherry-picked patch
9 - add debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc
10 - update debian/patches/series
11 * resolve a stack corruption issue on ARM EABI by cherrypicking patches from
12 1.9 mozilla branch
13 - add debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc
14 - update debian/patches/series
15 * updated my Uploaders email address in debian/control
16
17 [ Alexander Sack ]
3 * take back Maintainer: field in debian/control18 * take back Maintainer: field in debian/control
419
5 -- Alexander Sack <asac@debian.org> Wed, 01 Jul 2009 16:11:33 +000020 -- Michael Casadevall <mcasadevall@debian.org> Mon, 06 Jul 2009 01:29:57 -0400
621
7icedove (2.0.0.22-1) unstable; urgency=low22icedove (2.0.0.22-1) unstable; urgency=low
823
924
=== modified file 'debian/control'
--- debian/control 2009-07-01 21:45:44 +0000
+++ debian/control 2009-07-07 18:28:00 +0000
@@ -2,7 +2,7 @@
2Section: mail2Section: mail
3Priority: optional3Priority: optional
4Maintainer: Alexander Sack <asac@debian.org>4Maintainer: Alexander Sack <asac@debian.org>
5Uploaders: Michael Casadevall <sonicmctails@gmail.com>, Fabien Tassin <fta@ubuntu.com>5Uploaders: Michael Casadevall <mcasadevall@debian.org>, Fabien Tassin <fta@ubuntu.com>
6Build-Depends: bzip2, autotools-dev, debhelper (>= 5), quilt, patchutils (>= 0.2.25), cdbs (>= 0.4.27-1), libx11-dev, libxt-dev, libgtk2.0-dev (>= 2.8), zlib1g-dev, liborbit2-dev, libidl-dev (>= 0.8.0), zip, libxft-dev, libfreetype6-dev, libpng12-dev, libjpeg62-dev, libxrender-dev, libxinerama-dev, libcairo2-dev, libgnome2-dev, libgconf2-dev, libgnomevfs2-dev, libgnomeui-dev, sharutils, m4, binutils (>= 2.17-1) [mips mipsel], libhunspell-dev, libnss3-dev (>= 3.11.5-3), libnspr4-dev6Build-Depends: bzip2, autotools-dev, debhelper (>= 5), quilt, patchutils (>= 0.2.25), cdbs (>= 0.4.27-1), libx11-dev, libxt-dev, libgtk2.0-dev (>= 2.8), zlib1g-dev, liborbit2-dev, libidl-dev (>= 0.8.0), zip, libxft-dev, libfreetype6-dev, libpng12-dev, libjpeg62-dev, libxrender-dev, libxinerama-dev, libcairo2-dev, libgnome2-dev, libgconf2-dev, libgnomevfs2-dev, libgnomeui-dev, sharutils, m4, binutils (>= 2.17-1) [mips mipsel], libhunspell-dev, libnss3-dev (>= 3.11.5-3), libnspr4-dev
7Vcs-Bzr: https://code.launchpad.net/~mozillateam/thunderbird/icedove-2.0.0.x7Vcs-Bzr: https://code.launchpad.net/~mozillateam/thunderbird/icedove-2.0.0.x
8Standards-Version: 3.7.2.18Standards-Version: 3.7.2.1
99
=== added file 'debian/patches/bz280419_att_267284-readonly-download.patch'
--- debian/patches/bz280419_att_267284-readonly-download.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/bz280419_att_267284-readonly-download.patch 2009-07-07 18:28:00 +0000
@@ -0,0 +1,28 @@
1---
2 uriloader/exthandler/nsExternalHelperAppService.cpp | 3 +++
3 1 file changed, 3 insertions(+)
4
5Index: mozilla/uriloader/exthandler/nsExternalHelperAppService.cpp
6===================================================================
7--- mozilla.orig/uriloader/exthandler/nsExternalHelperAppService.cpp
8+++ mozilla/uriloader/exthandler/nsExternalHelperAppService.cpp
9@@ -2422,16 +2422,19 @@
10 return NS_OK;
11
12 // we only should have gotten here if the on stop request had been fired already.
13
14 NS_ASSERTION(mStopRequestIssued, "uhoh, how did we get here if we aren't done getting data?");
15 // if a stop request was already issued then proceed with launching the application.
16 if (mStopRequestIssued)
17 {
18+ // make the tmp file readonly so users won't edit it and loose the changes
19+ mFinalFileDestination->SetPermissions(0400);
20+
21 rv = mMimeInfo->LaunchWithFile(mFinalFileDestination);
22 if (NS_FAILED(rv))
23 {
24 // Send error notification.
25 nsAutoString path;
26 mFinalFileDestination->GetPath(path);
27 SendStatusChange(kLaunchError, rv, nsnull, path);
28 Cancel(rv); // Cancel, and clean up temp file.
029
=== added file 'debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc.patch'
--- debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc.patch 2009-07-07 18:28:00 +0000
@@ -0,0 +1,41 @@
1diff --git a/js/src/jsnum.h b/js/src/jsnum.h
2index c0f5223..22ae290 100644
3--- a/js/src/jsnum.h
4+++ b/js/src/jsnum.h
5@@ -54,21 +54,20 @@
6 JS_BEGIN_EXTERN_C
7
8 /*
9- * Stefan Hanske <sh990154@mail.uni-greifswald.de> reports:
10- * ARM is a little endian architecture but 64 bit double words are stored
11- * differently: the 32 bit words are in little endian byte order, the two words
12- * are stored in big endian`s way.
13+ * The ARM architecture supports two floating point models: VFP and FPA. When
14+ * targetting FPA, doubles are mixed-endian on little endian ARMs (meaning that
15+ * the high and low words are in big endian order).
16 */
17
18 #if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)
19-#ifndef __QNXNTO__
20-#define CPU_IS_ARM
21+#if !defined(__VFP_FP__)
22+#define FPU_IS_ARM_FPA
23 #endif
24 #endif
25
26 typedef union jsdpun {
27 struct {
28-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
29+#if defined(IS_LITTLE_ENDIAN) && !defined(FPU_IS_ARM_FPA)
30 uint32 lo, hi;
31 #else
32 uint32 hi, lo;
33@@ -97,7 +96,7 @@ typedef union jsdpun {
34 * so this code should work.
35 */
36
37-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
38+#if defined(IS_LITTLE_ENDIAN) && !defined(FPU_IS_ARM_FPA)
39 #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[1])
40 #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[0])
41 #else
042
=== added file 'debian/patches/bz339782_cvs_xptcinvoke_arm_backport_1.13.patch'
--- debian/patches/bz339782_cvs_xptcinvoke_arm_backport_1.13.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/bz339782_cvs_xptcinvoke_arm_backport_1.13.patch 2009-07-07 18:28:00 +0000
@@ -0,0 +1,83 @@
1Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
2===================================================================
3--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp 2009-06-25 11:12:00.000000000 -0400
4+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp 2009-06-25 11:32:55.000000000 -0400
5@@ -43,6 +43,17 @@
6 #error "This code is for Linux ARM only. Check that it works on your system, too.\nBeware that this code is highly compiler dependent."
7 #endif
8
9+/* Note that we give a "worst case" estimate of how much stack _might_ be
10+* needed (for __ARM_EABI__), rather than the real count - this should be safe */
11+
12+#ifdef __ARM_EABI__
13+#define DOUBLEWORD_ALIGN(p) ((PRUint32 *)((((PRUint32)(p)) + 7) & 0xfffffff8))
14+#define VAR_STACK_SIZE_64 3
15+#else
16+#define DOUBLEWORD_ALIGN(p) (p)
17+#define VAR_STACK_SIZE_64 2
18+#endif
19+
20 // Remember that these 'words' are 32bit DWORDS
21
22 static PRUint32
23@@ -64,7 +75,7 @@
24 result++;
25 break;
26 case nsXPTType::T_I64 :
27- result+=2;
28+ result+=VAR_STACK_SIZE_64;
29 break;
30 case nsXPTType::T_U8 :
31 case nsXPTType::T_U16 :
32@@ -72,13 +83,13 @@
33 result++;
34 break;
35 case nsXPTType::T_U64 :
36- result+=2;
37+ result+=VAR_STACK_SIZE_64 ;
38 break;
39 case nsXPTType::T_FLOAT :
40 result++;
41 break;
42 case nsXPTType::T_DOUBLE :
43- result+=2;
44+ result+=VAR_STACK_SIZE_64 ;
45 break;
46 case nsXPTType::T_BOOL :
47 case nsXPTType::T_CHAR :
48@@ -91,6 +102,15 @@
49 break;
50 }
51 }
52+
53+#ifdef __ARM_EABI__
54+ /* Ensure stack is always aligned to doubleword boundary; we take 3 words
55+ * off the stack to r1-r3 later, so it must always be on _odd_ word
56+ * boundary after this */
57+ if (result % 2 == 0)
58+ result++;
59+#endif
60+
61 return result;
62 }
63
64@@ -109,13 +129,16 @@
65 case nsXPTType::T_I8 : *((PRInt8*) d) = s->val.i8; break;
66 case nsXPTType::T_I16 : *((PRInt16*) d) = s->val.i16; break;
67 case nsXPTType::T_I32 : *((PRInt32*) d) = s->val.i32; break;
68- case nsXPTType::T_I64 : *((PRInt64*) d) = s->val.i64; d++; break;
69+ case nsXPTType::T_I64 : d = DOUBLEWORD_ALIGN(d);
70+ *((PRInt64*) d) = s->val.i64; d++; break;
71 case nsXPTType::T_U8 : *((PRUint8*) d) = s->val.u8; break;
72 case nsXPTType::T_U16 : *((PRUint16*)d) = s->val.u16; break;
73 case nsXPTType::T_U32 : *((PRUint32*)d) = s->val.u32; break;
74- case nsXPTType::T_U64 : *((PRUint64*)d) = s->val.u64; d++; break;
75+ case nsXPTType::T_U64 : d = DOUBLEWORD_ALIGN(d);
76+ *((PRUint64*)d) = s->val.u64; d++; break;
77 case nsXPTType::T_FLOAT : *((float*) d) = s->val.f; break;
78- case nsXPTType::T_DOUBLE : *((double*) d) = s->val.d; d++; break;
79+ case nsXPTType::T_DOUBLE : d = DOUBLEWORD_ALIGN(d);
80+ *((double*) d) = s->val.d; d++; break;
81 case nsXPTType::T_BOOL : *((PRBool*) d) = s->val.b; break;
82 case nsXPTType::T_CHAR : *((char*) d) = s->val.c; break;
83 case nsXPTType::T_WCHAR : *((wchar_t*) d) = s->val.wc; break;
084
=== modified file 'debian/patches/series'
--- debian/patches/series 2008-07-24 16:07:29 +0000
+++ debian/patches/series 2009-07-07 18:28:00 +0000
@@ -32,3 +32,6 @@
32replytolist_2.x.patch32replytolist_2.x.patch
33bzXXX_ftbfs_fontconfig.patch33bzXXX_ftbfs_fontconfig.patch
34autoconf2.13-rerun34autoconf2.13-rerun
35bz280419_att_267284-readonly-download.patch
36bz322806_arm-vfp-2538:3f78d5e894bc.patch
37bz339782_cvs_xptcinvoke_arm_backport_1.13.patch

Subscribers

People subscribed via source and target branches