fix NRV_HEAD and NRV_TAIL in stub for mipsel.r3000-linux

This commit is contained in:
John Reiser 2007-06-09 13:52:56 -07:00
parent ea0a361c35
commit 881c32a3df
5 changed files with 300 additions and 271 deletions

View File

@ -838,12 +838,12 @@ mipsel.r3000-linux.elf%.h : tc_bfdname = elf32-littlemips
mipsel.r3000-linux.elf-entry.h : $(srcdir)/src/$$T.S
ifeq (1,1)
# info: we really need as-2.17 here
$(call tc,pp-as) $< -o - | $(RTRIM) > tmp/$T.i
$(call tc,pp-as) -D_TARGET_LINUX_ $< -o - | $(RTRIM) > tmp/$T.i
$(call tc,as) tmp/$T.i -o tmp/$T.bin
$(call tc,gpp_mkdep) --mode=c --MMD=$@ $< --MF=tmp/$T.d
else
# info: as-2.16.1 as used by gcc-4.1.1 does _not_ work
$(call tc,gcc) -c -Wa,-O,-mno-pdr $< -o tmp/$T.bin
$(call tc,gcc) -c -D_TARGET_LINUX_ -Wa,-O,-mno-pdr $< -o tmp/$T.bin
endif
$(call tc,f-embed_objinfo,tmp/$T.bin)
$(call tc,bin2h-c) tmp/$T.bin $@
@ -855,7 +855,7 @@ mipsel.r3000-linux.elf-fold.h : tmp/$$T.o tmp/mipsel.r3000-linux.elf-main.o $(sr
$(call tc,bin2h) tmp/$T.bin $@
tmp/mipsel.r3000-linux.elf-fold.o : $(srcdir)/src/$$T.S
$(call tc,gcc) -c $< -o $@
$(call tc,gcc) -c -D_TARGET_LINUX_ $< -o $@
$(call tc,f-objstrip,$@)
tmp/mipsel.r3000-linux.elf-main.o : $(srcdir)/src/$$T.c

View File

@ -1,5 +1,5 @@
/* mipsel.r3000-linux.elf-entry.h
created from mipsel.r3000-linux.elf-entry.bin, 10090 (0x276a) bytes
created from mipsel.r3000-linux.elf-entry.bin, 10193 (0x27d1) bytes
This file is part of the UPX executable compressor.
@ -28,108 +28,108 @@
*/
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_SIZE 10090
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_ADLER32 0x80d96628
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_CRC32 0x72c9316c
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_SIZE 10193
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_ADLER32 0xe6a17f81
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_CRC32 0x989673fc
unsigned char stub_mipsel_r3000_linux_elf_entry[10090] = {
unsigned char stub_mipsel_r3000_linux_elf_entry[10193] = {
127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */
1, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 10 */
244, 29, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, /* 0x 20 */
20, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 30 */
228, 29, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, /* 0x 20 */
21, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 30 */
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 0, 17, 4, /* 0x 40 */
0, 0,247, 39, 0,128, 13, 60, 33, 72,160, 1, 1, 0, 11, 36, /* 0x 50 */
194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, /* 0x 60 */
3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, /* 0x 70 */
1, 0, 41, 37, 1, 0, 15, 36, 5, 0,192, 17, 0, 0,174,144, /* 0x 80 */
1, 0,165, 36, 0, 0, 14,161,241,255, 0, 16, 1, 0, 8, 37, /* 0x 90 */
194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, /* 0x a0 */
3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, /* 0x b0 */
194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, /* 0x 60 */
3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, /* 0x 70 */
1, 0, 41, 37, 1, 0, 15, 36, 5, 0,192, 17, 0, 0,142,144, /* 0x 80 */
1, 0,132, 36, 0, 0,206,160,241,255, 0, 16, 1, 0,198, 36, /* 0x 90 */
194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, /* 0x a0 */
3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, /* 0x b0 */
1, 0, 41, 37, 64,120, 15, 0, 33,120,238, 1,194,119, 9, 0, /* 0x c0 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, /* 0x d0 */
4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x e0 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, /* 0x d0 */
4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x e0 */
13, 0,192, 21,254,255,238, 37, 33,120,238, 1,194,119, 9, 0, /* 0x f0 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, /* 0x 100 */
4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 110 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, /* 0x 100 */
4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 110 */
223,255, 0, 16, 33,120,238, 1, 13, 0,192, 21,253,255,239, 37, /* 0x 120 */
194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, /* 0x 130 */
3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, /* 0x 140 */
194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, /* 0x 130 */
3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, /* 0x 140 */
1, 0, 41, 37, 33,120, 96, 1, 11, 0, 0, 16, 1, 0,204, 49, /* 0x 150 */
0, 0,174,144, 0,122, 15, 0, 33,120,238, 1, 1, 0,238, 37, /* 0x 160 */
255,255,192, 17, 1, 0,165, 36, 66,120, 15, 0, 1, 0,239, 37, /* 0x 170 */
0, 0,142,144, 0,122, 15, 0, 33,120,238, 1, 1, 0,238, 37, /* 0x 160 */
255,255,192, 17, 1, 0,132, 36, 66,120, 15, 0, 1, 0,239, 37, /* 0x 170 */
33, 88,224, 1, 1, 0,204, 49,194,119, 9, 0, 7, 0,169, 21, /* 0x 180 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 190 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 190 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, 35, 0,128, 21, /* 0x 1a0 */
254,255,204, 37, 12, 0,192, 17, 1, 0, 12, 36,194,119, 9, 0, /* 0x 1b0 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, /* 0x 1c0 */
4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 1d0 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, /* 0x 1c0 */
4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 1d0 */
22, 0, 0, 16, 33, 96,192, 1,194,119, 9, 0, 7, 0,169, 21, /* 0x 1e0 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 1f0 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 1f0 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, 64, 96, 12, 0, /* 0x 200 */
33, 96,142, 1,194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, /* 0x 210 */
0, 0,169,152, 3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, /* 0x 220 */
0, 0,137,152, 3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, /* 0x 220 */
64, 72, 9, 0, 1, 0, 41, 37,235,255,192, 17, 1, 5,238, 45, /* 0x 230 */
5, 0,140, 37, 35, 96,142, 1, 35,120, 15, 1, 0, 0,238,145, /* 0x 240 */
255,255,140, 37, 1, 0,239, 37, 1, 0, 8, 37,251,255,128, 21, /* 0x 250 */
255,255, 14,161,127,255, 0, 16,194,119, 9, 0, 0,128, 13, 60, /* 0x 260 */
5, 0,140, 37, 35, 96,142, 1, 35,120,207, 0, 0, 0,238,145, /* 0x 240 */
255,255,140, 37, 1, 0,239, 37, 1, 0,198, 36,251,255,128, 21, /* 0x 250 */
255,255,206,160,127,255, 0, 16,194,119, 9, 0, 0,128, 13, 60, /* 0x 260 */
33, 72,160, 1, 1, 0, 11, 36,194,119, 9, 0, 7, 0,169, 21, /* 0x 270 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 280 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 280 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, 1, 0, 15, 36, /* 0x 290 */
5, 0,192, 17, 0, 0,174,144, 1, 0,165, 36, 0, 0, 14,161, /* 0x 2a0 */
241,255, 0, 16, 1, 0, 8, 37,194,119, 9, 0, 7, 0,169, 21, /* 0x 2b0 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 2c0 */
5, 0,192, 17, 0, 0,142,144, 1, 0,132, 36, 0, 0,206,160, /* 0x 2a0 */
241,255, 0, 16, 1, 0,198, 36,194,119, 9, 0, 7, 0,169, 21, /* 0x 2b0 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 2c0 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, 64,120, 15, 0, /* 0x 2d0 */
33,120,238, 1,194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, /* 0x 2e0 */
0, 0,169,152, 3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, /* 0x 2f0 */
0, 0,137,152, 3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, /* 0x 2f0 */
64, 72, 9, 0, 1, 0, 41, 37, 13, 0,192, 21,254,255,238, 37, /* 0x 300 */
33,120,207, 1,194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, /* 0x 310 */
0, 0,169,152, 3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, /* 0x 320 */
0, 0,137,152, 3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, /* 0x 320 */
64, 72, 9, 0, 1, 0, 41, 37,223,255, 0, 16, 33,120,238, 1, /* 0x 330 */
13, 0,192, 21,253,255,239, 37,194,119, 9, 0, 7, 0,169, 21, /* 0x 340 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 350 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 350 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, 33,120, 96, 1, /* 0x 360 */
11, 0, 0, 16, 1, 0,204, 49, 0, 0,174,144, 0,122, 15, 0, /* 0x 370 */
33,120,238, 1, 1, 0,238, 37,255,255,192, 17, 1, 0,165, 36, /* 0x 380 */
11, 0, 0, 16, 1, 0,204, 49, 0, 0,142,144, 0,122, 15, 0, /* 0x 370 */
33,120,238, 1, 1, 0,238, 37,255,255,192, 17, 1, 0,132, 36, /* 0x 380 */
66,120, 15, 0, 1, 0,239, 37, 33, 88,224, 1, 1, 0,204, 49, /* 0x 390 */
194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, /* 0x 3a0 */
3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, /* 0x 3b0 */
194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, /* 0x 3a0 */
3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, /* 0x 3b0 */
1, 0, 41, 37, 64, 96, 12, 0, 33, 96,142, 1, 23, 0,128, 21, /* 0x 3c0 */
254,255,140, 37, 1, 0, 12, 36,194,119, 9, 0, 7, 0,169, 21, /* 0x 3d0 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 3e0 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 3e0 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, 64, 96, 12, 0, /* 0x 3f0 */
33, 96,142, 1,194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, /* 0x 400 */
0, 0,169,152, 3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, /* 0x 410 */
0, 0,137,152, 3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, /* 0x 410 */
64, 72, 9, 0, 1, 0, 41, 37,235,255,192, 17, 1, 5,238, 45, /* 0x 420 */
4, 0,140, 37, 35, 96,142, 1, 35,120, 15, 1, 0, 0,238,145, /* 0x 430 */
255,255,140, 37, 1, 0,239, 37, 1, 0, 8, 37,251,255,128, 21, /* 0x 440 */
255,255, 14,161,137,255, 0, 16,194,119, 9, 0, 0,128, 13, 60, /* 0x 450 */
4, 0,140, 37, 35, 96,142, 1, 35,120,207, 0, 0, 0,238,145, /* 0x 430 */
255,255,140, 37, 1, 0,239, 37, 1, 0,198, 36,251,255,128, 21, /* 0x 440 */
255,255,206,160,137,255, 0, 16,194,119, 9, 0, 0,128, 13, 60, /* 0x 450 */
33, 72,160, 1, 1, 0, 11, 36,194,119, 9, 0, 7, 0,169, 21, /* 0x 460 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 470 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 470 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, 1, 0, 15, 36, /* 0x 480 */
5, 0,192, 17, 0, 0,174,144, 1, 0,165, 36, 0, 0, 14,161, /* 0x 490 */
241,255, 0, 16, 1, 0, 8, 37,194,119, 9, 0, 7, 0,169, 21, /* 0x 4a0 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 4b0 */
5, 0,192, 17, 0, 0,142,144, 1, 0,132, 36, 0, 0,206,160, /* 0x 490 */
241,255, 0, 16, 1, 0,198, 36,194,119, 9, 0, 7, 0,169, 21, /* 0x 4a0 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 4b0 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, 64,120, 15, 0, /* 0x 4c0 */
33,120,238, 1,194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, /* 0x 4d0 */
0, 0,169,152, 3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, /* 0x 4e0 */
0, 0,137,152, 3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, /* 0x 4e0 */
64, 72, 9, 0, 1, 0, 41, 37,235,255,192, 17, 2, 0, 14, 36, /* 0x 4f0 */
3, 0,238, 21,253,255,239, 37, 8, 0, 0, 16, 33,120, 96, 1, /* 0x 500 */
0, 0,174,144, 0,122, 15, 0, 33,120,238, 1, 1, 0,239, 37, /* 0x 510 */
255,255,224, 17, 1, 0,165, 36, 33, 88,224, 1,194,119, 9, 0, /* 0x 520 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, /* 0x 530 */
4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 540 */
0, 0,142,144, 0,122, 15, 0, 33,120,238, 1, 1, 0,239, 37, /* 0x 510 */
255,255,224, 17, 1, 0,132, 36, 33, 88,224, 1,194,119, 9, 0, /* 0x 520 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, /* 0x 530 */
4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 540 */
33, 96,192, 1,194,119, 9, 0, 7, 0,169, 21, 64, 72, 9, 0, /* 0x 550 */
0, 0,169,152, 3, 0,169,136, 4, 0,165, 36,194,119, 9, 0, /* 0x 560 */
0, 0,137,152, 3, 0,137,136, 4, 0,132, 36,194,119, 9, 0, /* 0x 560 */
64, 72, 9, 0, 1, 0, 41, 37, 64, 96, 12, 0, 33, 96,142, 1, /* 0x 570 */
23, 0,128, 21,254,255,140, 37, 1, 0, 12, 36,194,119, 9, 0, /* 0x 580 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, /* 0x 590 */
4, 0,165, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 5a0 */
7, 0,169, 21, 64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, /* 0x 590 */
4, 0,132, 36,194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37, /* 0x 5a0 */
64, 96, 12, 0, 33, 96,142, 1,194,119, 9, 0, 7, 0,169, 21, /* 0x 5b0 */
64, 72, 9, 0, 0, 0,169,152, 3, 0,169,136, 4, 0,165, 36, /* 0x 5c0 */
64, 72, 9, 0, 0, 0,137,152, 3, 0,137,136, 4, 0,132, 36, /* 0x 5c0 */
194,119, 9, 0, 64, 72, 9, 0, 1, 0, 41, 37,235,255,192, 17, /* 0x 5d0 */
1, 13,238, 45, 4, 0,140, 37, 35, 96,142, 1, 35,120, 15, 1, /* 0x 5e0 */
0, 0,238,145,255,255,140, 37, 1, 0,239, 37, 1, 0, 8, 37, /* 0x 5f0 */
251,255,128, 21,255,255, 14,161,152,255, 0, 16,194,119, 9, 0, /* 0x 600 */
1, 13,238, 45, 4, 0,140, 37, 35, 96,142, 1, 35,120,207, 0, /* 0x 5e0 */
0, 0,238,145,255,255,140, 37, 1, 0,239, 37, 1, 0,198, 36, /* 0x 5f0 */
251,255,128, 21,255,255,206,160,152,255, 0, 16,194,119, 9, 0, /* 0x 600 */
0, 0,153,144, 0,250, 1, 36, 1, 0,152,144, 7, 0, 34, 51, /* 0x 610 */
194,200, 25, 0, 4, 8, 33, 3, 96,241, 33, 36, 33,232,161, 3, /* 0x 620 */
40, 0,161,175, 32, 0,170, 39, 44, 0,191,175, 0, 0,233,140, /* 0x 630 */
@ -486,182 +486,189 @@ unsigned char stub_mipsel_r3000_linux_elf_entry[10090] = {
1, 0, 2, 36, 52, 0,183,143, 48, 0,182,143, 44, 0,181,143, /* 0x1c20 */
40, 0,180,143, 36, 0,179,143, 32, 0,178,143, 28, 0,177,143, /* 0x1c30 */
24, 0,176,143, 8, 0,224, 3, 56, 0,189, 39, 13, 0, 0, 0, /* 0x1c40 */
0, 0,168,143, 4, 0,189, 39, 34, 16, 72, 0, 0, 0,168,143, /* 0x1c50 */
4, 0,189, 39, 34,128, 8, 2, 0, 0,168,143, 4, 0,189, 39, /* 0x1c60 */
0, 0, 16,173, 0, 0,168,143, 4, 0,189, 39, 8, 0, 0, 1, /* 0x1c70 */
0, 0, 0, 0, 30, 0, 6, 36,255,255, 17, 4, 33, 40,224, 3, /* 0x1c80 */
80, 82, 79, 84, 95, 69, 88, 69, 67,124, 80, 82, 79, 84, 95, 87, /* 0x1c90 */
82, 73, 84, 69, 32,102, 97,105,108,101,100, 46, 10, 0, 2, 0, /* 0x1ca0 */
4, 36,164, 15, 2, 36, 12, 0, 0, 0,127, 0, 4, 36,161, 15, /* 0x1cb0 */
2, 36, 12, 0, 0, 0,224,255,189, 39,224,255,228,142, 7, 0, /* 0x1cc0 */
6, 36,228,255,229,142, 18, 8, 7, 36, 16, 0,160,175,250, 15, /* 0x1cd0 */
2, 36, 12, 0, 0, 0, 25, 0,224, 20, 33, 32, 64, 0,236,255, /* 0x1ce0 */
229,142,232,255,243,142,240,255,242,142,244,255,241,142, 11, 0, /* 0x1cf0 */
133, 16, 35, 64,133, 0, 33,184,232, 2, 33, 48,160, 2, 0, 0, /* 0x1d00 */
168,140, 8, 0,132, 36, 4, 0,169,140,248,255,198, 36,248,255, /* 0x1d10 */
136,172, 8, 0,165, 36,249,255,192, 28,252,255,137,172, 0, 0, /* 0x1d20 */
200,142, 33, 56,160, 3, 0, 0,168,175, 33, 48, 64, 0, 4, 0, /* 0x1d30 */
197,142, 12, 0,196, 38, 8, 0,224, 2, 33,248,192, 0,255,255, /* 0x1d40 */
0, 16, 0, 0, 0, 0,220,255,245,142,218,255, 17, 4, 33,176, /* 0x1d50 */
224, 3,116,109,112, 47,109,105,112,115,101,108, 46,114, 51, 48, /* 0x1d60 */
48, 48, 45,108,105,110,117,120, 46,101,108,102, 45,101,110,116, /* 0x1d70 */
114,121, 46, 98,105,110, 58, 32, 32, 32, 32, 32,102,105,108,101, /* 0x1d80 */
32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45,108,105, /* 0x1d90 */
116,116,108,101,109,105,112,115, 10, 10, 83,101, 99,116,105,111, /* 0x1da0 */
110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, /* 0x1db0 */
32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, /* 0x1dc0 */
86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, /* 0x1dd0 */
32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108, /* 0x1de0 */
103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, /* 0x1df0 */
70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x1e00 */
48, 48, 50, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1e10 */
48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x1e20 */
51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x1e30 */
84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, /* 0x1e40 */
78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 50, 69, 32, 32, 32, /* 0x1e50 */
32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 50, 49, 56, 32, 32, /* 0x1e60 */
48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x1e70 */
48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, 32, 50, 42, /* 0x1e80 */
42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x1e90 */
76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, /* 0x1ea0 */
50, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x1eb0 */
48, 48, 48, 48, 48, 49,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x1ec0 */
48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x1ed0 */
48, 48, 48, 50, 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x1ee0 */
78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, /* 0x1ef0 */
69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, /* 0x1f00 */
66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, /* 0x1f10 */
98, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x1f20 */
48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 53, 99, /* 0x1f30 */
32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, /* 0x1f40 */
44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x1f50 */
89, 10, 32, 32, 52, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, /* 0x1f60 */
32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 56, 99, 32, 32, 48, 48, /* 0x1f70 */
48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1f80 */
32, 32, 48, 48, 48, 48, 48, 54, 49, 48, 32, 32, 50, 42, 42, 48, /* 0x1f90 */
32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, /* 0x1fa0 */
79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 68, 69, /* 0x1fb0 */
67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97,100, 56, 32, /* 0x1fc0 */
32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x1fd0 */
48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, 57, 99, 32, 32, 50, /* 0x1fe0 */
42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, /* 0x1ff0 */
69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, /* 0x2000 */
95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97, /* 0x2010 */
100, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x2020 */
48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 55, 52, /* 0x2030 */
32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, /* 0x2040 */
44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, /* 0x2050 */
90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, /* 0x2060 */
48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2070 */
32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, /* 0x2080 */
99, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2090 */
78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, /* 0x20a0 */
56, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, /* 0x20b0 */
48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x20c0 */
48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x20d0 */
48, 48, 49, 99, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x20e0 */
78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x20f0 */
10, 32, 32, 57, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, /* 0x2100 */
32, 32, 32, 48, 48, 48, 48, 48, 48, 53,101, 32, 32, 48, 48, 48, /* 0x2110 */
48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2120 */
32, 48, 48, 48, 48, 49, 99, 53, 48, 32, 32, 50, 42, 42, 48, 32, /* 0x2130 */
32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, /* 0x2140 */
44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 69, /* 0x2150 */
76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x2160 */
48, 48, 48, 98, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2170 */
32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, /* 0x2180 */
99, 97,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x2190 */
78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, /* 0x21a0 */
77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, /* 0x21b0 */
48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, /* 0x21c0 */
77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, /* 0x21d0 */
76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x21e0 */
32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x21f0 */
90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, /* 0x2200 */
73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2210 */
32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, /* 0x2220 */
48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, /* 0x2230 */
48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x2240 */
32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2250 */
78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2260 */
32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, /* 0x2270 */
48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, /* 0x2280 */
48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, /* 0x2290 */
50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, /* 0x22a0 */
66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x22b0 */
100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, /* 0x22c0 */
48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, /* 0x22d0 */
48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x22e0 */
100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, /* 0x22f0 */
48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, /* 0x2300 */
48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x2310 */
100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, /* 0x2320 */
48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, /* 0x2330 */
48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x2340 */
100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, /* 0x2350 */
48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, /* 0x2360 */
48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x2370 */
100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, /* 0x2380 */
48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, /* 0x2390 */
48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, /* 0x23a0 */
85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, /* 0x23b0 */
82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, /* 0x23c0 */
32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, /* 0x23d0 */
48, 48, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x23e0 */
32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, /* 0x23f0 */
48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 85, 10, 48, 48, 48, /* 0x2400 */
48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, /* 0x2410 */
78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, /* 0x2420 */
67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, /* 0x2430 */
32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x2440 */
48, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2450 */
32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, /* 0x2460 */
48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 88, 10, 48, 48, 48, 48, /* 0x2470 */
48, 48, 49, 56, 32,103, 32, 32, 32, 32, 32, 79, 32, 69, 76, 70, /* 0x2480 */
77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95, /* 0x2490 */
115,116, 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, /* 0x24a0 */
78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, /* 0x24b0 */
76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, /* 0x24c0 */
32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x24d0 */
32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, /* 0x24e0 */
48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x24f0 */
32, 32, 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, /* 0x2500 */
48, 48, 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x2510 */
32, 32, 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, /* 0x2520 */
48, 48, 56, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x2530 */
32, 32, 32, 32, 32, 32, 65, 68, 82, 85, 10, 48, 48, 48, 48, 48, /* 0x2540 */
48, 48, 99, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x2550 */
32, 32, 32, 32, 32, 32, 65, 68, 82, 67, 10, 48, 48, 48, 48, 48, /* 0x2560 */
48, 49, 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x2570 */
32, 32, 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, /* 0x2580 */
48, 49, 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x2590 */
32, 32, 32, 32, 32, 32, 65, 68, 82, 88, 10, 48, 48, 48, 48, 48, /* 0x25a0 */
48, 49, 56, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, /* 0x25b0 */
32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, /* 0x25c0 */
82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, /* 0x25d0 */
68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, /* 0x25e0 */
79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, /* 0x25f0 */
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, /* 0x2600 */
10, 48, 48, 48, 48, 48, 49, 49, 99, 32, 82, 95, 77, 73, 80, 83, /* 0x2610 */
95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, /* 0x2620 */
65, 73, 78, 89, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, /* 0x2630 */
32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, /* 0x2640 */
86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, /* 0x2650 */
89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2660 */
32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, 99, 32, /* 0x2670 */
82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, /* 0x2680 */
32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 10, 82, 69, 76, 79, /* 0x2690 */
67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, /* 0x26a0 */
79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, /* 0x26b0 */
69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, /* 0x26c0 */
32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, /* 0x26d0 */
48, 48, 48, 99, 52, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, /* 0x26e0 */
54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, /* 0x26f0 */
10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, /* 0x2700 */
79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, /* 0x2710 */
78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, /* 0x2720 */
80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2730 */
86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 51, 56, 32, 82, /* 0x2740 */
95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, /* 0x2750 */
32, 69, 76, 70, 77, 65, 73, 78, 90, 10 /* 0x2760 */
32, 40,164, 0, 0, 0,230,172, 0, 0,227,140, 34, 16,133, 0, /* 0x1c50 */
34, 24,195, 0, 8, 0,224, 3, 0, 0,227,172, 30, 0, 6, 36, /* 0x1c60 */
255,255, 17, 4, 33, 40,224, 3, 80, 82, 79, 84, 95, 69, 88, 69, /* 0x1c70 */
67,124, 80, 82, 79, 84, 95, 87, 82, 73, 84, 69, 32,102, 97,105, /* 0x1c80 */
108,101,100, 46, 10, 0, 2, 0, 4, 36,164, 15, 2, 36, 12, 0, /* 0x1c90 */
0, 0,127, 0, 4, 36,161, 15, 2, 36, 12, 0, 0, 0,224,255, /* 0x1ca0 */
189, 39,224,255,228,142, 7, 0, 6, 36,228,255,229,142, 18, 8, /* 0x1cb0 */
7, 36, 16, 0,160,175,250, 15, 2, 36, 12, 0, 0, 0, 25, 0, /* 0x1cc0 */
224, 20, 33, 32, 64, 0,236,255,229,142,232,255,243,142,240,255, /* 0x1cd0 */
242,142,244,255,241,142, 11, 0,133, 16, 35, 64,133, 0, 33,184, /* 0x1ce0 */
232, 2, 33, 48,160, 2, 0, 0,168,140, 8, 0,132, 36, 4, 0, /* 0x1cf0 */
169,140,248,255,198, 36,248,255,136,172, 8, 0,165, 36,249,255, /* 0x1d00 */
192, 28,252,255,137,172, 0, 0,200,142, 33, 56,160, 3, 0, 0, /* 0x1d10 */
168,175, 33, 48, 64, 0, 4, 0,197,142, 12, 0,196, 38, 8, 0, /* 0x1d20 */
224, 2, 33,248,192, 0,255,255, 0, 16, 0, 0, 0, 0,220,255, /* 0x1d30 */
245,142,218,255, 17, 4, 33,176,224, 3,116,109,112, 47,109,105, /* 0x1d40 */
112,115,101,108, 46,114, 51, 48, 48, 48, 45,108,105,110,117,120, /* 0x1d50 */
46,101,108,102, 45,101,110,116,114,121, 46, 98,105,110, 58, 32, /* 0x1d60 */
32, 32, 32, 32,102,105,108,101, 32,102,111,114,109, 97,116, 32, /* 0x1d70 */
101,108,102, 51, 50, 45,108,105,116,116,108,101,109,105,112,115, /* 0x1d80 */
10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, /* 0x1d90 */
78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105, /* 0x1da0 */
122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, /* 0x1db0 */
32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, /* 0x1dc0 */
32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103, /* 0x1dd0 */
115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, /* 0x1de0 */
32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 48, 32, 32, 48, 48, /* 0x1df0 */
48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1e00 */
32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, /* 0x1e10 */
32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, /* 0x1e20 */
67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, /* 0x1e30 */
78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1e40 */
48, 48, 48, 50, 49, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1e50 */
32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1e60 */
48, 48, 53, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x1e70 */
69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x1e80 */
68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 68, 32, /* 0x1e90 */
32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49,102, 48, /* 0x1ea0 */
32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1eb0 */
48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 54, 99, 32, 32, /* 0x1ec0 */
50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1ed0 */
82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x1ee0 */
32, 32, 51, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, /* 0x1ef0 */
32, 32, 48, 48, 48, 48, 48, 49, 98, 52, 32, 32, 48, 48, 48, 48, /* 0x1f00 */
48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1f10 */
48, 48, 48, 48, 48, 52, 53, 99, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x1f20 */
67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, /* 0x1f30 */
32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 76, 90, /* 0x1f40 */
77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x1f50 */
48, 48, 56, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1f60 */
48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, /* 0x1f70 */
49, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x1f80 */
84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, /* 0x1f90 */
32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, /* 0x1fa0 */
48, 48, 48, 48, 97,100, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1fb0 */
48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1fc0 */
48, 48, 54, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x1fd0 */
84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x1fe0 */
32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, /* 0x1ff0 */
32, 32, 48, 48, 48, 48, 48, 97,100, 56, 32, 32, 48, 48, 48, 48, /* 0x2000 */
48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2010 */
48, 48, 48, 48, 49, 49, 55, 52, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x2020 */
67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x2030 */
76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, /* 0x2040 */
48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, /* 0x2050 */
48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x2060 */
48, 32, 32, 48, 48, 48, 48, 49, 99, 52, 99, 32, 32, 50, 42, 42, /* 0x2070 */
48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, /* 0x2080 */
68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 78, 82, 86, 95, 72, 69, /* 0x2090 */
65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, /* 0x20a0 */
32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x20b0 */
48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99, 53, 48, 32, 32, /* 0x20c0 */
50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x20d0 */
82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, /* 0x20e0 */
95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x20f0 */
48, 49, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x2100 */
48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99, 53, /* 0x2110 */
56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x2120 */
83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, /* 0x2130 */
69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x2140 */
48, 48, 48, 48, 50, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2150 */
32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x2160 */
49, 99, 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x2170 */
69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x2180 */
68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, /* 0x2190 */
78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 98, 52, /* 0x21a0 */
32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x21b0 */
48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99, 57, 54, 32, 32, /* 0x21c0 */
50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x21d0 */
82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, /* 0x21e0 */
84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x21f0 */
108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, /* 0x2200 */
9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, /* 0x2210 */
73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, /* 0x2220 */
32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, /* 0x2230 */
48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, /* 0x2240 */
48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, /* 0x2250 */
69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x2260 */
48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, /* 0x2270 */
48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, /* 0x2280 */
69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, /* 0x2290 */
10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, /* 0x22a0 */
32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x22b0 */
32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x22c0 */
108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, /* 0x22d0 */
48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, /* 0x22e0 */
48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, /* 0x22f0 */
77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x2300 */
48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, /* 0x2310 */
48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, /* 0x2320 */
77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x2330 */
48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, /* 0x2340 */
48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, /* 0x2350 */
77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x2360 */
48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, /* 0x2370 */
48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, /* 0x2380 */
77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x2390 */
48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, /* 0x23a0 */
48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, /* 0x23b0 */
86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x23c0 */
78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x23d0 */
48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, /* 0x23e0 */
78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, /* 0x23f0 */
65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x2400 */
32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, /* 0x2410 */
48, 48, 48, 48, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, /* 0x2420 */
48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, /* 0x2430 */
9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 77, 10, 48, /* 0x2440 */
48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2450 */
42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, /* 0x2460 */
68, 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, /* 0x2470 */
32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, /* 0x2480 */
48, 48, 48, 32, 65, 68, 82, 67, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2490 */
48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, /* 0x24a0 */
48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 85, 10, 48, 48, /* 0x24b0 */
48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, /* 0x24c0 */
85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, /* 0x24d0 */
82, 88, 10, 48, 48, 48, 48, 48, 48, 49, 56, 32,103, 32, 32, 32, /* 0x24e0 */
32, 32, 79, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, /* 0x24f0 */
48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 10, 82, 69, /* 0x2500 */
76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, /* 0x2510 */
32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, /* 0x2520 */
10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, /* 0x2530 */
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, /* 0x2540 */
69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 77, 73, 80, /* 0x2550 */
83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 68, 82, /* 0x2560 */
77, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 77, 73, 80, /* 0x2570 */
83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, /* 0x2580 */
77, 10, 48, 48, 48, 48, 48, 48, 48, 56, 32, 82, 95, 77, 73, 80, /* 0x2590 */
83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 68, 82, /* 0x25a0 */
85, 10, 48, 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 77, 73, 80, /* 0x25b0 */
83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 68, 82, /* 0x25c0 */
67, 10, 48, 48, 48, 48, 48, 48, 49, 48, 32, 82, 95, 77, 73, 80, /* 0x25d0 */
83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, /* 0x25e0 */
85, 10, 48, 48, 48, 48, 48, 48, 49, 52, 32, 82, 95, 77, 73, 80, /* 0x25f0 */
83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 65, 68, 82, /* 0x2600 */
88, 10, 48, 48, 48, 48, 48, 48, 49, 56, 32, 82, 95, 77, 73, 80, /* 0x2610 */
83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, /* 0x2620 */
77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, /* 0x2630 */
78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, /* 0x2640 */
82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, /* 0x2650 */
84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2660 */
32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, 99, /* 0x2670 */
32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, /* 0x2680 */
32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, /* 0x2690 */
79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, /* 0x26a0 */
70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, /* 0x26b0 */
83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, /* 0x26c0 */
32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, /* 0x26d0 */
48, 48, 48, 49, 49, 99, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, /* 0x26e0 */
49, 54, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, /* 0x26f0 */
76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, /* 0x2700 */
67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, /* 0x2710 */
93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, /* 0x2720 */
32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, /* 0x2730 */
76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 99, 52, 32, 82, 95, 77, /* 0x2740 */
73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 78, /* 0x2750 */
82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, /* 0x2760 */
73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, /* 0x2770 */
91, 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, /* 0x2780 */
69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, /* 0x2790 */
32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, /* 0x27a0 */
48, 48, 48, 48, 52, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, /* 0x27b0 */
54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, /* 0x27c0 */
10 /* 0x27d0 */
};

View File

@ -42,7 +42,7 @@
;// register defines
;//////////////////////////////////////
#if 1
#if defined(PS1) /*{*/
#define tmp at
#define dst t0
@ -62,8 +62,25 @@
#define m_off t7
#define m_pos t7
#else
#elif defined(_TARGET_LINUX_) /*}{*/
#define tmp at
/* decompress(src, src_len, dst, &dst_len, method); */
#define src a0
#define dst a2
#define src_ilen src
#define bb t1
#define ilen t2
#define last_m_off t3
#define m_len t4
#define bc t5
#define var t6
#define m_off t7
#define m_pos t7
#else /*}{*/
.print "\nwarning redefined src / dst\n"
#define tmp v1
@ -85,7 +102,7 @@
#define m_off t7
#define m_pos t7
#endif
#endif /*}*/
;//////////////////////////////////////

View File

@ -93,7 +93,16 @@ _start: .globl _start
0:
/* Returns 0 on success; non-zero on failure. */
decompressor: // (uchar const *src, size_t lsrc, uchar *dst, u32 &ldst, uint method)
decompressor: // (uchar const *lxsrc, size_t lxsrclen, uchar *lxdst, u32 &lxdstlen, uint method)
#define lxsrc a0
#define lxsrclen a1
#define lxdst a2
#define lxdstlen a3
#undef src /* bits.ash */
#define src lxsrc
#undef dst /* bits.ash */
#define dst lxdst
#include "arch/mips/mipsel.r3000/nrv2e_d.ash"
section NRV2E
@ -108,10 +117,6 @@ decompressor: // (uchar const *src, size_t lsrc, uchar *dst, u32 &ldst, uint me
nrv2b eof
section LZMA_ELF00 # (a0=lxsrc, a1=lxsrclen, a2=lxdst, a3= &lxdstlen)
#define lxsrc a0
#define lxsrclen a1
#define lxdst a2
#define lxdstlen a3
/* LzmaDecode(a0=CLzmaDecoderState *,
a1=src, a2=srclen, a3=*psrcdone,
@ -198,21 +203,19 @@ lzma_decode:
section LZMA_DEC30
break // FIXME
section NRV_TAIL
// empty
section NRV_HEAD
add lxsrclen,lxsrclen,lxsrc // src_EOF
sw lxdst,(lxdstlen) // original lxdst in &lxdstlen
.macro pop reg
lw \reg,0(sp)
addiu sp,sp,4
.endm
section NRV_TAIL
eof:
lw v1,(lxdstlen) // original lxdst
sub v0,lxsrc,lxsrclen // new_src - src_EOF; // return 0: good; else: bad
sub v1,lxdst,v1 // actual length generated
jr ra
sw v1,(lxdstlen)
section ELFMAINY
eof:
pop t0; sub v0,v0,t0 // src -= eof; // return 0: good; else: bad
pop t0; sub s0,s0,t0 // dst -= original_dst
pop t0; sw s0,(t0) // actual length used t0 dst
pop t0; jr t0; nop
msg_SELinux:
addiu a2,zero,L71 - L70 // length
bal L72

View File

@ -10,11 +10,12 @@ Idx Name Size VMA LMA File off Algn Flags
5 LZMA_DEC20 00000ad8 00000000 00000000 0000069c 2**0 CONTENTS, READONLY
6 LZMA_DEC10 00000ad8 00000000 00000000 00001174 2**0 CONTENTS, READONLY
7 LZMA_DEC30 00000004 00000000 00000000 00001c4c 2**0 CONTENTS, READONLY
8 NRV_TAIL 00000000 00000000 00000000 00001c50 2**0 CONTENTS, READONLY
9 ELFMAINY 0000005e 00000000 00000000 00001c50 2**0 CONTENTS, RELOC, READONLY
10 ELFMAINZ 000000b4 00000000 00000000 00001cae 2**0 CONTENTS, READONLY
8 NRV_HEAD 00000008 00000000 00000000 00001c50 2**0 CONTENTS, READONLY
9 NRV_TAIL 00000014 00000000 00000000 00001c58 2**0 CONTENTS, READONLY
10 ELFMAINY 0000002a 00000000 00000000 00001c6c 2**0 CONTENTS, RELOC, READONLY
11 ELFMAINZ 000000b4 00000000 00000000 00001c96 2**0 CONTENTS, READONLY
SYMBOL TABLE:
00000000 l d ELFMAINY 00000000 ELFMAINY
00000000 l d NRV_TAIL 00000000 NRV_TAIL
00000000 l d ELFMAINZ 00000000 ELFMAINZ
00000000 l d ELFMAINX 00000000 ELFMAINX
00000000 l d NRV2E 00000000 NRV2E
@ -24,7 +25,8 @@ SYMBOL TABLE:
00000000 l d LZMA_DEC20 00000000 LZMA_DEC20
00000000 l d LZMA_DEC10 00000000 LZMA_DEC10
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
00000000 l d NRV_TAIL 00000000 NRV_TAIL
00000000 l d NRV_HEAD 00000000 NRV_HEAD
00000000 l d ELFMAINY 00000000 ELFMAINY
00000000 *UND* 00000000 ADRM
00000000 *UND* 00000000 LENM
00000000 *UND* 00000000 ADRU
@ -45,16 +47,16 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
0000011c R_MIPS_PC16 ELFMAINY
0000011c R_MIPS_PC16 NRV_TAIL
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
0000011c R_MIPS_PC16 ELFMAINY
0000011c R_MIPS_PC16 NRV_TAIL
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
000000c4 R_MIPS_PC16 ELFMAINY
000000c4 R_MIPS_PC16 NRV_TAIL
RELOCATION RECORDS FOR [ELFMAINY]:
OFFSET TYPE VALUE
00000038 R_MIPS_PC16 ELFMAINZ
00000004 R_MIPS_PC16 ELFMAINZ