diff options
Diffstat (limited to 'src/buildvm_asm.c')
-rw-r--r-- | src/buildvm_asm.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/buildvm_asm.c b/src/buildvm_asm.c index 236dd176..4ba60638 100644 --- a/src/buildvm_asm.c +++ b/src/buildvm_asm.c | |||
@@ -120,7 +120,10 @@ static void emit_asm_wordreloc(BuildCtx *ctx, uint8_t *p, int n, | |||
120 | exit(1); | 120 | exit(1); |
121 | } | 121 | } |
122 | #elif LJ_TARGET_MIPS | 122 | #elif LJ_TARGET_MIPS |
123 | UNUSED(sym); /* NYI */ | 123 | fprintf(stderr, |
124 | "Error: unsupported opcode %08x for %s symbol relocation.\n", | ||
125 | ins, sym); | ||
126 | exit(1); | ||
124 | #else | 127 | #else |
125 | #error "missing relocation support for this architecture" | 128 | #error "missing relocation support for this architecture" |
126 | #endif | 129 | #endif |
@@ -200,6 +203,9 @@ void emit_asm(BuildCtx *ctx) | |||
200 | ".save {r4, r5, r6, r7, r8, r9, r10, r11, lr}\n" | 203 | ".save {r4, r5, r6, r7, r8, r9, r10, r11, lr}\n" |
201 | ".pad #28\n"); | 204 | ".pad #28\n"); |
202 | #endif | 205 | #endif |
206 | #if LJ_TARGET_MIPS | ||
207 | fprintf(ctx->fp, ".set nomips16\n.abicalls\n.set noreorder\n.set nomacro\n"); | ||
208 | #endif | ||
203 | 209 | ||
204 | for (i = rel = 0; i < ctx->nsym; i++) { | 210 | for (i = rel = 0; i < ctx->nsym; i++) { |
205 | int32_t ofs = ctx->sym[i].ofs; | 211 | int32_t ofs = ctx->sym[i].ofs; |