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 | |
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 'src')
-rw-r--r-- | src/buildvm_x64.h | 8 | ||||
-rw-r--r-- | src/buildvm_x64win.h | 8 | ||||
-rw-r--r-- | src/buildvm_x86.dasc | 8 | ||||
-rw-r--r-- | src/buildvm_x86.h | 8 |
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; |