summaryrefslogtreecommitdiff
path: root/src/buildvm_x86.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildvm_x86.h')
-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;