mirror of
https://github.com/Stichting-MINIX-Research-Foundation/pkgsrc-ng.git
synced 2025-08-03 09:48:00 -04:00
44 lines
1.7 KiB
Plaintext
44 lines
1.7 KiB
Plaintext
$NetBSD: patch-xf,v 1.5 2012/09/02 06:43:44 ryoon Exp $
|
|
|
|
NetBSD/m68k xptcall support code. From pkgsrc/www/firefox/patch-ae.
|
|
|
|
--- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp.orig 2012-08-25 00:31:36.000000000 +0000
|
|
+++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_netbsd_m68k.cpp
|
|
@@ -91,17 +91,27 @@ extern "C" {
|
|
}
|
|
}
|
|
|
|
+/*
|
|
+ * Beware: use % instead of %% for register identifiers in a preprocessor macro
|
|
+ * SYMBOL PREFIX must be "_" for aout and "" for ELF
|
|
+ */
|
|
+#ifndef __ELF__
|
|
+#define SYMBOLPREFIX "_"
|
|
+#else
|
|
+#define SYMBOLPREFIX
|
|
+#endif
|
|
+
|
|
#define STUB_ENTRY(n) \
|
|
__asm__( \
|
|
- ".global _Stub"#n"__14nsXPTCStubBase\n\t" \
|
|
-"_Stub"#n"__14nsXPTCStubBase:\n\t" \
|
|
- "link a6,#0 \n\t" \
|
|
- "lea a6@(12), a0 \n\t" /* pointer to args */ \
|
|
- "movl a0, sp@- \n\t" \
|
|
- "movl #"#n", sp@- \n\t" /* method index */ \
|
|
- "movl a6@(8), sp@- \n\t" /* this */ \
|
|
- "jbsr _PrepareAndDispatch \n\t" \
|
|
- "unlk a6 \n\t" \
|
|
+ ".global "SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase\n\t" \
|
|
+SYMBOLPREFIX"Stub"#n"__14nsXPTCStubBase:\n\t" \
|
|
+ "link %a6,#0 \n\t" \
|
|
+ "lea %a6@(12), %a0 \n\t" /* pointer to args */ \
|
|
+ "movl %a0, %sp@- \n\t" \
|
|
+ "movl #"#n", %sp@- \n\t" /* method index */ \
|
|
+ "movl %a6@(8), %sp@- \n\t" /* this */ \
|
|
+ "jbsr "SYMBOLPREFIX"PrepareAndDispatch\n\t" \
|
|
+ "unlk %a6 \n\t" \
|
|
"rts \n\t" \
|
|
);
|
|
|