aboutsummaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
authorMike Pall <mike>2010-03-05 03:21:52 +0100
committerMike Pall <mike>2010-03-05 03:21:52 +0100
commit5594a0c653fcf3b36d397448c64c64473e76e8fe (patch)
treeacae46aa16f74b6c955f269ba211275352d9b52b /src/buildvm_x86.h
parentf8f6d0299bf9a52cfddba1c849c561132a3def4a (diff)
downloadluajit-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.h8
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;