From af8f6b33a5263ecec1b88382f0f4248f5f86de8f Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Tue, 23 Dec 2014 15:56:26 +0100 Subject: Added fix for rhbz#1170109 - data corruption bug on armhfp --- firefox.spec | 3 +++ mozilla-1050258.patch | 29 +++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 mozilla-1050258.patch diff --git a/firefox.spec b/firefox.spec index 0fbff9c..58b4af2 100644 --- a/firefox.spec +++ b/firefox.spec @@ -151,6 +151,7 @@ Patch219: rhbz-1173156.patch # Upstream patches Patch300: mozilla-858919.patch Patch301: mozilla-1097550-dict-fix.patch +Patch302: mozilla-1050258.patch # Gtk3 upstream patches Patch402: mozilla-gtk3-tab-size.patch @@ -307,6 +308,7 @@ cd %{tarballdir} # Upstream patches %patch300 -p1 -b .858919 %patch301 -p1 -b .1097550-dict-fix +%patch302 -p1 -b .1050258 %if %{toolkit_gtk3} %patch402 -p1 -b .gtk3-tab-size @@ -782,6 +784,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : * Tue Dec 23 2014 Martin Stransky - 34.0-9 - Added fix for rhbz#1173156 - Native NTLM authentication on Linux unsupported +- Added fix for rhbz#1170109 - data corruption bug on armhfp * Sat Dec 13 2014 Martin Stransky - 34.0-8 - Gtk3 - Workaround for Firefox freeze when accessibility is enabled diff --git a/mozilla-1050258.patch b/mozilla-1050258.patch new file mode 100644 index 0000000..e00fbba --- /dev/null +++ b/mozilla-1050258.patch @@ -0,0 +1,29 @@ +# HG changeset patch +# User Douglas Crosher +# Date 1415349848 -39600 +# Fri Nov 07 19:44:08 2014 +1100 +# Node ID b98d6205da98b5bec30b0677c30a6d09f351f4b8 +# Parent 17e19083908620e8a83876e49bac6f6ba2fcc272 +Bug 1050258 - ARM hard-float XPCOM: correct argument passing. + +diff --git a/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp b/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp +--- a/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp ++++ b/xpcom/reflect/xptcall/md/unix/xptcinvoke_arm.cpp +@@ -219,16 +219,17 @@ static inline void copy_dword(uint32_t* + { + if (ireg_args + 1 < end) { + if ((uint32_t)ireg_args & 4) { + ireg_args++; + } + *(uint64_t *)ireg_args = data; + ireg_args += 2; + } else { ++ ireg_args = end; + if ((uint32_t)stack_args & 4) { + stack_args++; + } + *(uint64_t *)stack_args = data; + stack_args += 2; + } + } + -- cgit