summaryrefslogtreecommitdiff
path: root/www/firefox3/patches/patch-bm
diff options
context:
space:
mode:
Diffstat (limited to 'www/firefox3/patches/patch-bm')
-rw-r--r--www/firefox3/patches/patch-bm32
1 files changed, 32 insertions, 0 deletions
diff --git a/www/firefox3/patches/patch-bm b/www/firefox3/patches/patch-bm
new file mode 100644
index 00000000000..aa82de66222
--- /dev/null
+++ b/www/firefox3/patches/patch-bm
@@ -0,0 +1,32 @@
+$NetBSD: patch-bm,v 1.1.1.1 2008/06/28 10:01:07 tnn Exp $
+
+diff -ruN ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp
+--- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp 2004-04-18 23:18:18.000000000 +0900
++++ ./xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp 2005-12-04 19:17:13.000000000 +0900
+@@ -118,18 +118,23 @@
+ * so they are contiguous with values passed on the stack, and then calls
+ * PrepareAndDispatch() to do the dirty work.
+ */
++#ifndef __ELF__
++#define SYMBOLPREFIX "_"
++#else
++#define SYMBOLPREFIX
++#endif
+
+ #define STUB_ENTRY(n) \
+ __asm__( \
+- ".global _Stub"#n"__14nsXPTCStubBase\n\t" \
+-"_Stub"#n"__14nsXPTCStubBase:\n\t" \
++ ".global "SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase\n\t" \
++SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase:\n\t" \
+ "stmfd sp!, {r1, r2, r3} \n\t" \
+ "mov ip, sp \n\t" \
+ "stmfd sp!, {fp, ip, lr, pc} \n\t" \
+ "sub fp, ip, #4 \n\t" \
+ "mov r1, #"#n" \n\t" /* = methodIndex */ \
+ "add r2, sp, #16 \n\t" \
+- "bl _PrepareAndDispatch__FP14nsXPTCStubBaseUiPUi \n\t" \
++ "bl "SYMBOLPREFIX"PrepareAndDispatch__FP14nsXPTCStubBaseUiPUi \n\t" \
+ "ldmea fp, {fp, sp, lr} \n\t" \
+ "add sp, sp, #12 \n\t" \
+ "mov pc, lr \n\t" \