$NetBSD: patch-xg,v 1.1 2014/07/27 05:36:07 ryoon Exp $ NetBSD/arm xptcall support code. From pkgsrc/www/firefox/patch-bm. --- mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp.orig 2012-08-25 00:31:35.000000000 +0000 +++ mozilla/xpcom/reflect/xptcall/src/md/unix/xptcstubs_arm_netbsd.cpp @@ -86,18 +86,23 @@ PrepareAndDispatch(nsXPTCStubBase* self, * 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" \