switch (ctx->mode) {
case BUILD_elfasm:
#if LJ_TARGET_PS3
- if (!strncmp(name, "lj_vm_", 6)) {
+ if (!strncmp(name, "lj_vm_", 6) &&
+ strcmp(name, ctx->beginsym) &&
+ !strstr(name, "hook")) {
fprintf(ctx->fp,
"\n\t.globl %s\n"
- "\n\t.section \".opd\",\"aw\"\n"
+ "\t.section \".opd\",\"aw\"\n"
"%s:\n"
"\t.long .%s,.TOC.@tocbase32\n"
"\t.size %s,8\n"
fprintf(ctx->fp, "\t.text\n");
emit_asm_align(ctx, 4);
+#if LJ_TARGET_PS3
+ emit_asm_label(ctx, ctx->beginsym, ctx->codesz, 0);
+#else
emit_asm_label(ctx, ctx->beginsym, 0, 0);
+#endif
if (ctx->mode != BUILD_machasm)
fprintf(ctx->fp, ".Lbegin:\n");
#else
#define LJ_ARCH_VERSION 0
#endif
-#if __PPC64__ || __powerpc64__ || LJ_TARGET_XBOX360
+#if __PPC64__ || __powerpc64__ || LJ_TARGET_CONSOLE
#define LJ_ARCH_PPC64 1
#define LJ_ARCH_NOFFI 1
#endif