diff options
| author | Mike Pall <mike> | 2015-01-04 23:52:50 +0100 |
|---|---|---|
| committer | Mike Pall <mike> | 2015-01-04 23:52:50 +0100 |
| commit | e1261a07bf5d497ca7f6c53a420f1b28ac3e14dc (patch) | |
| tree | be2b32d0af2c582dda19543c7437c6beadd3c42d | |
| parent | dfe84fd8c545b6f2da721e3f86f9b00f31711abd (diff) | |
| download | luajit-e1261a07bf5d497ca7f6c53a420f1b28ac3e14dc.tar.gz luajit-e1261a07bf5d497ca7f6c53a420f1b28ac3e14dc.tar.bz2 luajit-e1261a07bf5d497ca7f6c53a420f1b28ac3e14dc.zip | |
ARM64: Compatibility fixes for Clang.
| -rw-r--r-- | src/lj_arch.h | 10 | ||||
| -rw-r--r-- | src/vm_arm64.dasc | 6 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/lj_arch.h b/src/lj_arch.h index 202fc5cb..cb583554 100644 --- a/src/lj_arch.h +++ b/src/lj_arch.h | |||
| @@ -300,6 +300,16 @@ | |||
| 300 | #if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 2) | 300 | #if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 2) |
| 301 | #error "Need at least GCC 4.2 or newer" | 301 | #error "Need at least GCC 4.2 or newer" |
| 302 | #endif | 302 | #endif |
| 303 | #elif LJ_TARGET_ARM64 | ||
| 304 | #if __clang__ | ||
| 305 | #if (__clang_major__ < 3) || ((__clang_major__ == 3) && __clang_minor__ < 5) | ||
| 306 | #error "Need at least Clang 3.5 or newer" | ||
| 307 | #endif | ||
| 308 | #else | ||
| 309 | #if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 8) | ||
| 310 | #error "Need at least GCC 4.8 or newer" | ||
| 311 | #endif | ||
| 312 | #endif | ||
| 303 | #elif !LJ_TARGET_PS3 | 313 | #elif !LJ_TARGET_PS3 |
| 304 | #if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3) | 314 | #if (__GNUC__ < 4) || ((__GNUC__ == 4) && __GNUC_MINOR__ < 3) |
| 305 | #error "Need at least GCC 4.3 or newer" | 315 | #error "Need at least GCC 4.3 or newer" |
diff --git a/src/vm_arm64.dasc b/src/vm_arm64.dasc index d23cac20..5ba52b4d 100644 --- a/src/vm_arm64.dasc +++ b/src/vm_arm64.dasc | |||
| @@ -3594,7 +3594,8 @@ static void emit_asm_debug(BuildCtx *ctx) | |||
| 3594 | for (i = 19; i <= 28; i++) /* offset x19-x28 */ | 3594 | for (i = 19; i <= 28; i++) /* offset x19-x28 */ |
| 3595 | fprintf(ctx->fp, "\t.byte 0x%x\n\t.uleb128 %d\n", 0x80+i, cf-i+17); | 3595 | fprintf(ctx->fp, "\t.byte 0x%x\n\t.uleb128 %d\n", 0x80+i, cf-i+17); |
| 3596 | for (i = 8; i <= 15; i++) /* offset d8-d15 */ | 3596 | for (i = 8; i <= 15; i++) /* offset d8-d15 */ |
| 3597 | fprintf(ctx->fp, "\t.byte 5\n\t.uleb128 0x%x, %d\n", 64+i, cf-i-4); | 3597 | fprintf(ctx->fp, "\t.byte 5\n\t.uleb128 0x%x\n\t.uleb128 %d\n", |
| 3598 | 64+i, cf-i-4); | ||
| 3598 | fprintf(ctx->fp, | 3599 | fprintf(ctx->fp, |
| 3599 | "\t.align 3\n" | 3600 | "\t.align 3\n" |
| 3600 | ".LEFDE0:\n\n"); | 3601 | ".LEFDE0:\n\n"); |
| @@ -3634,7 +3635,8 @@ static void emit_asm_debug(BuildCtx *ctx) | |||
| 3634 | for (i = 19; i <= 28; i++) /* offset x19-x28 */ | 3635 | for (i = 19; i <= 28; i++) /* offset x19-x28 */ |
| 3635 | fprintf(ctx->fp, "\t.byte 0x%x\n\t.uleb128 %d\n", 0x80+i, cf-i+17); | 3636 | fprintf(ctx->fp, "\t.byte 0x%x\n\t.uleb128 %d\n", 0x80+i, cf-i+17); |
| 3636 | for (i = 8; i <= 15; i++) /* offset d8-d15 */ | 3637 | for (i = 8; i <= 15; i++) /* offset d8-d15 */ |
| 3637 | fprintf(ctx->fp, "\t.byte 5\n\t.uleb128 0x%x, %d\n", 64+i, cf-i-4); | 3638 | fprintf(ctx->fp, "\t.byte 5\n\t.uleb128 0x%x\n\t.uleb128 %d\n", |
| 3639 | 64+i, cf-i-4); | ||
| 3638 | fprintf(ctx->fp, | 3640 | fprintf(ctx->fp, |
| 3639 | "\t.align 3\n" | 3641 | "\t.align 3\n" |
| 3640 | ".LEFDE2:\n\n"); | 3642 | ".LEFDE2:\n\n"); |
