components/desktop/firefox/patches/firefox31-317-sparc-xptcall.patch
changeset 5527 611b2d6efdfe
parent 5526 570ac9aab8b2
child 5528 f2f5af510081
--- a/components/desktop/firefox/patches/firefox31-317-sparc-xptcall.patch	Tue Mar 01 10:33:35 2016 -0800
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-See Mozilla bug #1153707 - [JavaScript Error: "invalid 'in' operand 
-aLivemarkInfo"] when calling method: [mozIAsyncLivemarks::getLivemark].
-This is already upstream in version 38. 
-
---- mozilla-esr31/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc_solaris.cpp.orig	2015-06-04 17:42:52.730766562 -0700
-+++ mozilla-esr31/xpcom/reflect/xptcall/src/md/unix/xptcstubs_sparc_solaris.cpp	2015-06-04 17:42:52.738654394 -0700
-@@ -52,13 +52,17 @@
- 
-         if(param.IsOut() || !type.IsArithmetic())
-         {
--            dp->val.p = (void*) *ap;
-+            if (type == nsXPTType::T_JSVAL)
-+                dp->val.p = *((void**)*ap);
-+            else
-+                dp->val.p = (void*) *ap;
-+
-             continue;
-         }
-         // else
-         switch(type)
-         {
--        case nsXPTType::T_I8     : dp->val.i8  = *((int32_t*)  ap);       break;
-+        case nsXPTType::T_I8     : dp->val.i8  = *((int32_t*) ap);       break;
-         case nsXPTType::T_I16    : dp->val.i16 = *((int32_t*) ap);       break;
-         case nsXPTType::T_I32    : dp->val.i32 = *((int32_t*) ap);       break;
-         case nsXPTType::T_DOUBLE :
---- mozilla-esr31/js/xpconnect/src/XPCWrappedJSClass.cpp.orig	2015-06-04 17:42:52.736217989 -0700
-+++ mozilla-esr31/js/xpconnect/src/XPCWrappedJSClass.cpp	2015-06-04 17:42:52.739152339 -0700
-@@ -1357,21 +1357,9 @@
-                 break;
-         }
- 
--// see bug #961488
--#if (defined(XP_UNIX) && !defined(XP_MACOSX) && !defined(_AIX)) && \
--    ((defined(__sparc) && !defined(__sparcv9) && !defined(__sparcv9__)) || \
--    (defined(__powerpc__) && !defined (__powerpc64__)))
--        if (type_tag == nsXPTType::T_JSVAL) {
--            if (!XPCConvert::JSData2Native(*(void**)(&pv->val), val, type,
--                                           !param.IsDipper(), &param_iid, nullptr))
--                break;
--        } else
--#endif
--        {
--            if (!XPCConvert::JSData2Native(&pv->val, val, type,
--                                           !param.IsDipper(), &param_iid, nullptr))
--                break;
--        }
-+        if (!XPCConvert::JSData2Native(&pv->val, val, type,
-+                                       !param.IsDipper(), &param_iid, nullptr))
-+            break;
-     }
- 
-     // if any params were dependent, then we must iterate again to convert them.