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
1=== modified file 'debian/changelog'
2--- debian/changelog 2009-07-01 21:45:44 +0000
3+++ debian/changelog 2009-07-07 18:28:00 +0000
4@@ -1,8 +1,23 @@
5 icedove (2.0.0.22-2) UNRELEASED; urgency=low
6
7+ * New upstream security/stability update (v2.0.0.21/v2.0.0.22)
8+
9+ [ Michael Casadevall ]
10+ * Merge of patches from Ubuntu karmic
11+ * resolve crash in JS due to usage of wrong FPU number formats on ARM EABI
12+ - Thanks to Loic Minier for creating the cherry-picked patch
13+ - add debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc
14+ - update debian/patches/series
15+ * resolve a stack corruption issue on ARM EABI by cherrypicking patches from
16+ 1.9 mozilla branch
17+ - add debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc
18+ - update debian/patches/series
19+ * updated my Uploaders email address in debian/control
20+
21+ [ Alexander Sack ]
22 * take back Maintainer: field in debian/control
23
24- -- Alexander Sack <asac@debian.org> Wed, 01 Jul 2009 16:11:33 +0000
25+ -- Michael Casadevall <mcasadevall@debian.org> Mon, 06 Jul 2009 01:29:57 -0400
26
27 icedove (2.0.0.22-1) unstable; urgency=low
28
29
30=== modified file 'debian/control'
31--- debian/control 2009-07-01 21:45:44 +0000
32+++ debian/control 2009-07-07 18:28:00 +0000
33@@ -2,7 +2,7 @@
34 Section: mail
35 Priority: optional
36 Maintainer: Alexander Sack <asac@debian.org>
37-Uploaders: Michael Casadevall <sonicmctails@gmail.com>, Fabien Tassin <fta@ubuntu.com>
38+Uploaders: Michael Casadevall <mcasadevall@debian.org>, Fabien Tassin <fta@ubuntu.com>
39 Build-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
40 Vcs-Bzr: https://code.launchpad.net/~mozillateam/thunderbird/icedove-2.0.0.x
41 Standards-Version: 3.7.2.1
42
43=== added file 'debian/patches/bz280419_att_267284-readonly-download.patch'
44--- debian/patches/bz280419_att_267284-readonly-download.patch 1970-01-01 00:00:00 +0000
45+++ debian/patches/bz280419_att_267284-readonly-download.patch 2009-07-07 18:28:00 +0000
46@@ -0,0 +1,28 @@
47+---
48+ uriloader/exthandler/nsExternalHelperAppService.cpp | 3 +++
49+ 1 file changed, 3 insertions(+)
50+
51+Index: mozilla/uriloader/exthandler/nsExternalHelperAppService.cpp
52+===================================================================
53+--- mozilla.orig/uriloader/exthandler/nsExternalHelperAppService.cpp
54++++ mozilla/uriloader/exthandler/nsExternalHelperAppService.cpp
55+@@ -2422,16 +2422,19 @@
56+ return NS_OK;
57+
58+ // we only should have gotten here if the on stop request had been fired already.
59+
60+ NS_ASSERTION(mStopRequestIssued, "uhoh, how did we get here if we aren't done getting data?");
61+ // if a stop request was already issued then proceed with launching the application.
62+ if (mStopRequestIssued)
63+ {
64++ // make the tmp file readonly so users won't edit it and loose the changes
65++ mFinalFileDestination->SetPermissions(0400);
66++
67+ rv = mMimeInfo->LaunchWithFile(mFinalFileDestination);
68+ if (NS_FAILED(rv))
69+ {
70+ // Send error notification.
71+ nsAutoString path;
72+ mFinalFileDestination->GetPath(path);
73+ SendStatusChange(kLaunchError, rv, nsnull, path);
74+ Cancel(rv); // Cancel, and clean up temp file.
75
76=== added file 'debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc.patch'
77--- debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc.patch 1970-01-01 00:00:00 +0000
78+++ debian/patches/bz322806_arm-vfp-2538:3f78d5e894bc.patch 2009-07-07 18:28:00 +0000
79@@ -0,0 +1,41 @@
80+diff --git a/js/src/jsnum.h b/js/src/jsnum.h
81+index c0f5223..22ae290 100644
82+--- a/js/src/jsnum.h
83++++ b/js/src/jsnum.h
84+@@ -54,21 +54,20 @@
85+ JS_BEGIN_EXTERN_C
86+
87+ /*
88+- * Stefan Hanske <sh990154@mail.uni-greifswald.de> reports:
89+- * ARM is a little endian architecture but 64 bit double words are stored
90+- * differently: the 32 bit words are in little endian byte order, the two words
91+- * are stored in big endian`s way.
92++ * The ARM architecture supports two floating point models: VFP and FPA. When
93++ * targetting FPA, doubles are mixed-endian on little endian ARMs (meaning that
94++ * the high and low words are in big endian order).
95+ */
96+
97+ #if defined(__arm) || defined(__arm32__) || defined(__arm26__) || defined(__arm__)
98+-#ifndef __QNXNTO__
99+-#define CPU_IS_ARM
100++#if !defined(__VFP_FP__)
101++#define FPU_IS_ARM_FPA
102+ #endif
103+ #endif
104+
105+ typedef union jsdpun {
106+ struct {
107+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
108++#if defined(IS_LITTLE_ENDIAN) && !defined(FPU_IS_ARM_FPA)
109+ uint32 lo, hi;
110+ #else
111+ uint32 hi, lo;
112+@@ -97,7 +96,7 @@ typedef union jsdpun {
113+ * so this code should work.
114+ */
115+
116+-#if defined(IS_LITTLE_ENDIAN) && !defined(CPU_IS_ARM)
117++#if defined(IS_LITTLE_ENDIAN) && !defined(FPU_IS_ARM_FPA)
118+ #define JSDOUBLE_HI32(x) (((uint32 *)&(x))[1])
119+ #define JSDOUBLE_LO32(x) (((uint32 *)&(x))[0])
120+ #else
121
122=== added file 'debian/patches/bz339782_cvs_xptcinvoke_arm_backport_1.13.patch'
123--- debian/patches/bz339782_cvs_xptcinvoke_arm_backport_1.13.patch 1970-01-01 00:00:00 +0000
124+++ debian/patches/bz339782_cvs_xptcinvoke_arm_backport_1.13.patch 2009-07-07 18:28:00 +0000
125@@ -0,0 +1,83 @@
126+Index: mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp
127+===================================================================
128+--- mozilla.orig/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp 2009-06-25 11:12:00.000000000 -0400
129++++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_arm.cpp 2009-06-25 11:32:55.000000000 -0400
130+@@ -43,6 +43,17 @@
131+ #error "This code is for Linux ARM only. Check that it works on your system, too.\nBeware that this code is highly compiler dependent."
132+ #endif
133+
134++/* Note that we give a "worst case" estimate of how much stack _might_ be
135++* needed (for __ARM_EABI__), rather than the real count - this should be safe */
136++
137++#ifdef __ARM_EABI__
138++#define DOUBLEWORD_ALIGN(p) ((PRUint32 *)((((PRUint32)(p)) + 7) & 0xfffffff8))
139++#define VAR_STACK_SIZE_64 3
140++#else
141++#define DOUBLEWORD_ALIGN(p) (p)
142++#define VAR_STACK_SIZE_64 2
143++#endif
144++
145+ // Remember that these 'words' are 32bit DWORDS
146+
147+ static PRUint32
148+@@ -64,7 +75,7 @@
149+ result++;
150+ break;
151+ case nsXPTType::T_I64 :
152+- result+=2;
153++ result+=VAR_STACK_SIZE_64;
154+ break;
155+ case nsXPTType::T_U8 :
156+ case nsXPTType::T_U16 :
157+@@ -72,13 +83,13 @@
158+ result++;
159+ break;
160+ case nsXPTType::T_U64 :
161+- result+=2;
162++ result+=VAR_STACK_SIZE_64 ;
163+ break;
164+ case nsXPTType::T_FLOAT :
165+ result++;
166+ break;
167+ case nsXPTType::T_DOUBLE :
168+- result+=2;
169++ result+=VAR_STACK_SIZE_64 ;
170+ break;
171+ case nsXPTType::T_BOOL :
172+ case nsXPTType::T_CHAR :
173+@@ -91,6 +102,15 @@
174+ break;
175+ }
176+ }
177++
178++#ifdef __ARM_EABI__
179++ /* Ensure stack is always aligned to doubleword boundary; we take 3 words
180++ * off the stack to r1-r3 later, so it must always be on _odd_ word
181++ * boundary after this */
182++ if (result % 2 == 0)
183++ result++;
184++#endif
185++
186+ return result;
187+ }
188+
189+@@ -109,13 +129,16 @@
190+ case nsXPTType::T_I8 : *((PRInt8*) d) = s->val.i8; break;
191+ case nsXPTType::T_I16 : *((PRInt16*) d) = s->val.i16; break;
192+ case nsXPTType::T_I32 : *((PRInt32*) d) = s->val.i32; break;
193+- case nsXPTType::T_I64 : *((PRInt64*) d) = s->val.i64; d++; break;
194++ case nsXPTType::T_I64 : d = DOUBLEWORD_ALIGN(d);
195++ *((PRInt64*) d) = s->val.i64; d++; break;
196+ case nsXPTType::T_U8 : *((PRUint8*) d) = s->val.u8; break;
197+ case nsXPTType::T_U16 : *((PRUint16*)d) = s->val.u16; break;
198+ case nsXPTType::T_U32 : *((PRUint32*)d) = s->val.u32; break;
199+- case nsXPTType::T_U64 : *((PRUint64*)d) = s->val.u64; d++; break;
200++ case nsXPTType::T_U64 : d = DOUBLEWORD_ALIGN(d);
201++ *((PRUint64*)d) = s->val.u64; d++; break;
202+ case nsXPTType::T_FLOAT : *((float*) d) = s->val.f; break;
203+- case nsXPTType::T_DOUBLE : *((double*) d) = s->val.d; d++; break;
204++ case nsXPTType::T_DOUBLE : d = DOUBLEWORD_ALIGN(d);
205++ *((double*) d) = s->val.d; d++; break;
206+ case nsXPTType::T_BOOL : *((PRBool*) d) = s->val.b; break;
207+ case nsXPTType::T_CHAR : *((char*) d) = s->val.c; break;
208+ case nsXPTType::T_WCHAR : *((wchar_t*) d) = s->val.wc; break;
209
210=== modified file 'debian/patches/series'
211--- debian/patches/series 2008-07-24 16:07:29 +0000
212+++ debian/patches/series 2009-07-07 18:28:00 +0000
213@@ -32,3 +32,6 @@
214 replytolist_2.x.patch
215 bzXXX_ftbfs_fontconfig.patch
216 autoconf2.13-rerun
217+bz280419_att_267284-readonly-download.patch
218+bz322806_arm-vfp-2538:3f78d5e894bc.patch
219+bz339782_cvs_xptcinvoke_arm_backport_1.13.patch

Subscribers

People subscribed via source and target branches