aboutsummaryrefslogtreecommitdiff
path: root/src
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
parentf8f6d0299bf9a52cfddba1c849c561132a3def4a (diff)
downloadluajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.tar.gz
luajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.tar.bz2
luajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.zip
Fix generated 64 bit Mach-O assembler output.
Diffstat (limited to 'src')
-rw-r--r--src/buildvm_x64.h8
-rw-r--r--src/buildvm_x64win.h8
-rw-r--r--src/buildvm_x86.dasc8
-rw-r--r--src/buildvm_x86.h8
4 files changed, 32 insertions, 0 deletions
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
index 57508e89..f19189f9 100644
--- a/src/buildvm_x64.h
+++ b/src/buildvm_x64.h
@@ -2390,7 +2390,11 @@ static void emit_asm_debug(BuildCtx *ctx)
2390 "\t.byte " REG_RA "\n" 2390 "\t.byte " REG_RA "\n"
2391 "\t.byte 6\n" /* augmentation length */ 2391 "\t.byte 6\n" /* augmentation length */
2392 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */ 2392 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
2393#if LJ_64
2394 "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
2395#else
2393 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n" 2396 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
2397#endif
2394 "\t.byte 0x1b\n" /* pcrel|sdata4 */ 2398 "\t.byte 0x1b\n" /* pcrel|sdata4 */
2395#if LJ_64 2399#if LJ_64
2396 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n" 2400 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
@@ -2424,11 +2428,15 @@ static void emit_asm_debug(BuildCtx *ctx)
2424#endif 2428#endif
2425 "\t.align " BSZPTR "\n" 2429 "\t.align " BSZPTR "\n"
2426 "LEFDE1:\n\n", (int)ctx->codesz, CFRAME_SIZE); 2430 "LEFDE1:\n\n", (int)ctx->codesz, CFRAME_SIZE);
2431#if LJ_64
2432 fprintf(ctx->fp, "\t.subsections_via_symbols\n");
2433#else
2427 fprintf(ctx->fp, 2434 fprintf(ctx->fp,
2428 "\t.non_lazy_symbol_pointer\n" 2435 "\t.non_lazy_symbol_pointer\n"
2429 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n" 2436 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
2430 ".indirect_symbol _lj_err_unwind_dwarf\n" 2437 ".indirect_symbol _lj_err_unwind_dwarf\n"
2431 ".long 0\n"); 2438 ".long 0\n");
2439#endif
2432 break; 2440 break;
2433 default: /* Difficult for other modes. */ 2441 default: /* Difficult for other modes. */
2434 break; 2442 break;
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
index 97ab59d9..eb0a7eab 100644
--- a/src/buildvm_x64win.h
+++ b/src/buildvm_x64win.h
@@ -2390,7 +2390,11 @@ static void emit_asm_debug(BuildCtx *ctx)
2390 "\t.byte " REG_RA "\n" 2390 "\t.byte " REG_RA "\n"
2391 "\t.byte 6\n" /* augmentation length */ 2391 "\t.byte 6\n" /* augmentation length */
2392 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */ 2392 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
2393#if LJ_64
2394 "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
2395#else
2393 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n" 2396 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
2397#endif
2394 "\t.byte 0x1b\n" /* pcrel|sdata4 */ 2398 "\t.byte 0x1b\n" /* pcrel|sdata4 */
2395#if LJ_64 2399#if LJ_64
2396 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n" 2400 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
@@ -2424,11 +2428,15 @@ static void emit_asm_debug(BuildCtx *ctx)
2424#endif 2428#endif
2425 "\t.align " BSZPTR "\n" 2429 "\t.align " BSZPTR "\n"
2426 "LEFDE1:\n\n", (int)ctx->codesz, CFRAME_SIZE); 2430 "LEFDE1:\n\n", (int)ctx->codesz, CFRAME_SIZE);
2431#if LJ_64
2432 fprintf(ctx->fp, "\t.subsections_via_symbols\n");
2433#else
2427 fprintf(ctx->fp, 2434 fprintf(ctx->fp,
2428 "\t.non_lazy_symbol_pointer\n" 2435 "\t.non_lazy_symbol_pointer\n"
2429 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n" 2436 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
2430 ".indirect_symbol _lj_err_unwind_dwarf\n" 2437 ".indirect_symbol _lj_err_unwind_dwarf\n"
2431 ".long 0\n"); 2438 ".long 0\n");
2439#endif
2432 break; 2440 break;
2433 default: /* Difficult for other modes. */ 2441 default: /* Difficult for other modes. */
2434 break; 2442 break;
diff --git a/src/buildvm_x86.dasc b/src/buildvm_x86.dasc
index fbeb4f29..3ad0d812 100644
--- a/src/buildvm_x86.dasc
+++ b/src/buildvm_x86.dasc
@@ -5108,7 +5108,11 @@ static void emit_asm_debug(BuildCtx *ctx)
5108 "\t.byte " REG_RA "\n" 5108 "\t.byte " REG_RA "\n"
5109 "\t.byte 6\n" /* augmentation length */ 5109 "\t.byte 6\n" /* augmentation length */
5110 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */ 5110 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
5111#if LJ_64
5112 "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
5113#else
5111 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n" 5114 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
5115#endif
5112 "\t.byte 0x1b\n" /* pcrel|sdata4 */ 5116 "\t.byte 0x1b\n" /* pcrel|sdata4 */
5113#if LJ_64 5117#if LJ_64
5114 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n" 5118 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
@@ -5142,11 +5146,15 @@ static void emit_asm_debug(BuildCtx *ctx)
5142#endif 5146#endif
5143 "\t.align " BSZPTR "\n" 5147 "\t.align " BSZPTR "\n"
5144 "LEFDE1:\n\n", (int)ctx->codesz, CFRAME_SIZE); 5148 "LEFDE1:\n\n", (int)ctx->codesz, CFRAME_SIZE);
5149#if LJ_64
5150 fprintf(ctx->fp, "\t.subsections_via_symbols\n");
5151#else
5145 fprintf(ctx->fp, 5152 fprintf(ctx->fp,
5146 "\t.non_lazy_symbol_pointer\n" 5153 "\t.non_lazy_symbol_pointer\n"
5147 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n" 5154 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
5148 ".indirect_symbol _lj_err_unwind_dwarf\n" 5155 ".indirect_symbol _lj_err_unwind_dwarf\n"
5149 ".long 0\n"); 5156 ".long 0\n");
5157#endif
5150 break; 5158 break;
5151 default: /* Difficult for other modes. */ 5159 default: /* Difficult for other modes. */
5152 break; 5160 break;
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;