a14b596750
XULRunner is a runtime environment for applications using the XML User Interface Language, XUL. It is the successor of the "Gecko" runtime environment.
49 lines
1.8 KiB
Text
49 lines
1.8 KiB
Text
$NetBSD: patch-xm,v 1.1.1.1 2009/08/05 02:59:49 tnn Exp $
|
|
|
|
NetBSD/ppc xptcall support code. Originally from pkgsrc/www/mozilla.
|
|
|
|
--- xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp.orig 2009-06-29 18:15:33.000000000 +0200
|
|
+++ xpcom/reflect/xptcall/src/md/unix/xptcinvoke_ppc_netbsd.cpp
|
|
@@ -40,9 +40,9 @@
|
|
|
|
// Platform specific code to invoke XPCOM methods on native objects
|
|
|
|
-// The purpose of XPTC_InvokeByIndex() is to map a platform
|
|
+// The purpose of NS_InvokeByIndex_P() is to map a platform
|
|
// indepenpent call to the platform ABI. To do that,
|
|
-// XPTC_InvokeByIndex() has to determine the method to call via vtable
|
|
+// NS_InvokeByIndex_P() has to determine the method to call via vtable
|
|
// access. The parameters for the method are read from the
|
|
// nsXPTCVariant* and prepared for the native ABI. For the Linux/PPC
|
|
// ABI this means that the first 8 integral and floating point
|
|
@@ -104,8 +104,10 @@ invoke_copy_to_stack(PRUint32* d,
|
|
if ((PRUint32) d & 4) d++; // doubles are 8-byte aligned on stack
|
|
*((double*) d) = s->val.d;
|
|
d += 2;
|
|
+#if __GXX_ABI_VERSION < 100
|
|
if (gpr < GPR_COUNT)
|
|
gpr += 2;
|
|
+#endif
|
|
}
|
|
}
|
|
else if (!s->IsPtrData() && s->type == nsXPTType::T_FLOAT) {
|
|
@@ -114,8 +116,10 @@ invoke_copy_to_stack(PRUint32* d,
|
|
else {
|
|
*((float*) d) = s->val.f;
|
|
d += 1;
|
|
+#if __GXX_ABI_VERSION < 100
|
|
if (gpr < GPR_COUNT)
|
|
gpr += 1;
|
|
+#endif
|
|
}
|
|
}
|
|
else if (!s->IsPtrData() && (s->type == nsXPTType::T_I64
|
|
@@ -142,6 +146,6 @@ invoke_copy_to_stack(PRUint32* d,
|
|
}
|
|
|
|
extern "C"
|
|
-XPTC_PUBLIC_API(nsresult)
|
|
-XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
|
|
+EXPORT_XPCOM_API(nsresult)
|
|
+NS_InvokeByIndex_P(nsISupports* that, PRUint32 methodIndex,
|
|
PRUint32 paramCount, nsXPTCVariant* params);
|