From 6cbe76f9008485058a2af5618546d533d50f6ba9 Mon Sep 17 00:00:00 2001 From: Elliott Slaughter Date: Mon, 19 Nov 2018 16:17:31 -0800 Subject: [PATCH] Changes to make Terra compatible with PowerPC. --- src/tdebug.cpp | 2 +- src/tffi.c | 38 -------------------------------------- src/tffi.h | 13 ------------- src/tffi_parser.c | 18 ++---------------- 4 files changed, 3 insertions(+), 68 deletions(-) diff --git a/src/tdebug.cpp b/src/tdebug.cpp index f921e5be..dd19d0bc 100644 --- a/src/tdebug.cpp +++ b/src/tdebug.cpp @@ -3,7 +3,7 @@ #include "terrastate.h" #include "tcompilerstate.h" -#if !defined(__arm__) && !defined(__aarch64__) +#if !defined(__arm__) && !defined(__aarch64__) && !defined(__PPC__) #ifndef _WIN32 #include diff --git a/src/tffi.c b/src/tffi.c index b400eeff..933c8899 100644 --- a/src/tffi.c +++ b/src/tffi.c @@ -2883,32 +2883,6 @@ static int setup_upvals(lua_State* L) { /* setup ABI params table */ push_upval(L, &abi_key); -#if defined ARCH_X86 || defined ARCH_ARM - lua_pushboolean(L, 1); - lua_setfield(L, -2, "32bit"); -#elif defined ARCH_X64 - lua_pushboolean(L, 1); - lua_setfield(L, -2, "64bit"); -#else -#error -#endif - -#if defined ARCH_X86 || defined ARCH_X64 || defined ARCH_ARM - lua_pushboolean(L, 1); - lua_setfield(L, -2, "le"); -#else -#error -#endif - -#if defined ARCH_X86 || defined ARCH_X64 - lua_pushboolean(L, 1); - lua_setfield(L, -2, "fpu"); -#elif defined ARCH_ARM - lua_pushboolean(L, 1); - lua_setfield(L, -2, "softfp"); -#else -#error -#endif lua_pop(L, 1); /* abi tbl */ /* GC table - shouldn't pin cdata values */ @@ -2937,18 +2911,6 @@ static int setup_upvals(lua_State* L) { #endif lua_setfield(L, 1, "os"); - /* ffi.arch */ -#if defined ARCH_X86 - lua_pushliteral(L, "x86"); -#elif defined ARCH_X64 - lua_pushliteral(L, "x64"); -#elif defined ARCH_ARM - lua_pushliteral(L, "arm"); -#else -#error -#endif - lua_setfield(L, 1, "arch"); - assert(lua_gettop(L) == 1); return 0; diff --git a/src/tffi.h b/src/tffi.h index 3a85bfe4..a5fe7f1d 100644 --- a/src/tffi.h +++ b/src/tffi.h @@ -109,17 +109,6 @@ static char* luaL_prepbuffsize(luaL_Buffer* B, size_t sz) { #define OS_POSIX #endif -/* architecture */ -#if defined __i386__ || defined _M_IX86 -#define ARCH_X86 -#elif defined __amd64__ || defined _M_X64 -#define ARCH_X64 -#elif defined __arm__ || defined __ARM__ || defined ARM || defined __ARM || defined __arm -#define ARCH_ARM -#else -#error -#endif - #ifdef _WIN32 #ifdef UNDER_CE @@ -165,9 +154,7 @@ static void* DoLoadLibraryA(const char* name) { #define EnableWrite(data, size) mprotect(data, size, PROT_READ | PROT_WRITE) #endif -#if defined ARCH_X86 || defined ARCH_X64 #define ALLOW_MISALIGNED_ACCESS -#endif struct token; diff --git a/src/tffi_parser.c b/src/tffi_parser.c index 6536bd4b..bb860640 100644 --- a/src/tffi_parser.c +++ b/src/tffi_parser.c @@ -1173,26 +1173,12 @@ static int parse_attribute(lua_State* L, struct parser* P, struct token* tok, ct->base_size = sizeof(uint16_t); ct->align_mask = ALIGNOF(a16); - } else if (IS_LITERAL(*tok, "SI") || IS_LITERAL(*tok, "__SI__") -#if defined ARCH_X86 || defined ARCH_ARM - || IS_LITERAL(*tok, "word") || - IS_LITERAL(*tok, "__word__") || - IS_LITERAL(*tok, "pointer") || - IS_LITERAL(*tok, "__pointer__") -#endif - ) { + } else if (IS_LITERAL(*tok, "SI") || IS_LITERAL(*tok, "__SI__")) { ct->type = INT32_TYPE; ct->base_size = sizeof(uint32_t); ct->align_mask = ALIGNOF(a32); - } else if (IS_LITERAL(*tok, "DI") || IS_LITERAL(*tok, "__DI__") -#if defined ARCH_X64 - || IS_LITERAL(*tok, "word") || - IS_LITERAL(*tok, "__word__") || - IS_LITERAL(*tok, "pointer") || - IS_LITERAL(*tok, "__pointer__") -#endif - ) { + } else if (IS_LITERAL(*tok, "DI") || IS_LITERAL(*tok, "__DI__")) { ct->type = INT64_TYPE; ct->base_size = sizeof(uint64_t); ct->align_mask = ALIGNOF(a64);