return addr;
}
+#ifdef LEADING_UNDERSCORE
+#define UNDERSCORE "_"
+#else
+#define UNDERSCORE ""
+#endif
#if defined(i386_HOST_ARCH)
/*
Now here's something obscure for you:
to return to it before tail jumping from the adjustor thunk.
*/
__asm__ (
- ".globl obscure_ccall_ret_code\n"
- "obscure_ccall_ret_code:\n\t"
+ ".globl " UNDERSCORE "obscure_ccall_ret_code\n"
+ UNDERSCORE "obscure_ccall_ret_code:\n\t"
"addl $0x4, %esp\n\t"
"ret"
);
extern void obscure_ccall_ret_code(void);
#endif
-#if defined(x86_64_TARGET_ARCH)
+#if defined(x86_64_HOST_ARCH)
__asm__ (
- ".globl obscure_ccall_ret_code\n"
- "obscure_ccall_ret_code:\n\t"
+ ".globl " UNDERSCORE "obscure_ccall_ret_code\n"
+ UNDERSCORE "obscure_ccall_ret_code:\n\t"
"addq $0x8, %rsp\n\t"
"ret"
);
createAdjustor(int cconv, StgStablePtr hptr,
StgFunPtr wptr,
char *typeString
-#if !defined(powerpc_HOST_ARCH) && !defined(powerpc64_HOST_ARCH) && !defined(x86_64_TARGET_ARCH)
+#if !defined(powerpc_HOST_ARCH) && !defined(powerpc64_HOST_ARCH) && !defined(x86_64_HOST_ARCH)
STG_UNUSED
#endif
)