diff --git a/src/stub/Makefile b/src/stub/Makefile index a72652c4..ca818077 100644 --- a/src/stub/Makefile +++ b/src/stub/Makefile @@ -180,7 +180,7 @@ tc.amd64-linux.elf.objcopy = $(call tc,m-objcopy) tc.amd64-linux.elf.objdump = $(call tc,m-objdump) tc.amd64-linux.elf.objstrip = $(call tc,objcopy) -R .comment -R .note -amd64-linux.elf-entry.h: $(srcdir)/src/$$T.asm +amd64-linux.elf-entry.h: $(srcdir)/src/$$T.S $(call tc,gcc) -c -x assembler-with-cpp $< -o tmp/$T.bin $(call tc,m-objcopy) --strip-unneeded tmp/$T.bin $(call tc,m-objcopy) -R .text -R .data -R .bss tmp/$T.bin @@ -715,5 +715,9 @@ ifneq ($(STUBS),) endif -include tmp/*.d +# debug +hg-diff: + hg diff -r 5cca9ba74f3a $(STUBS) + # vi:ts=8:nowrap diff --git a/src/stub/src/amd64-linux.elf-entry.asm b/src/stub/src/amd64-linux.elf-entry.S similarity index 100% rename from src/stub/src/amd64-linux.elf-entry.asm rename to src/stub/src/amd64-linux.elf-entry.S diff --git a/src/stub/src/arch/i386/Makefile.extra b/src/stub/src/arch/i386/Makefile.extra index 40bcb118..3b992060 100644 --- a/src/stub/src/arch/i386/Makefile.extra +++ b/src/stub/src/arch/i386/Makefile.extra @@ -37,7 +37,7 @@ lzma_d_c%.S : lzma_d_c.c $(call tc,objcopy) -O binary --only-section .text.LzmaDecode tmp/$T.o tmp/$T.bin head -c-1 tmp/$T.bin > tmp/$T.out $(call tc,objdump) -b binary -m i386 -D tmp/$T.out > tmp/$T.out.lst - $(call tc,bin2h) --mode=nasm tmp/$T.out $@ + $(call tc,bin2h) --mode=gas tmp/$T.out $@ lzma_d_cf.% : PP_FLAGS = -DFAST lzma_d_cs.% : PP_FLAGS = -DSMALL diff --git a/src/stub/src/arch/i386/cl1_d32_2.ash b/src/stub/src/arch/i386/cl1_d32.S similarity index 100% rename from src/stub/src/arch/i386/cl1_d32_2.ash rename to src/stub/src/arch/i386/cl1_d32.S diff --git a/src/stub/src/arch/i386/lzma_d_2.ash b/src/stub/src/arch/i386/lzma_d.S similarity index 98% rename from src/stub/src/arch/i386/lzma_d_2.ash rename to src/stub/src/arch/i386/lzma_d.S index b0fe7f1a..5e34fb3f 100644 --- a/src/stub/src/arch/i386/lzma_d_2.ash +++ b/src/stub/src/arch/i386/lzma_d.S @@ -129,10 +129,10 @@ section LZMA_ELF00 section LZMA_DEC10 -#include "lzma_d_cs_2.ash" +#include "lzma_d_cs.S" section LZMA_DEC20 -#include "lzma_d_cf_2.ash" +#include "lzma_d_cf.S" // diff --git a/src/stub/src/arch/i386/lzma_d_cf.S b/src/stub/src/arch/i386/lzma_d_cf.S new file mode 100644 index 00000000..17774df4 --- /dev/null +++ b/src/stub/src/arch/i386/lzma_d_cf.S @@ -0,0 +1,169 @@ +.byte 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68 /* 0x0000 */ +.byte 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0 /* 0x0010 */ +.byte 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182 /* 0x0020 */ +.byte 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74 /* 0x0030 */ +.byte 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15 /* 0x0040 */ +.byte 182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0 /* 0x0050 */ +.byte 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100 /* 0x0060 */ +.byte 199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0 /* 0x0070 */ +.byte 199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0 /* 0x0080 */ +.byte 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76 /* 0x0090 */ +.byte 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2 /* 0x00a0 */ +.byte 226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255 /* 0x00b0 */ +.byte 255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76 /* 0x00c0 */ +.byte 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193 /* 0x00d0 */ +.byte 231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0 /* 0x00e0 */ +.byte 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116 /* 0x00f0 */ +.byte 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137 /* 0x0100 */ +.byte 116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66 /* 0x0110 */ +.byte 119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72 /* 0x0120 */ +.byte 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139 /* 0x0130 */ +.byte 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221 /* 0x0140 */ +.byte 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76 /* 0x0150 */ +.byte 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84 /* 0x0160 */ +.byte 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108 /* 0x0170 */ +.byte 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1 /* 0x0180 */ +.byte 208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108 /* 0x0190 */ +.byte 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36 /* 0x01a0 */ +.byte 116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2 /* 0x01b0 */ +.byte 137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139 /* 0x01c0 */ +.byte 108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255 /* 0x01d0 */ +.byte 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92 /* 0x01e0 */ +.byte 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3 /* 0x01f0 */ +.byte 193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0 /* 0x0200 */ +.byte 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68 /* 0x0210 */ +.byte 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124 /* 0x0220 */ +.byte 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235 /* 0x0230 */ +.byte 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5 /* 0x0240 */ +.byte 102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116 /* 0x0250 */ +.byte 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129 /* 0x0260 */ +.byte 254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213 /* 0x0270 */ +.byte 129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132 /* 0x0280 */ +.byte 196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67 /* 0x0290 */ +.byte 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241 /* 0x02a0 */ +.byte 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0 /* 0x02b0 */ +.byte 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159 /* 0x02c0 */ +.byte 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102 /* 0x02d0 */ +.byte 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140 /* 0x02e0 */ +.byte 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36 /* 0x02f0 */ +.byte 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0 /* 0x0300 */ +.byte 233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96 /* 0x0310 */ +.byte 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0 /* 0x0320 */ +.byte 139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193 /* 0x0330 */ +.byte 232, 5,102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139 /* 0x0340 */ +.byte 108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36 /* 0x0350 */ +.byte 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8 /* 0x0360 */ +.byte 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128 /* 0x0370 */ +.byte 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184 /* 0x0380 */ +.byte 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36 /* 0x0390 */ +.byte 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120 /* 0x03a0 */ +.byte 102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137 /* 0x03b0 */ +.byte 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100 /* 0x03c0 */ +.byte 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137 /* 0x03d0 */ +.byte 206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102 /* 0x03e0 */ +.byte 41,194,129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119 /* 0x03f0 */ +.byte 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231 /* 0x0400 */ +.byte 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11 /* 0x0410 */ +.byte 102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15 /* 0x0420 */ +.byte 131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68 /* 0x0430 */ +.byte 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76 /* 0x0440 */ +.byte 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36 /* 0x0450 */ +.byte 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44 /* 0x0460 */ +.byte 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3 /* 0x0470 */ +.byte 193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0 /* 0x0480 */ +.byte 137,240,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41 /* 0x0490 */ +.byte 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72 /* 0x04a0 */ +.byte 131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15 /* 0x04b0 */ +.byte 132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160 /* 0x04c0 */ +.byte 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68 /* 0x04d0 */ +.byte 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68 /* 0x04e0 */ +.byte 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41 /* 0x04f0 */ +.byte 198, 41,199,137,208,102,193,232, 5,102, 41,194,102,137,149,224 /* 0x0500 */ +.byte 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5 /* 0x0510 */ +.byte 139,108, 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102 /* 0x0520 */ +.byte 137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5 /* 0x0530 */ +.byte 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76 /* 0x0540 */ +.byte 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183 /* 0x0550 */ +.byte 202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41 /* 0x0560 */ +.byte 200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1 /* 0x0570 */ +.byte 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41 /* 0x0580 */ +.byte 193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249 /* 0x0590 */ +.byte 255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36 /* 0x05a0 */ +.byte 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8 /* 0x05b0 */ +.byte 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200 /* 0x05c0 */ +.byte 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184 /* 0x05d0 */ +.byte 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2 /* 0x05e0 */ +.byte 102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41 /* 0x05f0 */ +.byte 199, 41,198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56 /* 0x0600 */ +.byte 102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137 /* 0x0610 */ +.byte 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137 /* 0x0620 */ +.byte 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76 /* 0x0630 */ +.byte 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137 /* 0x0640 */ +.byte 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15 /* 0x0650 */ +.byte 132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9 /* 0x0660 */ +.byte 199,102,139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57 /* 0x0670 */ +.byte 199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 /* 0x0680 */ +.byte 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4 /* 0x0690 */ +.byte 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16 /* 0x06a0 */ +.byte 235,114, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129 /* 0x06b0 */ +.byte 254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132 /* 0x06c0 */ +.byte 132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199 /* 0x06d0 */ +.byte 102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57 /* 0x06e0 */ +.byte 199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 /* 0x06f0 */ +.byte 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4 /* 0x0700 */ +.byte 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0 /* 0x0710 */ +.byte 137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198 /* 0x0720 */ +.byte 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44 /* 0x0730 */ +.byte 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102 /* 0x0740 */ +.byte 137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36 /* 0x0750 */ +.byte 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36 /* 0x0760 */ +.byte 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36 /* 0x0770 */ +.byte 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193 /* 0x0780 */ +.byte 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15 /* 0x0790 */ +.byte 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8 /* 0x07a0 */ +.byte 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235 /* 0x07b0 */ +.byte 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194 /* 0x07c0 */ +.byte 102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117 /* 0x07d0 */ +.byte 137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84 /* 0x07e0 */ +.byte 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0 /* 0x07f0 */ +.byte 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0 /* 0x0800 */ +.byte 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0 /* 0x0810 */ +.byte 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0 /* 0x0820 */ +.byte 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255 /* 0x0830 */ +.byte 255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100 /* 0x0840 */ +.byte 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 /* 0x0850 */ +.byte 102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24 /* 0x0860 */ +.byte 137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4 /* 0x0870 */ +.byte 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208 /* 0x0880 */ +.byte 102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36 /* 0x0890 */ +.byte 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20 /* 0x08a0 */ +.byte 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1 /* 0x08b0 */ +.byte 141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139 /* 0x08c0 */ +.byte 108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208 /* 0x08d0 */ +.byte 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124 /* 0x08e0 */ +.byte 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1 /* 0x08f0 */ +.byte 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199 /* 0x0900 */ +.byte 209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72 /* 0x0910 */ +.byte 131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36 /* 0x0920 */ +.byte 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36 /* 0x0930 */ +.byte 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108 /* 0x0940 */ +.byte 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255 /* 0x0950 */ +.byte 255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100 /* 0x0960 */ +.byte 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 /* 0x0970 */ +.byte 102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115 /* 0x0980 */ +.byte 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141 /* 0x0990 */ +.byte 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72 /* 0x09a0 */ +.byte 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102 /* 0x09b0 */ +.byte 137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209 /* 0x09c0 */ +.byte 100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52 /* 0x09d0 */ +.byte 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116 /* 0x09e0 */ +.byte 131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0 /* 0x09f0 */ +.byte 137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40 /* 0x0a00 */ +.byte 138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116 /* 0x0a10 */ +.byte 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17 /* 0x0a20 */ +.byte 139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255 /* 0x0a30 */ +.byte 255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184 /* 0x0a40 */ +.byte 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67 /* 0x0a50 */ +.byte 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0 /* 0x0a60 */ +.byte 139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131 /* 0x0a70 */ +.byte 196,124, 91, 94, 95, 93 /* 0x0a80 */ diff --git a/src/stub/src/arch/i386/lzma_d_cf_2.ash b/src/stub/src/arch/i386/lzma_d_cf_2.ash deleted file mode 100644 index 25c06c7f..00000000 --- a/src/stub/src/arch/i386/lzma_d_cf_2.ash +++ /dev/null @@ -1,169 +0,0 @@ -db 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68 // 0x0000 -db 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0 // 0x0010 -db 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182 // 0x0020 -db 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74 // 0x0030 -db 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15 // 0x0040 -db 182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0 // 0x0050 -db 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100 // 0x0060 -db 199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0 // 0x0070 -db 199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0 // 0x0080 -db 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76 // 0x0090 -db 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2 // 0x00a0 -db 226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255 // 0x00b0 -db 255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76 // 0x00c0 -db 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193 // 0x00d0 -db 231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0 // 0x00e0 -db 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116 // 0x00f0 -db 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137 // 0x0100 -db 116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66 // 0x0110 -db 119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72 // 0x0120 -db 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139 // 0x0130 -db 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221 // 0x0140 -db 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76 // 0x0150 -db 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84 // 0x0160 -db 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108 // 0x0170 -db 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1 // 0x0180 -db 208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108 // 0x0190 -db 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36 // 0x01a0 -db 116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2 // 0x01b0 -db 137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139 // 0x01c0 -db 108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255 // 0x01d0 -db 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92 // 0x01e0 -db 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3 // 0x01f0 -db 193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0 // 0x0200 -db 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68 // 0x0210 -db 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124 // 0x0220 -db 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235 // 0x0230 -db 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5 // 0x0240 -db 102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116 // 0x0250 -db 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129 // 0x0260 -db 254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213 // 0x0270 -db 129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132 // 0x0280 -db 196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67 // 0x0290 -db 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241 // 0x02a0 -db 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0 // 0x02b0 -db 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159 // 0x02c0 -db 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102 // 0x02d0 -db 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140 // 0x02e0 -db 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36 // 0x02f0 -db 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0 // 0x0300 -db 233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96 // 0x0310 -db 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0 // 0x0320 -db 139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193 // 0x0330 -db 232, 5,102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139 // 0x0340 -db 108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36 // 0x0350 -db 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8 // 0x0360 -db 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128 // 0x0370 -db 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184 // 0x0380 -db 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36 // 0x0390 -db 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120 // 0x03a0 -db 102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137 // 0x03b0 -db 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100 // 0x03c0 -db 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137 // 0x03d0 -db 206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102 // 0x03e0 -db 41,194,129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119 // 0x03f0 -db 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231 // 0x0400 -db 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11 // 0x0410 -db 102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15 // 0x0420 -db 131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68 // 0x0430 -db 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76 // 0x0440 -db 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36 // 0x0450 -db 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44 // 0x0460 -db 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3 // 0x0470 -db 193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0 // 0x0480 -db 137,240,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41 // 0x0490 -db 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72 // 0x04a0 -db 131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15 // 0x04b0 -db 132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160 // 0x04c0 -db 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68 // 0x04d0 -db 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68 // 0x04e0 -db 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41 // 0x04f0 -db 198, 41,199,137,208,102,193,232, 5,102, 41,194,102,137,149,224 // 0x0500 -db 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5 // 0x0510 -db 139,108, 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102 // 0x0520 -db 137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5 // 0x0530 -db 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76 // 0x0540 -db 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183 // 0x0550 -db 202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41 // 0x0560 -db 200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1 // 0x0570 -db 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41 // 0x0580 -db 193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249 // 0x0590 -db 255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36 // 0x05a0 -db 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8 // 0x05b0 -db 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200 // 0x05c0 -db 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184 // 0x05d0 -db 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2 // 0x05e0 -db 102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41 // 0x05f0 -db 199, 41,198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56 // 0x0600 -db 102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137 // 0x0610 -db 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137 // 0x0620 -db 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76 // 0x0630 -db 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137 // 0x0640 -db 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15 // 0x0650 -db 132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9 // 0x0660 -db 199,102,139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57 // 0x0670 -db 199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 // 0x0680 -db 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4 // 0x0690 -db 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16 // 0x06a0 -db 235,114, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129 // 0x06b0 -db 254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132 // 0x06c0 -db 132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199 // 0x06d0 -db 102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57 // 0x06e0 -db 199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 // 0x06f0 -db 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4 // 0x0700 -db 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0 // 0x0710 -db 137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198 // 0x0720 -db 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44 // 0x0730 -db 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102 // 0x0740 -db 137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36 // 0x0750 -db 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36 // 0x0760 -db 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36 // 0x0770 -db 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193 // 0x0780 -db 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15 // 0x0790 -db 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8 // 0x07a0 -db 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235 // 0x07b0 -db 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194 // 0x07c0 -db 102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117 // 0x07d0 -db 137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84 // 0x07e0 -db 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0 // 0x07f0 -db 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0 // 0x0800 -db 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0 // 0x0810 -db 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0 // 0x0820 -db 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255 // 0x0830 -db 255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100 // 0x0840 -db 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 // 0x0850 -db 102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24 // 0x0860 -db 137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4 // 0x0870 -db 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208 // 0x0880 -db 102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36 // 0x0890 -db 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20 // 0x08a0 -db 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1 // 0x08b0 -db 141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139 // 0x08c0 -db 108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208 // 0x08d0 -db 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124 // 0x08e0 -db 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1 // 0x08f0 -db 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199 // 0x0900 -db 209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72 // 0x0910 -db 131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36 // 0x0920 -db 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36 // 0x0930 -db 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108 // 0x0940 -db 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255 // 0x0950 -db 255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100 // 0x0960 -db 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 // 0x0970 -db 102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115 // 0x0980 -db 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141 // 0x0990 -db 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72 // 0x09a0 -db 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102 // 0x09b0 -db 137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209 // 0x09c0 -db 100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52 // 0x09d0 -db 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116 // 0x09e0 -db 131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0 // 0x09f0 -db 137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40 // 0x0a00 -db 138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116 // 0x0a10 -db 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17 // 0x0a20 -db 139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255 // 0x0a30 -db 255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184 // 0x0a40 -db 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67 // 0x0a50 -db 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0 // 0x0a60 -db 139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131 // 0x0a70 -db 196,124, 91, 94, 95, 93 // 0x0a80 diff --git a/src/stub/src/arch/i386/lzma_d_cs.S b/src/stub/src/arch/i386/lzma_d_cs.S new file mode 100644 index 00000000..17774df4 --- /dev/null +++ b/src/stub/src/arch/i386/lzma_d_cs.S @@ -0,0 +1,169 @@ +.byte 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68 /* 0x0000 */ +.byte 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0 /* 0x0010 */ +.byte 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182 /* 0x0020 */ +.byte 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74 /* 0x0030 */ +.byte 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15 /* 0x0040 */ +.byte 182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0 /* 0x0050 */ +.byte 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100 /* 0x0060 */ +.byte 199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0 /* 0x0070 */ +.byte 199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0 /* 0x0080 */ +.byte 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76 /* 0x0090 */ +.byte 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2 /* 0x00a0 */ +.byte 226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255 /* 0x00b0 */ +.byte 255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76 /* 0x00c0 */ +.byte 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193 /* 0x00d0 */ +.byte 231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0 /* 0x00e0 */ +.byte 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116 /* 0x00f0 */ +.byte 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137 /* 0x0100 */ +.byte 116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66 /* 0x0110 */ +.byte 119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72 /* 0x0120 */ +.byte 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139 /* 0x0130 */ +.byte 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221 /* 0x0140 */ +.byte 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76 /* 0x0150 */ +.byte 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84 /* 0x0160 */ +.byte 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108 /* 0x0170 */ +.byte 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1 /* 0x0180 */ +.byte 208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108 /* 0x0190 */ +.byte 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36 /* 0x01a0 */ +.byte 116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2 /* 0x01b0 */ +.byte 137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139 /* 0x01c0 */ +.byte 108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255 /* 0x01d0 */ +.byte 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92 /* 0x01e0 */ +.byte 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3 /* 0x01f0 */ +.byte 193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0 /* 0x0200 */ +.byte 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68 /* 0x0210 */ +.byte 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124 /* 0x0220 */ +.byte 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235 /* 0x0230 */ +.byte 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5 /* 0x0240 */ +.byte 102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116 /* 0x0250 */ +.byte 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129 /* 0x0260 */ +.byte 254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213 /* 0x0270 */ +.byte 129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132 /* 0x0280 */ +.byte 196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67 /* 0x0290 */ +.byte 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241 /* 0x02a0 */ +.byte 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0 /* 0x02b0 */ +.byte 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159 /* 0x02c0 */ +.byte 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102 /* 0x02d0 */ +.byte 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140 /* 0x02e0 */ +.byte 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36 /* 0x02f0 */ +.byte 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0 /* 0x0300 */ +.byte 233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96 /* 0x0310 */ +.byte 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0 /* 0x0320 */ +.byte 139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193 /* 0x0330 */ +.byte 232, 5,102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139 /* 0x0340 */ +.byte 108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36 /* 0x0350 */ +.byte 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8 /* 0x0360 */ +.byte 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128 /* 0x0370 */ +.byte 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184 /* 0x0380 */ +.byte 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36 /* 0x0390 */ +.byte 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120 /* 0x03a0 */ +.byte 102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137 /* 0x03b0 */ +.byte 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100 /* 0x03c0 */ +.byte 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137 /* 0x03d0 */ +.byte 206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102 /* 0x03e0 */ +.byte 41,194,129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119 /* 0x03f0 */ +.byte 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231 /* 0x0400 */ +.byte 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11 /* 0x0410 */ +.byte 102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15 /* 0x0420 */ +.byte 131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68 /* 0x0430 */ +.byte 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76 /* 0x0440 */ +.byte 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36 /* 0x0450 */ +.byte 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44 /* 0x0460 */ +.byte 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3 /* 0x0470 */ +.byte 193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0 /* 0x0480 */ +.byte 137,240,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41 /* 0x0490 */ +.byte 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72 /* 0x04a0 */ +.byte 131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15 /* 0x04b0 */ +.byte 132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160 /* 0x04c0 */ +.byte 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68 /* 0x04d0 */ +.byte 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68 /* 0x04e0 */ +.byte 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41 /* 0x04f0 */ +.byte 198, 41,199,137,208,102,193,232, 5,102, 41,194,102,137,149,224 /* 0x0500 */ +.byte 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5 /* 0x0510 */ +.byte 139,108, 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102 /* 0x0520 */ +.byte 137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5 /* 0x0530 */ +.byte 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76 /* 0x0540 */ +.byte 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183 /* 0x0550 */ +.byte 202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41 /* 0x0560 */ +.byte 200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1 /* 0x0570 */ +.byte 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41 /* 0x0580 */ +.byte 193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249 /* 0x0590 */ +.byte 255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36 /* 0x05a0 */ +.byte 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8 /* 0x05b0 */ +.byte 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200 /* 0x05c0 */ +.byte 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184 /* 0x05d0 */ +.byte 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2 /* 0x05e0 */ +.byte 102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41 /* 0x05f0 */ +.byte 199, 41,198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56 /* 0x0600 */ +.byte 102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137 /* 0x0610 */ +.byte 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137 /* 0x0620 */ +.byte 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76 /* 0x0630 */ +.byte 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137 /* 0x0640 */ +.byte 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15 /* 0x0650 */ +.byte 132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9 /* 0x0660 */ +.byte 199,102,139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57 /* 0x0670 */ +.byte 199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 /* 0x0680 */ +.byte 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4 /* 0x0690 */ +.byte 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16 /* 0x06a0 */ +.byte 235,114, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129 /* 0x06b0 */ +.byte 254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132 /* 0x06c0 */ +.byte 132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199 /* 0x06d0 */ +.byte 102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57 /* 0x06e0 */ +.byte 199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 /* 0x06f0 */ +.byte 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4 /* 0x0700 */ +.byte 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0 /* 0x0710 */ +.byte 137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198 /* 0x0720 */ +.byte 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44 /* 0x0730 */ +.byte 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102 /* 0x0740 */ +.byte 137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36 /* 0x0750 */ +.byte 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36 /* 0x0760 */ +.byte 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36 /* 0x0770 */ +.byte 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193 /* 0x0780 */ +.byte 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15 /* 0x0790 */ +.byte 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8 /* 0x07a0 */ +.byte 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235 /* 0x07b0 */ +.byte 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194 /* 0x07c0 */ +.byte 102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117 /* 0x07d0 */ +.byte 137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84 /* 0x07e0 */ +.byte 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0 /* 0x07f0 */ +.byte 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0 /* 0x0800 */ +.byte 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0 /* 0x0810 */ +.byte 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0 /* 0x0820 */ +.byte 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255 /* 0x0830 */ +.byte 255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100 /* 0x0840 */ +.byte 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 /* 0x0850 */ +.byte 102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24 /* 0x0860 */ +.byte 137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4 /* 0x0870 */ +.byte 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208 /* 0x0880 */ +.byte 102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36 /* 0x0890 */ +.byte 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20 /* 0x08a0 */ +.byte 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1 /* 0x08b0 */ +.byte 141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139 /* 0x08c0 */ +.byte 108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208 /* 0x08d0 */ +.byte 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124 /* 0x08e0 */ +.byte 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1 /* 0x08f0 */ +.byte 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199 /* 0x0900 */ +.byte 209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72 /* 0x0910 */ +.byte 131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36 /* 0x0920 */ +.byte 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36 /* 0x0930 */ +.byte 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108 /* 0x0940 */ +.byte 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255 /* 0x0950 */ +.byte 255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100 /* 0x0960 */ +.byte 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 /* 0x0970 */ +.byte 102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115 /* 0x0980 */ +.byte 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141 /* 0x0990 */ +.byte 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72 /* 0x09a0 */ +.byte 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102 /* 0x09b0 */ +.byte 137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209 /* 0x09c0 */ +.byte 100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52 /* 0x09d0 */ +.byte 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116 /* 0x09e0 */ +.byte 131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0 /* 0x09f0 */ +.byte 137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40 /* 0x0a00 */ +.byte 138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116 /* 0x0a10 */ +.byte 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17 /* 0x0a20 */ +.byte 139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255 /* 0x0a30 */ +.byte 255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184 /* 0x0a40 */ +.byte 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67 /* 0x0a50 */ +.byte 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0 /* 0x0a60 */ +.byte 139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131 /* 0x0a70 */ +.byte 196,124, 91, 94, 95, 93 /* 0x0a80 */ diff --git a/src/stub/src/arch/i386/lzma_d_cs_2.ash b/src/stub/src/arch/i386/lzma_d_cs_2.ash deleted file mode 100644 index 25c06c7f..00000000 --- a/src/stub/src/arch/i386/lzma_d_cs_2.ash +++ /dev/null @@ -1,169 +0,0 @@ -db 85, 87, 86, 83,131,236,124,139,148, 36,144, 0, 0, 0,199, 68 // 0x0000 -db 36,116, 0, 0, 0, 0,198, 68, 36,115, 0,139,172, 36,156, 0 // 0x0010 -db 0, 0,141, 66, 4,137, 68, 36,120,184, 1, 0, 0, 0, 15,182 // 0x0020 -db 74, 2,137,195,211,227,137,217, 73,137, 76, 36,108, 15,182, 74 // 0x0030 -db 1,211,224, 72,137, 68, 36,104,139,132, 36,168, 0, 0, 0, 15 // 0x0040 -db 182, 50,199, 69, 0, 0, 0, 0, 0,199, 68, 36, 96, 0, 0, 0 // 0x0050 -db 0,199, 0, 0, 0, 0, 0,184, 0, 3, 0, 0,137,116, 36,100 // 0x0060 -db 199, 68, 36, 92, 1, 0, 0, 0,199, 68, 36, 88, 1, 0, 0, 0 // 0x0070 -db 199, 68, 36, 84, 1, 0, 0, 0,199, 68, 36, 80, 1, 0, 0, 0 // 0x0080 -db 15,182, 74, 1, 1,241,211,224,141,136, 54, 7, 0, 0, 57, 76 // 0x0090 -db 36,116,115, 14,139, 68, 36,120,102,199, 0, 0, 4,131,192, 2 // 0x00a0 -db 226,246,139,156, 36,148, 0, 0, 0, 49,255,199, 68, 36, 72,255 // 0x00b0 -db 255,255,255,137,218, 3,148, 36,152, 0, 0, 0,137, 84, 36, 76 // 0x00c0 -db 49,210, 59, 92, 36, 76, 15,132,124, 9, 0, 0, 15,182, 3,193 // 0x00d0 -db 231, 8, 66, 67, 9,199,131,250, 4,126,231,139,140, 36,164, 0 // 0x00e0 -db 0, 0, 57, 76, 36,116, 15,131,100, 9, 0, 0,139,116, 36,116 // 0x00f0 -db 35,116, 36,108,139, 68, 36, 96,139, 84, 36,120,193,224, 4,137 // 0x0100 -db 116, 36, 68, 1,240,129,124, 36, 72,255,255,255, 0,141, 44, 66 // 0x0110 -db 119, 24, 59, 92, 36, 76, 15,132, 44, 9, 0, 0,193,100, 36, 72 // 0x0120 -db 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72,102,139 // 0x0130 -db 85, 0,193,232, 11, 15,183,202, 15,175,193, 57,199, 15,131,221 // 0x0140 -db 1, 0, 0,137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,138, 76 // 0x0150 -db 36,100,193,248, 5,190, 1, 0, 0, 0,141, 4, 2, 15,182, 84 // 0x0160 -db 36,115,102,137, 69, 0,139, 68, 36,116, 35, 68, 36,104,139,108 // 0x0170 -db 36,120,211,224,185, 8, 0, 0, 0, 43, 76, 36,100,211,250, 1 // 0x0180 -db 208,105,192, 0, 6, 0, 0,131,124, 36, 96, 6,141,132, 5,108 // 0x0190 -db 14, 0, 0,137, 68, 36, 20, 15,142,202, 0, 0, 0,139, 68, 36 // 0x01a0 -db 116, 43, 68, 36, 92,139,148, 36,160, 0, 0, 0, 15,182, 4, 2 // 0x01b0 -db 137, 68, 36, 64,209,100, 36, 64,139, 76, 36, 64,141, 20, 54,139 // 0x01c0 -db 108, 36, 20,129,225, 0, 1, 0, 0,129,124, 36, 72,255,255,255 // 0x01d0 -db 0,141, 68, 77, 0,137, 76, 36, 60,141, 44, 16,119, 24, 59, 92 // 0x01e0 -db 36, 76, 15,132, 96, 8, 0, 0,193,100, 36, 72, 8, 15,182, 3 // 0x01f0 -db 193,231, 8, 67, 9,199,139, 68, 36, 72,102,139,141, 0, 2, 0 // 0x0200 -db 0,193,232, 11, 15,183,241, 15,175,198, 57,199,115, 35,137, 68 // 0x0210 -db 36, 72,184, 0, 8, 0, 0, 41,240,137,214,193,248, 5,131,124 // 0x0220 -db 36, 60, 0,141, 4, 1,102,137,133, 0, 2, 0, 0,116, 34,235 // 0x0230 -db 46, 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5 // 0x0240 -db 102, 41,193,131,124, 36, 60, 0,102,137,141, 0, 2, 0, 0,116 // 0x0250 -db 14,129,254,255, 0, 0, 0, 15,142, 87,255,255,255,235,121,129 // 0x0260 -db 254,255, 0, 0, 0,127,113,141, 20, 54,139,108, 36, 20, 1,213 // 0x0270 -db 129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132 // 0x0280 -db 196, 7, 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67 // 0x0290 -db 9,199,139, 68, 36, 72,102,139, 77, 0,193,232, 11, 15,183,241 // 0x02a0 -db 15,175,198, 57,199,115, 25,137, 68, 36, 72,184, 0, 8, 0, 0 // 0x02b0 -db 41,240,137,214,193,248, 5,141, 4, 1,102,137, 69, 0,235,159 // 0x02c0 -db 41, 68, 36, 72, 41,199,137,200,141,114, 1,102,193,232, 5,102 // 0x02d0 -db 41,193,102,137, 77, 0,235,135,139, 84, 36,116,137,240,139,140 // 0x02e0 -db 36,160, 0, 0, 0,136, 68, 36,115,136, 4, 10, 66,131,124, 36 // 0x02f0 -db 96, 3,137, 84, 36,116,127, 13,199, 68, 36, 96, 0, 0, 0, 0 // 0x0300 -db 233, 27, 7, 0, 0,131,124, 36, 96, 9,127, 10,131,108, 36, 96 // 0x0310 -db 3,233, 10, 7, 0, 0,131,108, 36, 96, 6,233, 0, 7, 0, 0 // 0x0320 -db 139, 76, 36, 72, 41,199,139,116, 36, 96, 41,193,137,208,102,193 // 0x0330 -db 232, 5,102, 41,194,129,249,255,255,255, 0,102,137, 85, 0,139 // 0x0340 -db 108, 36,120,141,116,117, 0,137,116, 36, 56,119, 22, 59, 92, 36 // 0x0350 -db 76, 15,132,241, 6, 0, 0, 15,182, 3,193,231, 8,193,225, 8 // 0x0360 -db 67, 9,199,139,108, 36, 56,137,200,193,232, 11,102,139,149,128 // 0x0370 -db 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 82,137,198,184 // 0x0380 -db 0, 8, 0, 0, 41,232,139,108, 36, 88,193,248, 5,139, 76, 36 // 0x0390 -db 84,141, 4, 2,139, 84, 36, 56,137, 76, 36, 80,139, 76, 36,120 // 0x03a0 -db 102,137,130,128, 1, 0, 0,139, 68, 36, 92,137,108, 36, 84,137 // 0x03b0 -db 68, 36, 88, 49,192,131,124, 36, 96, 6, 15,159,192,129,193,100 // 0x03c0 -db 6, 0, 0,141, 4, 64,137, 68, 36, 96,233,116, 2, 0, 0,137 // 0x03d0 -db 206, 41,199, 41,198,137,208,102,193,232, 5,139, 76, 36, 56,102 // 0x03e0 -db 41,194,129,254,255,255,255, 0,102,137,145,128, 1, 0, 0,119 // 0x03f0 -db 22, 59, 92, 36, 76, 15,132, 77, 6, 0, 0, 15,182, 3,193,231 // 0x0400 -db 8,193,230, 8, 67, 9,199,139,108, 36, 56,137,242,193,234, 11 // 0x0410 -db 102,139,141,152, 1, 0, 0, 15,183,193, 15,175,208, 57,215, 15 // 0x0420 -db 131,227, 0, 0, 0,189, 0, 8, 0, 0,137,214, 41,197,199, 68 // 0x0430 -db 36, 52, 0, 8, 0, 0,137,232,193,248, 5,141, 4, 1,139, 76 // 0x0440 -db 36, 56,102,137,129,152, 1, 0, 0,139, 68, 36, 96,139, 76, 36 // 0x0450 -db 68,193,224, 5, 3, 68, 36,120,129,250,255,255,255, 0,141, 44 // 0x0460 -db 72,119, 22, 59, 92, 36, 76, 15,132,219, 5, 0, 0, 15,182, 3 // 0x0470 -db 193,231, 8,193,230, 8, 67, 9,199,102,139,149,224, 1, 0, 0 // 0x0480 -db 137,240,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 96, 41 // 0x0490 -db 76, 36, 52,193,124, 36, 52, 5,139,116, 36, 52,137, 68, 36, 72 // 0x04a0 -db 131,124, 36,116, 0,141, 4, 50,102,137,133,224, 1, 0, 0, 15 // 0x04b0 -db 132,147, 5, 0, 0, 49,192,131,124, 36, 96, 6,139,172, 36,160 // 0x04c0 -db 0, 0, 0,139, 84, 36,116, 15,159,192,141, 68, 0, 9,137, 68 // 0x04d0 -db 36, 96,139, 68, 36,116, 43, 68, 36, 92,138, 68, 5, 0,136, 68 // 0x04e0 -db 36,115,136, 4, 42, 66,137, 84, 36,116,233, 49, 5, 0, 0, 41 // 0x04f0 -db 198, 41,199,137,208,102,193,232, 5,102, 41,194,102,137,149,224 // 0x0500 -db 1, 0, 0,233, 31, 1, 0, 0,137,200, 41,214,102,193,232, 5 // 0x0510 -db 139,108, 36, 56,102, 41,193, 41,215,129,254,255,255,255, 0,102 // 0x0520 -db 137,141,152, 1, 0, 0,119, 22, 59, 92, 36, 76, 15,132, 22, 5 // 0x0530 -db 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199,139, 76 // 0x0540 -db 36, 56,137,240,193,232, 11,102,139,145,176, 1, 0, 0, 15,183 // 0x0550 -db 202, 15,175,193, 57,199,115, 35,137,198,184, 0, 8, 0, 0, 41 // 0x0560 -db 200,139,108, 36, 56,193,248, 5,141, 4, 2,102,137,133,176, 1 // 0x0570 -db 0, 0,139, 68, 36, 88,233,160, 0, 0, 0,137,241, 41,199, 41 // 0x0580 -db 193,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56,129,249 // 0x0590 -db 255,255,255, 0,102,137,144,176, 1, 0, 0,119, 22, 59, 92, 36 // 0x05a0 -db 76, 15,132,161, 4, 0, 0, 15,182, 3,193,231, 8,193,225, 8 // 0x05b0 -db 67, 9,199,139,116, 36, 56,137,200,193,232, 11,102,139,150,200 // 0x05c0 -db 1, 0, 0, 15,183,234, 15,175,197, 57,199,115, 32,137,198,184 // 0x05d0 -db 0, 8, 0, 0, 41,232,139,108, 36, 56,193,248, 5,141, 4, 2 // 0x05e0 -db 102,137,133,200, 1, 0, 0,139, 68, 36, 84,235, 38,137,206, 41 // 0x05f0 -db 199, 41,198,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 56 // 0x0600 -db 102,137,144,200, 1, 0, 0,139, 84, 36, 84,139, 68, 36, 80,137 // 0x0610 -db 84, 36, 80,139, 76, 36, 88,137, 76, 36, 84,139,108, 36, 92,137 // 0x0620 -db 68, 36, 92,137,108, 36, 88, 49,192,131,124, 36, 96, 6,139, 76 // 0x0630 -db 36,120, 15,159,192,129,193,104, 10, 0, 0,141, 68, 64, 8,137 // 0x0640 -db 68, 36, 96,129,254,255,255,255, 0,119, 22, 59, 92, 36, 76, 15 // 0x0650 -db 132,243, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9 // 0x0660 -db 199,102,139, 17,137,240,193,232, 11, 15,183,234, 15,175,197, 57 // 0x0670 -db 199,115, 47,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 // 0x0680 -db 36, 68, 4,193,248, 5,199, 68, 36, 44, 0, 0, 0, 0,141, 4 // 0x0690 -db 2,102,137, 1,139, 68, 36, 68,141, 76, 1, 4,137, 76, 36, 16 // 0x06a0 -db 235,114, 41,198, 41,199,137,208,102,193,232, 5,102, 41,194,129 // 0x06b0 -db 254,255,255,255, 0,102,137, 17,119, 22, 59, 92, 36, 76, 15,132 // 0x06c0 -db 132, 3, 0, 0, 15,182, 3,193,231, 8,193,230, 8, 67, 9,199 // 0x06d0 -db 102,139, 81, 2,137,240,193,232, 11, 15,183,234, 15,175,197, 57 // 0x06e0 -db 199,115, 59,137, 68, 36, 72,184, 0, 8, 0, 0, 41,232,193,100 // 0x06f0 -db 36, 68, 4,193,248, 5,199, 68, 36, 44, 8, 0, 0, 0,141, 4 // 0x0700 -db 2,139, 84, 36, 68,102,137, 65, 2,141,140, 17, 4, 1, 0, 0 // 0x0710 -db 137, 76, 36, 16,199, 68, 36, 48, 3, 0, 0, 0,235, 47, 41,198 // 0x0720 -db 41,199,137,208,137,116, 36, 72,102,193,232, 5,199, 68, 36, 44 // 0x0730 -db 16, 0, 0, 0,102, 41,194,199, 68, 36, 48, 8, 0, 0, 0,102 // 0x0740 -db 137, 81, 2,129,193, 4, 2, 0, 0,137, 76, 36, 16,139, 76, 36 // 0x0750 -db 48,186, 1, 0, 0, 0,137, 76, 36, 40,141, 44, 18,139,116, 36 // 0x0760 -db 16, 1,238,129,124, 36, 72,255,255,255, 0,119, 24, 59, 92, 36 // 0x0770 -db 76, 15,132,209, 2, 0, 0,193,100, 36, 72, 8, 15,182, 3,193 // 0x0780 -db 231, 8, 67, 9,199,139, 68, 36, 72,102,139, 22,193,232, 11, 15 // 0x0790 -db 183,202, 15,175,193, 57,199,115, 24,137, 68, 36, 72,184, 0, 8 // 0x07a0 -db 0, 0, 41,200,193,248, 5,141, 4, 2,137,234,102,137, 6,235 // 0x07b0 -db 21, 41, 68, 36, 72, 41,199,137,208,102,193,232, 5,102, 41,194 // 0x07c0 -db 102,137, 22,141, 85, 1,139,116, 36, 40, 78,137,116, 36, 40,117 // 0x07d0 -db 137,138, 76, 36, 48,184, 1, 0, 0, 0,211,224, 41,194, 3, 84 // 0x07e0 -db 36, 44,131,124, 36, 96, 3,137, 84, 36, 12, 15,143,231, 1, 0 // 0x07f0 -db 0,131, 68, 36, 96, 7,131,250, 3,137,208,126, 5,184, 3, 0 // 0x0800 -db 0, 0,139,116, 36,120,193,224, 7,199, 68, 36, 36, 6, 0, 0 // 0x0810 -db 0,141,132, 6, 96, 3, 0, 0,137, 68, 36, 8,184, 1, 0, 0 // 0x0820 -db 0,141, 44, 0,139,116, 36, 8, 1,238,129,124, 36, 72,255,255 // 0x0830 -db 255, 0,119, 24, 59, 92, 36, 76, 15,132, 10, 2, 0, 0,193,100 // 0x0840 -db 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 // 0x0850 -db 102,139, 22,193,232, 11, 15,183,202, 15,175,193, 57,199,115, 24 // 0x0860 -db 137, 68, 36, 72,184, 0, 8, 0, 0, 41,200,193,248, 5,141, 4 // 0x0870 -db 2,102,137, 6,137,232,235, 21, 41, 68, 36, 72, 41,199,137,208 // 0x0880 -db 102,193,232, 5,102, 41,194,141, 69, 1,102,137, 22,139,108, 36 // 0x0890 -db 36, 77,137,108, 36, 36,117,137,141, 80,192,131,250, 3,137, 20 // 0x08a0 -db 36, 15,142, 39, 1, 0, 0,137,208,137,214,209,248,131,230, 1 // 0x08b0 -db 141, 72,255,131,206, 2,131,250, 13,137, 76, 36, 32,127, 28,139 // 0x08c0 -db 108, 36,120,211,230, 1,210,137, 52, 36,141, 68,117, 0, 41,208 // 0x08d0 -db 5, 94, 5, 0, 0,137, 68, 36, 4,235, 86,141, 80,251,129,124 // 0x08e0 -db 36, 72,255,255,255, 0,119, 24, 59, 92, 36, 76, 15,132, 86, 1 // 0x08f0 -db 0, 0,193,100, 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199 // 0x0900 -db 209,108, 36, 72, 1,246, 59,124, 36, 72,114, 7, 43,124, 36, 72 // 0x0910 -db 131,206, 1, 74,117,200,139, 68, 36,120,193,230, 4,137, 52, 36 // 0x0920 -db 5, 68, 6, 0, 0,199, 68, 36, 32, 4, 0, 0, 0,137, 68, 36 // 0x0930 -db 4,199, 68, 36, 28, 1, 0, 0, 0,184, 1, 0, 0, 0,139,108 // 0x0940 -db 36, 4, 1,192,137, 68, 36, 24, 1,197,129,124, 36, 72,255,255 // 0x0950 -db 255, 0,119, 24, 59, 92, 36, 76, 15,132,234, 0, 0, 0,193,100 // 0x0960 -db 36, 72, 8, 15,182, 3,193,231, 8, 67, 9,199,139, 68, 36, 72 // 0x0970 -db 102,139, 85, 0,193,232, 11, 15,183,242, 15,175,198, 57,199,115 // 0x0980 -db 27,137, 68, 36, 72,184, 0, 8, 0, 0, 41,240,193,248, 5,141 // 0x0990 -db 4, 2,102,137, 69, 0,139, 68, 36, 24,235, 31, 41, 68, 36, 72 // 0x09a0 -db 41,199,137,208,102,193,232, 5,102, 41,194,139, 68, 36, 24,102 // 0x09b0 -db 137, 85, 0,139, 84, 36, 28, 64, 9, 20, 36,139, 76, 36, 32,209 // 0x09c0 -db 100, 36, 28, 73,137, 76, 36, 32, 15,133,112,255,255,255,139, 52 // 0x09d0 -db 36, 70,137,116, 36, 92,116, 89,139, 76, 36, 12,139,108, 36,116 // 0x09e0 -db 131,193, 2, 57,108, 36, 92,119, 95,139,132, 36,160, 0, 0, 0 // 0x09f0 -db 137,234, 43, 68, 36, 92, 3,148, 36,160, 0, 0, 0,141, 52, 40 // 0x0a00 -db 138, 6, 70,136, 68, 36,115,136, 2, 66,255, 68, 36,116, 73,116 // 0x0a10 -db 15,139,172, 36,164, 0, 0, 0, 57,108, 36,116,114,226,235, 17 // 0x0a20 -db 139,132, 36,164, 0, 0, 0, 57, 68, 36,116, 15,130,187,246,255 // 0x0a30 -db 255,129,124, 36, 72,255,255,255, 0,119, 21, 59, 92, 36, 76,184 // 0x0a40 -db 1, 0, 0, 0,116, 41,235, 7,184, 1, 0, 0, 0,235, 32, 67 // 0x0a50 -db 43,156, 36,148, 0, 0, 0, 49,192,139,148, 36,156, 0, 0, 0 // 0x0a60 -db 139, 76, 36,116,137, 26,139,156, 36,168, 0, 0, 0,137, 11,131 // 0x0a70 -db 196,124, 91, 94, 95, 93 // 0x0a80 diff --git a/src/stub/src/arch/i386/macros2.ash b/src/stub/src/arch/i386/macros2.ash deleted file mode 100644 index 6a38258d..00000000 --- a/src/stub/src/arch/i386/macros2.ash +++ /dev/null @@ -1,617 +0,0 @@ -/* -; macros.ash -- -; -; This file is part of the UPX executable compressor. -; -; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2006 Laszlo Molnar -; All Rights Reserved. -; -; UPX and the UCL library are free software; you can redistribute them -; and/or modify them under the terms of the GNU General Public License as -; published by the Free Software Foundation; either version 2 of -; the License, or (at your option) any later version. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; see the file COPYING. -; If not, write to the Free Software Foundation, Inc., -; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -; -; Markus F.X.J. Oberhumer Laszlo Molnar -; -; -*/ - - .code32 - .intel_syntax noprefix - -.macro section name - .section \name - .code32 -.endm - -.macro CPU id - .ifc \id, 386 - //.arch i386, nojumps - .endif - .ifc \id, 486 - .arch i486, nojumps - .endif -.endm - -.macro jmps target - .byte 0xeb, \target - . - 1 -.endm - -.macro jos target - .byte 0x70, \target - . - 1 -.endm - -.macro jnos target - .byte 0x71, \target - . - 1 -.endm - -.macro jcs target - .byte 0x72, \target - . - 1 -.endm - -.macro jncs target - .byte 0x73, \target - . - 1 -.endm - -.macro jzs target - .byte 0x74, \target - . - 1 -.endm - -.macro jnzs target - .byte 0x75, \target - . - 1 -.endm - -.macro jnas target - .byte 0x76, \target - . - 1 -.endm - -.macro jas target - .byte 0x77, \target - . - 1 -.endm - -.macro jss target - .byte 0x78, \target - . - 1 -.endm - -.macro jnss target - .byte 0x79, \target - . - 1 -.endm - -.macro jps target - .byte 0x7a, \target - . - 1 -.endm - -.macro jnps target - .byte 0x7b, \target - . - 1 -.endm - -.macro jls target - .byte 0x7c, \target - . - 1 -.endm - -.macro jnls target - .byte 0x7d, \target - . - 1 -.endm - -.macro jngs target - .byte 0x7e, \target - . - 1 -.endm - -.macro jgs target - .byte 0x7f, \target - . - 1 -.endm - -#define jes jzs -#define jnes jnzs -#define jbes jnas - -/* -;; ============= -;; ============= 32-BIT CALLTRICK & JUMPTRICK -;; ============= - -;; call & jump trick : 2 in 1 -*/ - -.macro cjt32 addvalue -section CALLTR00 - mov ecx, offset filter_length -calltrickloop: - mov al, [edi] - inc edi - sub al, 0xE8 -ct1: - cmp al, 1 - ja calltrickloop -section CTCLEVE1 - cmpb [edi], offset filter_cto - jnzs calltrickloop -section CALLTR01 - mov eax, [edi] - mov bl, [edi + 4] -section CTBSHR01 - shr ax, 8 -section CTBROR01 - xchg ah, al -section CTBSWA01 - rol eax, 16 - xchg ah, al -section CALLTR02 - sub eax, edi - sub bl, 0xE8 - - .ifnc \addvalue, 0 - add eax, \addvalue - .endif - - mov [edi], eax - add edi, 5 - mov al, bl - loop ct1 - -section CALLTR10 -//;; 32-bit call XOR jump trick - mov ecx, offset filter_length -ctloop1: -section CALLTRE8 - mov al,0xE8 -section CALLTRE9 - mov al,0xE9 -section CALLTR11 -ctloop2: - repnz - scasb - jnzs ctend -section CTCLEVE2 - cmpb [edi], offset filter_cto - jnzs ctloop2 -section CALLTR12 - mov eax, [edi] -section CTBSHR11 - shr ax, 8 -section CTBROR11 - xchg ah, al -section CTBSWA11 - rol eax, 16 - xchg ah, al -section CALLTR13 - sub eax, edi - - .ifnc \addvalue, 0 - add eax, \addvalue - .endif - - stosd - jmps ctloop1 -ctend: -.endm - -/* -;; call/jump/jcc trick; also used more than once (and/or optionally), so -;; ecx has byte count (not count of applied instances), and -;; edi points to buffer. -*/ -.macro ckt32 addvalue, cto8 -// 1st param: effective addvalue (typically 0 or edi; any rvalue) -// 2nd param: where is cto8 (dl, bl, or literal) - -section CKLLTR00 - .ifnc \addvalue, 0 - mov esi, \addvalue - .endif - jmps ckstart -ckloop3: - mov al, [edi] - add edi, 1 -section CKLLTR10 // Jcc only - cmp al, 0x80 // lo of 6-byte Jcc - jb ckloop2 - cmp al, 0x8f // hi of 6-byte Jcc - ja ckloop2 - cmpb [edi -2], 0x0F // prefix of 6-byte Jcc - jes ckmark -ckloop2: -section CKLLTR20 - sub al, 0xE8 - cmp al, 0xE9 - 0xE8 - jas ckcount -ckmark: - cmp [edi], \cto8 - jnzs ckcount - mov eax, [edi] - - shr ax, 8 - rol eax, 16 - xchg ah, al -// above 3 instr are equivalent to the following 2 instr: -// mov al, 0 ; clear cto8 [setup partial-write stall] -// bswap eax ; not on 386: need 486 and up - - sub eax, edi - .ifnc \addvalue, 0 - add eax, esi - .endif - mov [edi], eax - add edi, 4 -ckstart: - sub ecx, 4 -section CKLLTR30 // Jcc only - mov al, [edi] - add edi, 1 - loop ckloop2 // prefix cannot overlap previous displacement -section CKLLTR40 -ckcount: - sub ecx, 1 - jgs ckloop3 -ckend: -.endm - -// ============= -// ============= 32-BIT RELOCATIONS -// ============= - -.macro reloc32 buffer, destination, addvalue -section RELOC320 -reloc_main: - xor eax, eax - mov al, [\buffer] - inc \buffer - or eax, eax - jzs reloc_endx - cmp al, 0xEF - ja reloc_fx -reloc_add: - add \destination, eax -#if 1 - mov eax, [\destination] - xchg ah, al - rol eax, 16 - xchg ah, al - add eax, \addvalue - mov [\destination], eax -#else - add [\destination], \addvalue -#endif - jmps reloc_main -reloc_fx: - and al, 0x0F - shl eax, 16 - mov ax, [\buffer] - add \buffer, 2 -section REL32BIG - or eax, eax - jnzs reloc_add - mov eax, [\buffer] - add \buffer, 4 -section RELOC32J - jmps reloc_add -reloc_endx: -section REL32END -.endm - -/* -;; ============= -;; ============= 32-BIT CALL TRICK UNFILTER WITH MostRecentlyUsed BUFFER -;; ============= - -;;;; names of pseudo-sections for addLoader: -;; LXUNFnnn Linux unfilter -;; LXMRUnnn MostRecentlyUsed recoding of destinations -;; MRUARBnn arbitrary number of entries in wheel -;; MRUBITSn power of 2 entries in wheel (smaller code) -;; MRUBYTEn 256 entries in wheel (smallest code) -*/ - -/* -;; I got confused by the syntactic sugar of the fake %ifdefs. -;; I can read the section name more easily when it is at the left margin. -;; Also, some of the logic to select the sections is not that simple, -;; and any mismatch between the logic and the %ifdefs is very confusing. -;; Instead, I use comments after the section name, and blank lines for grouping. -*/ - -.macro ctojr32 - -section LXUNF000 // enter at +0 for decompression; +2 for unfiltering - jmps decompr0 -section LXUNF002 - // 2+ address of decompress subroutine - // unfilter(upx_byte *, length, cto8) -lxunfilter: - pop edx // return address - pop eax // upx_byte *, same as addvalue - pop ecx // length - xchg eax, edi // edi= pointer; eax= saved_edi - pusha // save C-convention ebx, ebp, esi, edi; also eax, edx - -// at most one of the next 2 -section MRUBYTE0 // 256==n_mru - xor ebx, ebx // zero -section LXMRU005 // 0!=n_mru - mov ebx, offset NMRU // modified N_MRU or N_MRU -1 - -section LXMRU006 // 0!=n_mru - push 0x0f // prefix of 6-byte Jcc - pop eax - mov ah, [esp + 8*4] // cto8 -section LXMRU007 // 0==n_mru - push 0x0f // prefix of 6-byte Jcc - pop ebx - mov bh, [esp + 8*4] // cto8 - -section LXUNF008 - mov dl, [esp + 8*4] // cto8 - -section LXUNF010 - jmp lxunf0 -decompr0: - -// These #define are only if 0!=n_mru; -// else 0x0F==bl && cto8==bh==dh && 0xE8==dl && addvalue==esi . -#define __n_mru [esi] -#define __n_mru1 [esi] -#define __tail [esi + 4*1] -#define __cto8_e8e9 [esi + 4*2] -#define __cto8_0f [esi + 4*3] -#define __addvalue [esi + 4*4] -#define __tmp ebp -#define __hand ebx -#define __hand_l bl -#define __kh edx -#define __kh_l dl - -section LXJCC010 -lxunf2: // have seen 0x80..0x8f of possible recoded 6-byte Jcc - movzxw ebp, [edi] // 2 bytes, zero-extended - -section LXMRU045 // 0!=n_mru - sub ebp, __cto8_0f -section LXMRU046 // 0==n_mru - sub ebp, ebx - -section LXJCC020 // 0==n_mru, or Jcc excluded ('sub' of equals clears Carry) - jne unfcount -section LXJCC021 // 0!=n_mru and Jcc participates// must set Carry - sub ebp, 1 // set Carry iff in range - jnb unfcount - -section LXJCC023 // found Jcc// re-swap 0x8Y opcode and 0x0f prefix - mov [edi -1], bl // 0x0f prefix - dec ecx // preserve Carry - mov [edi], al // Jcc opcode - inc edi // preserve Carry - -section LXUNF037 -#define __jc eax - -lxunf: // in: Carry set iff we should apply mru and 0!=n_mru - mov eax, [edi] // BE32 displacement with cto8 in low 8 bits - -section LXUNF386 // 0!=n_mru && 386 - pushf -section LXUNF387 // ==386 - shr ax, 8 - rol eax, 16 - xchg ah, al -section LXUNF388 // 0!=n_mru && 386 - popf - jncs unf_store // do not apply mru - -section LXUNF486 // >=486 - mov al, 0 - CPU 486 - bswap eax // preserve Carry (2-byte instruction) - CPU 386 -section LXUNF487 // 0!=n_mru && >=486 - jncs unf_store // do not apply mru - -section LXMRU065 // 0!=n_mru - shr __jc, 1 // eax= jc, or mru index - jnc mru4 // not 1st time for this jc -section MRUBYTE3 - dec __hand_l -section MRUARB30 - dec __hand -section MRUBITS3 - and __hand, __n_mru1 -section MRUARB40 - jge mru3 - add __hand, __n_mru -mru3: -section LXMRU070 - - mov [esp + 4*__hand], __jc // 1st time: mru[hand] = jc - jmps unf_store - -mru4: // not 1st time for this jc - lea __kh, [__jc + __hand] // kh = jc + hand -section MRUBYTE4 - movzx __kh, __kh_l -section MRUBITS4 - and __kh, __n_mru1 -section MRUARB50 - cmp __kh, __n_mru - jb mru5 - sub __kh, __n_mru -mru5: -section LXMRU080 - mov __jc, [esp + 4*__kh] // jc = mru[kh] -section MRUBYTE5 - dec __hand_l -section MRUARB60 - dec __hand -section MRUBITS5 - and __hand, __n_mru1 -section MRUARB70 - jge mru6 - add __hand, __n_mru -mru6: -section LXMRU090 - - mov __tmp, [esp + 4*__hand] // tmp = mru[hand] - test __tmp,__tmp - jnzs mru8 - - push __jc // ran out of registers - mov eax, __tail - -section MRUBYTE6 - dec al -section MRUARB80 - dec eax -section MRUBITS6 - and eax, __n_mru1 -section MRUARB90 - jge mru7 - add eax, __n_mru -mru7: -section LXMRU100 - - xor __tmp,__tmp - mov __tail, eax - xchg [4+ esp + 4*eax], __tmp // tmp = mru[tail]; mru[tail] = 0 - pop __jc -mru8: - mov [esp + 4*__kh ], __tmp // mru[kh] = tmp - mov [esp + 4*__hand], __jc // mru[hand] = jc -section LXUNF040 -unf_store: - sub eax, edi - sub ecx, 4 - -// one of the next2 -section LXMRU110 // 0!=n_mru - add eax, __addvalue -section LXMRU111 // 0==n_mru - add eax, esi // addvalue (same as initial pointer) - -section LXUNF041 - mov [edi], eax - add edi, 4 - jmps unfcount -section LXUNF042 -lxunf0: // continuation of entry prolog for unfilter -section LEXEC016 // bug in APP: jmp and label must be in same .asx/.asy - jmp lxunf0 // this instr does not really go here! - -section LXMRU010 // 0!=n_mru - push eax // cto8_0f -section LXJMPA00 // only JMP, and not CALL, is filtered - mov al, 0xE9 -section LXCALLB0 // only CALL, or both CALL and JMP are filtered - mov al, 0xE8 -section LXUNF021 // common tail - push eax // cto8_e8e9 - push 0 // tail - push ebx // n_mru or n_mru1 - mov esi, esp // flat model "[esi]" saves a byte over "[ebp]" - -section LXMRU022 // 0==n_mru - pop esi // addvalue - mov edx, ebx // dh= cto8 -section LXJMPA01 // only JMP, and not CALL, is filtered - mov dl, 0xE9 -section LXCALLB1 // only CALL, or both CALL and JMP are filtered - mov dl, 0xE8 - - -section MRUBITS1 - inc __hand // n_mru1 ==> n_mru -section LXMRU030 -lxunf1: // allocate and clear mru[] - push 0 - -// one of the next 2, if n_mru -section MRUBYTE1 - dec __hand_l -section MRUARB10 - dec __hand - -section LXMRU040 // 0!=n_mru - jnzs lxunf1 // leaves 0=='hand' - -section LXUNF030 -lxctloop: - movzxw eax, [edi] // 2 bytes, zero extended - add edi, 1 -section LXJCC000 - cmp al, 0x80 // lo of Jcc - jb lxct1 - cmp al, 0x8f // hi of Jcc - jbes lxunf2 -lxct1: - -section LXCJ0MRU // 0==n_mru - sub eax, edx -section LXCJ1MRU // 0!=n_mru - sub eax, __cto8_e8e9 - -// both CALL and JMP are filtered -section LXCALJMP - sub eax, 1+ (0xE9 - 0xE8) // set Carry iff in range (result: -2, -1) - -// only CALL, or only JMP, is filtered -section LXCALL00 // 0==n_mru - je lxunf -section LXCALL01 // 0!=n_rmu - sub eax, 1 // set Carry iff in range - -section LXCJ2MRU // 0==n_mru, or apply mru to all that are filtered here - jb lxunf // only Carry (Borrow) matters -section LXCJ4MRU // 0!=n_mru, but apply mru only to subset of filtered here - jnb unfcount // was not filtered anyway: do not unfilter - -//we will unfilter, and 0!=n_mru, but should we apply mru? -section LXCJ6MRU // apply mru to JMP only (0xFF==al) - jpe lxct3 // jump if even number of 1 bits in al -section LXCJ7MRU // apply mru to CALL only (0xFE==al) - jpo lxct3 // jump if odd number of 1 bits in al -section LXCJ8MRU // do not apply mru to one or both - clc -lxct3: - jmps lxunf - -section LXUNF034 -unfcount: - sub ecx, 1 - jgs lxctloop - -section LXMRU055 - mov edi, esp // clear mru[] portion of stack -section MRUBYTE2 - mov ecx, 4+ 256 // unused, tail, cto8_e8e9, cto8_0f -section MRUBITS2 - mov ecx, __n_mru1 - add ecx, 1+ 4 // n_mru1, tail, cto8_e8e9, cto8_0f -section MRUARB20 - mov ecx, __n_mru - add ecx, 4 // n_mru, tail, cto8_e8e9, cto8_0f -section LXMRU057 - xor eax, eax - rep - stosd - mov esp, edi - -section LXMRU058 // 0==n_mru - push esi -section LXUNF035 - popa - xchg eax, edi - push ecx - push eax - push edx - ret -.endm - -// vi:ts=8:et:nowrap diff --git a/src/stub/src/arch/i386/nrv2b_d32_2.ash b/src/stub/src/arch/i386/nrv2b_d32.S similarity index 100% rename from src/stub/src/arch/i386/nrv2b_d32_2.ash rename to src/stub/src/arch/i386/nrv2b_d32.S diff --git a/src/stub/src/arch/i386/nrv2d_d32_2.ash b/src/stub/src/arch/i386/nrv2d_d32.S similarity index 100% rename from src/stub/src/arch/i386/nrv2d_d32_2.ash rename to src/stub/src/arch/i386/nrv2d_d32.S diff --git a/src/stub/src/arch/i386/nrv2e_d32_2.ash b/src/stub/src/arch/i386/nrv2e_d32.S similarity index 100% rename from src/stub/src/arch/i386/nrv2e_d32_2.ash rename to src/stub/src/arch/i386/nrv2e_d32.S diff --git a/src/stub/src/arm.v4a-wince.pe.S b/src/stub/src/arm.v4a-wince.pe.S index 446ac976..06040667 100644 --- a/src/stub/src/arm.v4a-wince.pe.S +++ b/src/stub/src/arm.v4a-wince.pe.S @@ -332,7 +332,7 @@ ONAM: .long start_of_dll_names @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -#include "include/header2.ash" +#include "include/header.S" section .ucl_nrv2e_decompress_8 diff --git a/src/stub/src/arm.v4t-wince.pe.S b/src/stub/src/arm.v4t-wince.pe.S index 6f1d3f37..9d9fb154 100644 --- a/src/stub/src/arm.v4t-wince.pe.S +++ b/src/stub/src/arm.v4t-wince.pe.S @@ -281,7 +281,7 @@ section ProcessEnd @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -#include "include/header2.ash" +#include "include/header.S" #define PURE_THUMB 1 diff --git a/src/stub/src/i086-dos16.com.S b/src/stub/src/i086-dos16.com.S index db277a0c..55718974 100644 --- a/src/stub/src/i086-dos16.com.S +++ b/src/stub/src/i086-dos16.com.S @@ -65,7 +65,7 @@ section COMCALLT section COMMAIN2 jmp decomp_start_n2b -#include "include/header2.ash" +#include "include/header.S" section COMCUTPO diff --git a/src/stub/src/i086-dos16.exe.S b/src/stub/src/i086-dos16.exe.S index 120f50d1..998f4d9c 100644 --- a/src/stub/src/i086-dos16.exe.S +++ b/src/stub/src/i086-dos16.exe.S @@ -112,7 +112,7 @@ section EXEMAIN4 push bp lret -#include "include/header2.ash" +#include "include/header.S" section EXECUTPO @@ -219,4 +219,6 @@ section EXERETIP push ax lret -/* vi:ts=8:et:nowrap */ +/* +vi:ts=8:et:nowrap +*/ diff --git a/src/stub/src/i086-dos16.sys.S b/src/stub/src/i086-dos16.sys.S index c9471abd..d46bcb6f 100644 --- a/src/stub/src/i086-dos16.sys.S +++ b/src/stub/src/i086-dos16.sys.S @@ -86,7 +86,7 @@ section SYSCALLT section SYSMAIN3 jmp decomp_start_n2b -#include "include/header2.ash" +#include "include/header.S" section SYSCUTPO diff --git a/src/stub/src/i386-bsd.elf-entry.S b/src/stub/src/i386-bsd.elf-entry.S index 7ad7bfbd..9c00c58d 100644 --- a/src/stub/src/i386-bsd.elf-entry.S +++ b/src/stub/src/i386-bsd.elf-entry.S @@ -30,9 +30,8 @@ ; ; */ -#include "arch/i386/macros2.ash" -// CPU 386 +#include "arch/i386/macros.S" // CPU 386 @@ -95,11 +94,10 @@ section LEXEC010 or ebp, -1 // align 8 -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" cjt32 0 section LEXEC015 diff --git a/src/stub/src/i386-bsd.elf-fold.S b/src/stub/src/i386-bsd.elf-fold.S index 2fb8ae3a..82a2232f 100644 --- a/src/stub/src/i386-bsd.elf-fold.S +++ b/src/stub/src/i386-bsd.elf-fold.S @@ -28,7 +28,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 diff --git a/src/stub/src/i386-dos32.djgpp2.S b/src/stub/src/i386-dos32.djgpp2.S index 7a545329..80376860 100644 --- a/src/stub/src/i386-dos32.djgpp2.S +++ b/src/stub/src/i386-dos32.djgpp2.S @@ -27,7 +27,7 @@ ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" CPU 386 @@ -63,11 +63,10 @@ section LZMA_INIT_STACK ; ============= */ -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" section LZMA_DONE_STACK mov ss, [eax] // eax is always 0 here @@ -92,6 +91,6 @@ section DJRETURN ; so the header section should be 4 byte aligned */ -#include "include/header2.ash" +#include "include/header.S" // vi:ts=8:et:nowrap diff --git a/src/stub/src/i386-dos32.tmt.S b/src/stub/src/i386-dos32.tmt.S index dd98383b..0fcf47ca 100644 --- a/src/stub/src/i386-dos32.tmt.S +++ b/src/stub/src/i386-dos32.tmt.S @@ -27,7 +27,7 @@ ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" CPU 386 @@ -57,7 +57,7 @@ section TMTCALT1 section TMTMAIN2 jmp decompressor -#include "include/header2.ash" +#include "include/header.S" section TMTCUTPO decompressor: @@ -66,10 +66,10 @@ decompressor: // ============= DECOMPRESSION // ============= -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" section TMTMAIN5 pop ebp diff --git a/src/stub/src/i386-dos32.watcom.le.S b/src/stub/src/i386-dos32.watcom.le.S index 21daf758..c81e4321 100644 --- a/src/stub/src/i386-dos32.watcom.le.S +++ b/src/stub/src/i386-dos32.watcom.le.S @@ -27,7 +27,7 @@ ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" CPU 386 @@ -62,7 +62,7 @@ section WCLEMAIN push edi jmp decompressor -#include "include/header2.ash" +#include "include/header.S" section WCLECUTP decompressor: @@ -71,10 +71,10 @@ decompressor: // ============= DECOMPRESSION // ============= -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" // ============= diff --git a/src/stub/src/i386-linux.elf-entry.S b/src/stub/src/i386-linux.elf-entry.S index 7123ce17..cf8b7516 100644 --- a/src/stub/src/i386-linux.elf-entry.S +++ b/src/stub/src/i386-linux.elf-entry.S @@ -30,7 +30,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 @@ -96,11 +96,10 @@ section LEXEC010 or ebp, -1 //;; align 8 -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" cjt32 0 section LEXEC015 diff --git a/src/stub/src/i386-linux.elf-fold.S b/src/stub/src/i386-linux.elf-fold.S index b60ee8de..0a177efd 100644 --- a/src/stub/src/i386-linux.elf-fold.S +++ b/src/stub/src/i386-linux.elf-fold.S @@ -28,7 +28,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 diff --git a/src/stub/src/i386-linux.elf.execve-entry.S b/src/stub/src/i386-linux.elf.execve-entry.S index fcb7b30c..8a700208 100644 --- a/src/stub/src/i386-linux.elf.execve-entry.S +++ b/src/stub/src/i386-linux.elf.execve-entry.S @@ -30,7 +30,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 @@ -104,11 +104,10 @@ section LEXEC010 or ebp, byte -1 // align 8 -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" cjt32 0 section LEXEC015 diff --git a/src/stub/src/i386-linux.elf.execve-fold.S b/src/stub/src/i386-linux.elf.execve-fold.S index 8c385bf9..0bb9dd04 100644 --- a/src/stub/src/i386-linux.elf.execve-fold.S +++ b/src/stub/src/i386-linux.elf.execve-fold.S @@ -28,7 +28,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 diff --git a/src/stub/src/i386-linux.elf.execve-upx_itoa.S b/src/stub/src/i386-linux.elf.execve-upx_itoa.S index 30ad394c..4554bc29 100644 --- a/src/stub/src/i386-linux.elf.execve-upx_itoa.S +++ b/src/stub/src/i386-linux.elf.execve-upx_itoa.S @@ -1,2 +1,2 @@ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" #include "arch/i386/upx_itoa.S" diff --git a/src/stub/src/i386-linux.elf.interp-entry.S b/src/stub/src/i386-linux.elf.interp-entry.S index af02d507..b9438ac7 100644 --- a/src/stub/src/i386-linux.elf.interp-entry.S +++ b/src/stub/src/i386-linux.elf.interp-entry.S @@ -30,7 +30,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 @@ -123,12 +123,11 @@ section LXPTI050 mov edi, OUTP // align 8 -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#include "arch/i386/cl1_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/cl1_d32.S" +#include "arch/i386/lzma_d.S" section LXPTI090 jmp exp_done section LXPTI091 diff --git a/src/stub/src/i386-linux.elf.interp-fold.S b/src/stub/src/i386-linux.elf.interp-fold.S index 9a30b46f..f3de1261 100644 --- a/src/stub/src/i386-linux.elf.interp-fold.S +++ b/src/stub/src/i386-linux.elf.interp-fold.S @@ -28,7 +28,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 diff --git a/src/stub/src/i386-linux.elf.shell-entry.S b/src/stub/src/i386-linux.elf.shell-entry.S index d3fcba23..d41f8723 100644 --- a/src/stub/src/i386-linux.elf.shell-entry.S +++ b/src/stub/src/i386-linux.elf.shell-entry.S @@ -30,7 +30,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 @@ -84,12 +84,11 @@ section LEXEC010 or ebp, -1 // .balign 8 -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#include "arch/i386/cl1_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/cl1_d32.S" +#include "arch/i386/lzma_d.S" cjt32 0 section LEXEC015 diff --git a/src/stub/src/i386-linux.elf.shell-fold.S b/src/stub/src/i386-linux.elf.shell-fold.S index b3550b53..1bc508c8 100644 --- a/src/stub/src/i386-linux.elf.shell-fold.S +++ b/src/stub/src/i386-linux.elf.shell-fold.S @@ -30,7 +30,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // CPU 386 diff --git a/src/stub/src/i386-linux.kernel.vmlinux.S b/src/stub/src/i386-linux.kernel.vmlinux.S index 9d3aabb1..55bbe8f0 100644 --- a/src/stub/src/i386-linux.kernel.vmlinux.S +++ b/src/stub/src/i386-linux.kernel.vmlinux.S @@ -30,7 +30,7 @@ ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" /* ; ============= @@ -67,11 +67,10 @@ section LXMOVEUP // ============= DECOMPRESSION // ============= -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" // ============= // ============= UNFILTER @@ -135,6 +134,6 @@ move_up: or ebp, -1 // decompressor assumption jmp eax // enter moved decompressor -#include "include/header2.ash" +#include "include/header.S" // vi:ts=8:et:nowrap diff --git a/src/stub/src/i386-linux.kernel.vmlinuz.S b/src/stub/src/i386-linux.kernel.vmlinuz.S index 516e46a6..337970be 100644 --- a/src/stub/src/i386-linux.kernel.vmlinuz.S +++ b/src/stub/src/i386-linux.kernel.vmlinuz.S @@ -27,8 +27,7 @@ ; */ - -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" // ============= // ============= ENTRY POINT @@ -124,11 +123,10 @@ section LZCUTPOI // ============= DECOMPRESSION // ============= -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" // ============= // ============= UNFILTER @@ -158,6 +156,6 @@ section LINUZ990 xor ebx, ebx // booting the 1st cpu lret // MATCH00 set cs -#include "include/header2.ash" +#include "include/header.S" // vi:ts=8:et:nowrap diff --git a/src/stub/src/i386-openbsd.elf-fold.S b/src/stub/src/i386-openbsd.elf-fold.S index 942ae064..b0ca5183 100644 --- a/src/stub/src/i386-openbsd.elf-fold.S +++ b/src/stub/src/i386-openbsd.elf-fold.S @@ -28,7 +28,7 @@ ; ; */ -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" #define PAGE_SIZE ( 1<<12) #define szElf32_Ehdr 0x34 diff --git a/src/stub/src/i386-win32.pe.S b/src/stub/src/i386-win32.pe.S index 89f0d320..22e3ca27 100644 --- a/src/stub/src/i386-win32.pe.S +++ b/src/stub/src/i386-win32.pe.S @@ -28,7 +28,7 @@ */ #define UPX102 1 -#include "arch/i386/macros2.ash" +#include "arch/i386/macros.S" CPU 386 @@ -57,11 +57,10 @@ section PEMAIN02 // ============= DECOMPRESSION // ============= -#include "arch/i386/nrv2b_d32_2.ash" -#include "arch/i386/nrv2d_d32_2.ash" -#include "arch/i386/nrv2e_d32_2.ash" -#define db .byte -#include "arch/i386/lzma_d_2.ash" +#include "arch/i386/nrv2b_d32.S" +#include "arch/i386/nrv2d_d32.S" +#include "arch/i386/nrv2e_d32.S" +#include "arch/i386/lzma_d.S" // ============= section PEMAIN10 @@ -249,6 +248,6 @@ section PEDOJUMP // ============= CUT HERE // ============= -#include "include/header2.ash" +#include "include/header.S" // vi:ts=8:et:nowrap diff --git a/src/stub/src/include/header2.ash b/src/stub/src/include/header.S similarity index 100% rename from src/stub/src/include/header2.ash rename to src/stub/src/include/header.S diff --git a/src/stub/src/include/header.ash b/src/stub/src/include/header.ash deleted file mode 100644 index a547421f..00000000 --- a/src/stub/src/include/header.ash +++ /dev/null @@ -1,66 +0,0 @@ -; header.ash -- -; -; This file is part of the UPX executable compressor. -; -; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2006 Laszlo Molnar -; All Rights Reserved. -; -; UPX and the UCL library are free software; you can redistribute them -; and/or modify them under the terms of the GNU General Public License as -; published by the Free Software Foundation; either version 2 of -; the License, or (at your option) any later version. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; see the file COPYING. -; If not, write to the Free Software Foundation, Inc., -; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -; -; Markus F.X.J. Oberhumer Laszlo Molnar -; -; - - -; ------------- HEADER ------------- ; __UPX1HEAD__ - - db 85,80,88,33 ; 0 UPX_MAGIC_LE32 - %if 0 - db 0 ; 4 version - db 0 ; 5 format - db 0 ; 6 compression method - db 0 ; 7 compression level - %else - ; another magic for PackHeader::putPackHeader - db 161,216,208,213 ; UPX_MAGIC2_LE32 - %endif - dd 0 ; 8 uncompressed adler32 - dd 0 ; 12 compressed adler32 - - %ifdef COM - dw 0 ; 16 uncompressed len - dw 0 ; 18 compressed len - db 0 ; 20 filter - db 45 ; 21 header checksum - %elifdef EXE - db 0,0,0 ; 16 uncompressed len - db 0,0,0 ; 19 compressed len - db 0,0,0 ; 22 original file size - db 0 ; 25 filter - db 45 ; 26 header checksum - %else - dd 0 ; 16 uncompressed len - dd 0 ; 20 compressed len - dd 0 ; 24 original file size - db 0 ; 28 filter id - db 0 ; 29 filter cto - db 0 ; unused - db 45 ; 31 header checksum - %endif - - -; vi:ts=8:et:nowrap diff --git a/src/stub/src/include/ident.ash b/src/stub/src/include/ident.ash deleted file mode 100644 index 60c27c19..00000000 --- a/src/stub/src/include/ident.ash +++ /dev/null @@ -1,37 +0,0 @@ -; ident.ash -- -; -; This file is part of the UPX executable compressor. -; -; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2006 Laszlo Molnar -; All Rights Reserved. -; -; UPX and the UCL library are free software; you can redistribute them -; and/or modify them under the terms of the GNU General Public License as -; published by the Free Software Foundation; either version 2 of -; the License, or (at your option) any later version. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; see the file COPYING. -; If not, write to the Free Software Foundation, Inc., -; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -; -; Markus F.X.J. Oberhumer Laszlo Molnar -; -; - - -; ------------- COPYRIGHT ------------- - -%ifdef __IDENTSMA__ -%include "ident_s.ash" -%else; __IDENTBIG__ -%include "ident_n.ash" -%endif; __IDENTEND__ - -; vi:ts=8:et:nowrap diff --git a/src/stub/src/include/ident_n.ash b/src/stub/src/include/ident_n.ash deleted file mode 100644 index ca512d4c..00000000 --- a/src/stub/src/include/ident_n.ash +++ /dev/null @@ -1,42 +0,0 @@ -; ident_n.ash -- -; -; This file is part of the UPX executable compressor. -; -; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2006 Laszlo Molnar -; All Rights Reserved. -; -; UPX and the UCL library are free software; you can redistribute them -; and/or modify them under the terms of the GNU General Public License as -; published by the Free Software Foundation; either version 2 of -; the License, or (at your option) any later version. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; see the file COPYING. -; If not, write to the Free Software Foundation, Inc., -; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -; -; Markus F.X.J. Oberhumer Laszlo Molnar -; -; - - -; ------------- COPYRIGHT ------------- - - db 10,0 - db '$Info: ' - db 'This file is packed with the UPX executable packer ' - db 'http://upx.sf.net $' - db 10,0 - db '$Id: UPX ' - db 'UPXV' - db ' Copyright (C) 1996-UPXY the UPX Team. All Rights Reserved. $' - db 10,0 - - -; vi:ts=8:et:nowrap diff --git a/src/stub/src/include/ident_s.ash b/src/stub/src/include/ident_s.ash deleted file mode 100644 index 2d070c98..00000000 --- a/src/stub/src/include/ident_s.ash +++ /dev/null @@ -1,37 +0,0 @@ -; ident_s.ash -- -; -; This file is part of the UPX executable compressor. -; -; Copyright (C) 1996-2006 Markus Franz Xaver Johannes Oberhumer -; Copyright (C) 1996-2006 Laszlo Molnar -; All Rights Reserved. -; -; UPX and the UCL library are free software; you can redistribute them -; and/or modify them under the terms of the GNU General Public License as -; published by the Free Software Foundation; either version 2 of -; the License, or (at your option) any later version. -; -; This program is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU General Public License for more details. -; -; You should have received a copy of the GNU General Public License -; along with this program; see the file COPYING. -; If not, write to the Free Software Foundation, Inc., -; 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -; -; Markus F.X.J. Oberhumer Laszlo Molnar -; -; - - -; ------------- COPYRIGHT ------------- - - db 10 - db '$Id: UPX (C) 1996-UPXY the UPX Team. ' - db 'All Rights Reserved. http://upx.sf.net $' - db 10,0 - - -; vi:ts=8:et:nowrap diff --git a/src/stub/src/m68k-atari.tos.S b/src/stub/src/m68k-atari.tos.S index 9b305793..01a221d2 100644 --- a/src/stub/src/m68k-atari.tos.S +++ b/src/stub/src/m68k-atari.tos.S @@ -457,15 +457,15 @@ clear_bss_end: #if 0 #if defined(SMALL) -# include "include/ident_s.ash" +//# include "include/ident_s.ash" #else -# include "include/ident_n.ash" +//# include "include/ident_n.ash" #endif #endif // align4 -#include "include/header2.ash" +#include "include/header.S" // end of text segment - size is a multiple of 4 diff --git a/src/stub/src/mipsel.r3000-ps1.S b/src/stub/src/mipsel.r3000-ps1.S index 9a097eac..3fb5fb88 100644 --- a/src/stub/src/mipsel.r3000-ps1.S +++ b/src/stub/src/mipsel.r3000-ps1.S @@ -284,7 +284,7 @@ decomp_done: #include "arch/mips/mipsel.r3000/lzma_d.S" -#include "include/header2.ash" +#include "include/header.S" // vi:ts=8:et:nowrap