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 | |
| parent | f8f6d0299bf9a52cfddba1c849c561132a3def4a (diff) | |
| download | luajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.tar.gz luajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.tar.bz2 luajit-5594a0c653fcf3b36d397448c64c64473e76e8fe.zip | |
Fix generated 64 bit Mach-O assembler output.
| -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; |
