summaryrefslogtreecommitdiff
path: root/www/firefox/patches/patch-bx
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox/patches/patch-bx')
-rw-r--r--www/firefox/patches/patch-bx53
1 files changed, 38 insertions, 15 deletions
diff --git a/www/firefox/patches/patch-bx b/www/firefox/patches/patch-bx
index 14ab725b71c..1ee48fcc6bc 100644
--- a/www/firefox/patches/patch-bx
+++ b/www/firefox/patches/patch-bx
@@ -1,13 +1,45 @@
-$NetBSD: patch-bx,v 1.1 2004/06/23 16:47:12 taya Exp $
+$NetBSD: patch-bx,v 1.2 2004/08/24 14:28:33 aymeric Exp $
-diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp
---- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp 2001-09-29 05:12:53.000000000 +0900
-+++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp 2004-06-15 23:56:59.000000000 +0900
-@@ -195,6 +195,47 @@
+--- xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp.orig 2001-09-28 22:12:53.000000000 +0200
++++ xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.cpp
+@@ -119,8 +119,10 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ if ((PRUint32) ap & 4) ap++; // doubles are 8-byte aligned on stack
+ dp->val.d = *(double*) ap;
+ ap += 2;
++#if __GXX_ABI_VERSION < 100
+ if (gpr < GPR_COUNT)
+ gpr += 2;
++#endif
+ }
+ continue;
+ }
+@@ -130,8 +132,10 @@ PrepareAndDispatch(nsXPTCStubBase* self,
+ else {
+ dp->val.f = *(float*) ap;
+ ap += 1;
++#if __GXX_ABI_VERSION < 100
+ if (gpr < GPR_COUNT)
+ gpr += 1;
++#endif
+ }
+ continue;
+ }
+@@ -195,7 +199,9 @@ PrepareAndDispatch(nsXPTCStubBase* self,
// however, it's quick, dirty, and'll break when the ABI changes on
// us, which is what we want ;-).
-+#if defined(__GXX_ABI_VERSION) && __GXX_ABI_VERSION >= 100 /* G++ V3 ABI */
+-#define STUB_ENTRY(n) \
++#if __GXX_ABI_VERSION < 100
++// gcc-2 version
++# define STUB_ENTRY(n) \
+ __asm__ ( \
+ ".section \".text\" \n\t" \
+ ".align 2 \n\t" \
+@@ -206,6 +212,46 @@ __asm__ (
+ "li 11,"#n" \n\t" \
+ "b SharedStub@local \n" \
+ );
++#else
+// gcc-3 version
+//
+// As G++3 ABI contains the length of the functionname in the mangled
@@ -23,7 +55,6 @@ diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.
+
+# define STUB_ENTRY(n) \
+__asm__ ( \
-+ ".section \".text\" \n\t" \
+ ".align 2 \n\t" \
+ ".if "#n" < 10 \n\t" \
+ ".globl _ZN14nsXPTCStubBase5Stub"#n"Ev \n\t" \
@@ -47,14 +78,6 @@ diff -ru ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_ppc_netbsd.
+ "li 11,"#n" \n\t" \
+ "b SharedStub@local \n" \
+);
-+#else
- #define STUB_ENTRY(n) \
- __asm__ ( \
- ".section \".text\" \n\t" \
-@@ -206,6 +247,7 @@
- "li 11,"#n" \n\t" \
- "b SharedStub@local \n" \
- );
+#endif
#define SENTINEL_ENTRY(n) \