aboutsummaryrefslogtreecommitdiff
path: root/src/host
diff options
context:
space:
mode:
authorMike Pall <mike>2020-01-20 22:56:47 +0100
committerMike Pall <mike>2020-01-20 22:56:47 +0100
commit981ec8d2aac5cac76bdedd4015b6d32447b29597 (patch)
tree4af0d16247b1c0fb00dceb42dcae098aafd7140e /src/host
parent9749952b55d2003de012c6b0aa6507c06eb320b8 (diff)
downloadluajit-981ec8d2aac5cac76bdedd4015b6d32447b29597.tar.gz
luajit-981ec8d2aac5cac76bdedd4015b6d32447b29597.tar.bz2
luajit-981ec8d2aac5cac76bdedd4015b6d32447b29597.zip
Remove support for de-facto dead archs.
Diffstat (limited to 'src/host')
-rw-r--r--src/host/buildvm_asm.c11
-rw-r--r--src/host/buildvm_peobj.c15
2 files changed, 1 insertions, 25 deletions
diff --git a/src/host/buildvm_asm.c b/src/host/buildvm_asm.c
index 43595b31..85ce79f9 100644
--- a/src/host/buildvm_asm.c
+++ b/src/host/buildvm_asm.c
@@ -144,14 +144,6 @@ static void emit_asm_wordreloc(BuildCtx *ctx, uint8_t *p, int n,
144 fprintf(ctx->fp, "\t%s %d, %d, " TOCPREFIX "%s\n", 144 fprintf(ctx->fp, "\t%s %d, %d, " TOCPREFIX "%s\n",
145 (ins & 1) ? "bcl" : "bc", (ins >> 21) & 31, (ins >> 16) & 31, sym); 145 (ins & 1) ? "bcl" : "bc", (ins >> 21) & 31, (ins >> 16) & 31, sym);
146 } else if ((ins >> 26) == 18) { 146 } else if ((ins >> 26) == 18) {
147#if LJ_ARCH_PPC64
148 const char *suffix = strchr(sym, '@');
149 if (suffix && suffix[1] == 'h') {
150 fprintf(ctx->fp, "\taddis 11, 2, %s\n", sym);
151 } else if (suffix && suffix[1] == 'l') {
152 fprintf(ctx->fp, "\tld 12, %s\n", sym);
153 } else
154#endif
155 fprintf(ctx->fp, "\t%s " TOCPREFIX "%s\n", (ins & 1) ? "bl" : "b", sym); 147 fprintf(ctx->fp, "\t%s " TOCPREFIX "%s\n", (ins & 1) ? "bl" : "b", sym);
156 } else { 148 } else {
157 fprintf(stderr, 149 fprintf(stderr,
@@ -250,9 +242,6 @@ void emit_asm(BuildCtx *ctx)
250 int i, rel; 242 int i, rel;
251 243
252 fprintf(ctx->fp, "\t.file \"buildvm_%s.dasc\"\n", ctx->dasm_arch); 244 fprintf(ctx->fp, "\t.file \"buildvm_%s.dasc\"\n", ctx->dasm_arch);
253#if LJ_ARCH_PPC64
254 fprintf(ctx->fp, "\t.abiversion 2\n");
255#endif
256 fprintf(ctx->fp, "\t.text\n"); 245 fprintf(ctx->fp, "\t.text\n");
257 emit_asm_align(ctx, 4); 246 emit_asm_align(ctx, 4);
258 247
diff --git a/src/host/buildvm_peobj.c b/src/host/buildvm_peobj.c
index 2eb2bb7b..280ea8d2 100644
--- a/src/host/buildvm_peobj.c
+++ b/src/host/buildvm_peobj.c
@@ -9,7 +9,7 @@
9#include "buildvm.h" 9#include "buildvm.h"
10#include "lj_bc.h" 10#include "lj_bc.h"
11 11
12#if LJ_TARGET_X86ORX64 || LJ_TARGET_PPC 12#if LJ_TARGET_X86ORX64
13 13
14/* Context for PE object emitter. */ 14/* Context for PE object emitter. */
15static char *strtab; 15static char *strtab;
@@ -93,12 +93,6 @@ typedef struct PEsymaux {
93#define PEOBJ_RELOC_ADDR32NB 0x03 93#define PEOBJ_RELOC_ADDR32NB 0x03
94#define PEOBJ_RELOC_OFS 0 94#define PEOBJ_RELOC_OFS 0
95#define PEOBJ_TEXT_FLAGS 0x60500020 /* 60=r+x, 50=align16, 20=code. */ 95#define PEOBJ_TEXT_FLAGS 0x60500020 /* 60=r+x, 50=align16, 20=code. */
96#elif LJ_TARGET_PPC
97#define PEOBJ_ARCH_TARGET 0x01f2
98#define PEOBJ_RELOC_REL32 0x06
99#define PEOBJ_RELOC_DIR32 0x02
100#define PEOBJ_RELOC_OFS (-4)
101#define PEOBJ_TEXT_FLAGS 0x60400020 /* 60=r+x, 40=align8, 20=code. */
102#endif 96#endif
103 97
104/* Section numbers (0-based). */ 98/* Section numbers (0-based). */
@@ -251,15 +245,8 @@ void emit_peobj(BuildCtx *ctx)
251 /* Write .text section. */ 245 /* Write .text section. */
252 host_endian.u = 1; 246 host_endian.u = 1;
253 if (host_endian.b != LJ_ENDIAN_SELECT(1, 0)) { 247 if (host_endian.b != LJ_ENDIAN_SELECT(1, 0)) {
254#if LJ_TARGET_PPC
255 uint32_t *p = (uint32_t *)ctx->code;
256 int n = (int)(ctx->codesz >> 2);
257 for (i = 0; i < n; i++, p++)
258 *p = lj_bswap(*p); /* Byteswap .text section. */
259#else
260 fprintf(stderr, "Error: different byte order for host and target\n"); 248 fprintf(stderr, "Error: different byte order for host and target\n");
261 exit(1); 249 exit(1);
262#endif
263 } 250 }
264 owrite(ctx, ctx->code, ctx->codesz); 251 owrite(ctx, ctx->code, ctx->codesz);
265 for (i = 0; i < ctx->nreloc; i++) { 252 for (i = 0; i < ctx->nreloc; i++) {