* in libc.a clobbers $s6.
*/
#include "ghcconfig.h"
+#ifndef USE_MINIINTERPRETER
#ifdef alpha_HOST_ARCH
#define alpha_EXTRA_CAREFUL
register long fake_ra __asm__("$26");
register double fake_f9 __asm__("$f9");
#endif
#endif
+#endif
/* include Stg.h first because we want real machine regs in here: we
* have to get the value of R1 back from Stg land to C land intact.
#else /* !USE_MINIINTERPRETER */
#ifdef LEADING_UNDERSCORE
+#define STG_RUN "_StgRun"
+#else
+#define STG_RUN "StgRun"
+#endif
+
+#ifdef LEADING_UNDERSCORE
#define STG_RETURN "_StgReturn"
#else
#define STG_RETURN "StgReturn"
/*
* save callee-saves registers on behalf of the STG code.
*/
- ".globl StgRun\n"
- "StgRun:\n\t"
+ ".globl " STG_RUN "\n"
+ STG_RUN ":\n\t"
"subq %0, %%rsp\n\t"
"movq %%rsp, %%rax\n\t"
"addq %0-48, %%rax\n\t"
"movq %%rdi,%%rax\n\t"
"jmp *%%rax\n\t"
- ".global " STG_RETURN "\n"
+ ".globl " STG_RETURN "\n"
STG_RETURN ":\n\t"
"movq %%rbx, %%rax\n\t" /* Return value in R1 */