aboutsummaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
Diffstat (limited to 'src/host')
-rw-r--r--src/host/buildvm.c2
-rw-r--r--src/host/buildvm_asm.c9
2 files changed, 11 insertions, 0 deletions
diff --git a/src/host/buildvm.c b/src/host/buildvm.c
index d56c65ca..d162086e 100644
--- a/src/host/buildvm.c
+++ b/src/host/buildvm.c
@@ -59,6 +59,8 @@ static int collect_reloc(BuildCtx *ctx, uint8_t *addr, int idx, int type);
59#include "../dynasm/dasm_x86.h" 59#include "../dynasm/dasm_x86.h"
60#elif LJ_TARGET_ARM 60#elif LJ_TARGET_ARM
61#include "../dynasm/dasm_arm.h" 61#include "../dynasm/dasm_arm.h"
62#elif LJ_TARGET_ARM64
63#include "../dynasm/dasm_arm64.h"
62#elif LJ_TARGET_PPC 64#elif LJ_TARGET_PPC
63#include "../dynasm/dasm_ppc.h" 65#include "../dynasm/dasm_ppc.h"
64#elif LJ_TARGET_PPCSPE 66#elif LJ_TARGET_PPCSPE
diff --git a/src/host/buildvm_asm.c b/src/host/buildvm_asm.c
index c91f5bcd..7bea4d17 100644
--- a/src/host/buildvm_asm.c
+++ b/src/host/buildvm_asm.c
@@ -121,6 +121,15 @@ static void emit_asm_wordreloc(BuildCtx *ctx, uint8_t *p, int n,
121 ins, sym); 121 ins, sym);
122 exit(1); 122 exit(1);
123 } 123 }
124#elif LJ_TARGET_ARM64
125 if ((ins >> 26) == 0x25u) {
126 fprintf(ctx->fp, "\tbl %s\n", sym);
127 } else {
128 fprintf(stderr,
129 "Error: unsupported opcode %08x for %s symbol relocation.\n",
130 ins, sym);
131 exit(1);
132 }
124#elif LJ_TARGET_PPC || LJ_TARGET_PPCSPE 133#elif LJ_TARGET_PPC || LJ_TARGET_PPCSPE
125#if LJ_TARGET_PS3 134#if LJ_TARGET_PS3
126#define TOCPREFIX "." 135#define TOCPREFIX "."