1 $NetBSD: patch-ad,v 1.1.1.1 2008/06/28 10:01:07 tnn Exp $
3 diff -ruN ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp ./xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp
4 --- ../Orig/mozilla/xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp 2004-04-18 23:18:18.000000000 +0900
5 +++ ./xpcom/reflect/xptcall/src/md/unix/xptcinvoke_netbsd_m68k.cpp 2005-12-04 19:03:09.000000000 +0900
11 + * SYMBOL PREFIX must be "_" for aout symbols and "" for ELF
14 +#define SYMBOLPREFIX "_"
19 XPTC_PUBLIC_API(nsresult)
20 XPTC_InvokeByIndex(nsISupports* that, PRUint32 methodIndex,
21 PRUint32 paramCount, nsXPTCVariant* params)
28 - "jbsr _invoke_count_words\n\t" /* count words */
30 - "lsll #2, d0\n\t" /* *= 4 */
31 - "movl sp, a2\n\t" /* save original sp */
32 - "subl d0, sp\n\t" /* make room for params */
37 - "jbsr _invoke_copy_to_stack\n\t" /* copy params */
41 - "movl %2, d0\n\t" /* function index */
43 - "movw a1@(8,d0:l:8), a0\n\t"
45 - "movl a1@(12,d0:l:8), a1\n\t"
48 - "movl a2, sp\n\t" /* restore original sp */
50 + "movl %4, %%sp@-\n\t"
51 + "movl %3, %%sp@-\n\t"
52 + "jbsr "SYMBOLPREFIX"invoke_count_words\n\t" /* count words */
53 + "addql #8, %%sp\n\t"
54 + "lsll #2, %%d0\n\t" /* *= 4 */
55 + "movl %%sp, %%a2\n\t" /* save original sp */
56 + "subl %%d0, %%sp\n\t" /* make room for params */
57 + "movl %%sp, %%a0\n\t"
58 + "movl %4, %%sp@-\n\t"
59 + "movl %3, %%sp@-\n\t"
60 + "movl %%a0, %%sp@-\n\t"
61 + "jbsr "SYMBOLPREFIX"invoke_copy_to_stack\n\t" /* copy params */
62 + "addl #12, %%sp\n\t"
64 + "movl %%a0@, %%a1\n\t"
65 + "movl %2, %%d0\n\t" /* function index */
66 + "movl %%a0, %%d1\n\t"
67 + "movw %%a1@(8,%%d0:l:8), %%a0\n\t"
68 + "addl %%a0, %%d1\n\t"
69 + "movl %%a1@(12,%%d0:l:8), %%a1\n\t"
70 + "movl %%d1, %%sp@-\n\t"
72 + "movl %%a2, %%sp\n\t" /* restore original sp */
74 : "=g" (result) /* %0 */
75 : "g" (that), /* %1 */
76 "g" (methodIndex), /* %2 */