diff options
author | Mike Pall <mike> | 2010-03-05 03:21:52 +0100 |
---|---|---|
committer | Mike Pall <mike> | 2010-03-05 03:21:52 +0100 |
commit | 5594a0c653fcf3b36d397448c64c64473e76e8fe (patch) | |
tree | acae46aa16f74b6c955f269ba211275352d9b52b /src/buildvm_x86.h | |
parent | f8f6d0299bf9a52cfddba1c849c561132a3def4a (diff) | |
download | luajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.tar.gz luajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.tar.bz2 luajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.zip |
Fix generated 64 bit Mach-O assembler output.
Diffstat (limited to '')
-rw-r--r-- | src/buildvm_x86.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h index 8a421ec8..35e3893e 100644 --- a/src/buildvm_x86.h +++ b/src/buildvm_x86.h | |||
@@ -2518,7 +2518,11 @@ static void emit_asm_debug(BuildCtx *ctx) | |||
2518 | "\t.byte " REG_RA "\n" | 2518 | "\t.byte " REG_RA "\n" |
2519 | "\t.byte 6\n" /* augmentation length */ | 2519 | "\t.byte 6\n" /* augmentation length */ |
2520 | "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */ | 2520 | "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */ |
2521 | #if LJ_64 | ||
2522 | "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n" | ||
2523 | #else | ||
2521 | "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n" | 2524 | "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n" |
2525 | #endif | ||
2522 | "\t.byte 0x1b\n" /* pcrel|sdata4 */ | 2526 | "\t.byte 0x1b\n" /* pcrel|sdata4 */ |
2523 | #if LJ_64 | 2527 | #if LJ_64 |
2524 | "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n" | 2528 | "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n" |
@@ -2552,11 +2556,15 @@ static void emit_asm_debug(BuildCtx *ctx) | |||
2552 | #endif | 2556 | #endif |
2553 | "\t.align " BSZPTR "\n" | 2557 | "\t.align " BSZPTR "\n" |
2554 | "LEFDE1:\n\n", (int)ctx->codesz, CFRAME_SIZE); | 2558 | "LEFDE1:\n\n", (int)ctx->codesz, CFRAME_SIZE); |
2559 | #if LJ_64 | ||
2560 | fprintf(ctx->fp, "\t.subsections_via_symbols\n"); | ||
2561 | #else | ||
2555 | fprintf(ctx->fp, | 2562 | fprintf(ctx->fp, |
2556 | "\t.non_lazy_symbol_pointer\n" | 2563 | "\t.non_lazy_symbol_pointer\n" |
2557 | "L_lj_err_unwind_dwarf$non_lazy_ptr:\n" | 2564 | "L_lj_err_unwind_dwarf$non_lazy_ptr:\n" |
2558 | ".indirect_symbol _lj_err_unwind_dwarf\n" | 2565 | ".indirect_symbol _lj_err_unwind_dwarf\n" |
2559 | ".long 0\n"); | 2566 | ".long 0\n"); |
2567 | #endif | ||
2560 | break; | 2568 | break; |
2561 | default: /* Difficult for other modes. */ | 2569 | default: /* Difficult for other modes. */ |
2562 | break; | 2570 | break; |