From e9e5507483f9af38b4023a0a271b690444687e45 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Wed, 14 Nov 2007 04:54:33 +0100 Subject: [PATCH] stub: rename "mipseb" to "mips". --- src/p_lx_elf.cpp | 10 +- src/p_lx_elf.h | 2 +- src/stub/Makefile | 26 +- ...f-entry.h => mips.r3000-linux.elf-entry.h} | 350 +++++++++--------- ...elf-fold.h => mips.r3000-linux.elf-fold.h} | 12 +- ...f-entry.S => mips.r3000-linux.elf-entry.S} | 0 ...elf-fold.S => mips.r3000-linux.elf-fold.S} | 0 ...fold.lds => mips.r3000-linux.elf-fold.lds} | 0 ...elf-main.c => mips.r3000-linux.elf-main.c} | 0 .../tmp/mips.r3000-linux.elf-entry.bin.dump | 62 ++++ 10 files changed, 262 insertions(+), 200 deletions(-) rename src/stub/{mipseb.r3000-linux.elf-entry.h => mips.r3000-linux.elf-entry.h} (79%) rename src/stub/{mipseb.r3000-linux.elf-fold.h => mips.r3000-linux.elf-fold.h} (97%) rename src/stub/src/{mipseb.r3000-linux.elf-entry.S => mips.r3000-linux.elf-entry.S} (100%) rename src/stub/src/{mipseb.r3000-linux.elf-fold.S => mips.r3000-linux.elf-fold.S} (100%) rename src/stub/src/{mipseb.r3000-linux.elf-fold.lds => mips.r3000-linux.elf-fold.lds} (100%) rename src/stub/src/{mipseb.r3000-linux.elf-main.c => mips.r3000-linux.elf-main.c} (100%) create mode 100644 src/stub/tmp/mips.r3000-linux.elf-entry.bin.dump diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp index 773b3b61..ca421836 100644 --- a/src/p_lx_elf.cpp +++ b/src/p_lx_elf.cpp @@ -760,16 +760,16 @@ PackLinuxElf32mipsel::buildLoader(Filter const *ft) } static const -#include "stub/mipseb.r3000-linux.elf-entry.h" +#include "stub/mips.r3000-linux.elf-entry.h" static const -#include "stub/mipseb.r3000-linux.elf-fold.h" +#include "stub/mips.r3000-linux.elf-fold.h" void PackLinuxElf32mipseb::buildLoader(Filter const *ft) { buildLinuxLoader( - stub_mipseb_r3000_linux_elf_entry, sizeof(stub_mipseb_r3000_linux_elf_entry), - stub_mipseb_r3000_linux_elf_fold, sizeof(stub_mipseb_r3000_linux_elf_fold), ft); + stub_mips_r3000_linux_elf_entry, sizeof(stub_mips_r3000_linux_elf_entry), + stub_mips_r3000_linux_elf_fold, sizeof(stub_mips_r3000_linux_elf_fold), ft); } static const @@ -1319,7 +1319,7 @@ void PackLinuxElf32mipseb::pack1(OutputFile *fo, Filter &ft) { super::pack1(fo, ft); cprElfHdr3 h3; - memcpy(&h3, stub_mipseb_r3000_linux_elf_fold, sizeof(Elf32_Ehdr) + 2*sizeof(Elf32_Phdr)); + memcpy(&h3, stub_mips_r3000_linux_elf_fold, sizeof(Elf32_Ehdr) + 2*sizeof(Elf32_Phdr)); generateElfHdr(fo, &h3, getbrk(phdri, get_native16(&ehdri.e_phnum)) ); } diff --git a/src/p_lx_elf.h b/src/p_lx_elf.h index e1b2d706..d59de458 100644 --- a/src/p_lx_elf.h +++ b/src/p_lx_elf.h @@ -473,7 +473,7 @@ public: virtual ~PackLinuxElf32mipseb(); virtual int getFormat() const { return UPX_F_LINUX_ELF32_MIPSEB; } virtual const char *getName() const { return "linux/mipseb"; } - virtual const char *getFullName(const options_t *) const { return "mipseb-linux.elf"; } + virtual const char *getFullName(const options_t *) const { return "mips-linux.elf"; } virtual const int *getFilters() const; protected: diff --git a/src/stub/Makefile b/src/stub/Makefile index c20e5940..a6595754 100644 --- a/src/stub/Makefile +++ b/src/stub/Makefile @@ -88,8 +88,8 @@ STUBS += i386-linux.kernel.vmlinux-head.h STUBS += i386-linux.kernel.vmlinuz.h STUBS += i386-win32.pe.h STUBS += m68k-atari.tos.h -STUBS += mipseb.r3000-linux.elf-entry.h -STUBS += mipseb.r3000-linux.elf-fold.h +STUBS += mips.r3000-linux.elf-entry.h +STUBS += mips.r3000-linux.elf-fold.h STUBS += mipsel.r3000-ps1.h STUBS += mipsel.r3000-linux.elf-entry.h STUBS += mipsel.r3000-linux.elf-fold.h @@ -809,18 +809,18 @@ m68k-atari.tos.h : $(srcdir)/src/$$T.S # /*********************************************************************** -# // mipseb.r3000-linux.elf +# // mips.r3000-linux.elf # ************************************************************************/ -mipseb.r3000-linux.elf%.h : tc_list = mipseb.r3000-linux.elf default -mipseb.r3000-linux.elf%.h : tc_bfdname = elf32-bigmips +mips.r3000-linux.elf%.h : tc_list = mips.r3000-linux.elf default +mips.r3000-linux.elf%.h : tc_bfdname = elf32-bigmips -tc.mipseb.r3000-linux.elf.as = mipsel-elf-as-20060406 -EB -O -mno-pdr -tc.mipseb.r3000-linux.elf.gcc = mipsel-linux-gcc-4.1.1 -meb -march=r3000 -mno-abicalls -mabi=eabi -G0 -nostdinc -MMD -MT $@ -tc.mipseb.r3000-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables -tc.mipseb.r3000-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror +tc.mips.r3000-linux.elf.as = mipsel-elf-as-20060406 -EB -O -mno-pdr +tc.mips.r3000-linux.elf.gcc = mipsel-linux-gcc-4.1.1 -meb -march=r3000 -mno-abicalls -mabi=eabi -G0 -nostdinc -MMD -MT $@ +tc.mips.r3000-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables +tc.mips.r3000-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wstrict-prototypes -Wwrite-strings -Werror -mipseb.r3000-linux.elf-entry.h : $(srcdir)/src/$$T.S +mips.r3000-linux.elf-entry.h : $(srcdir)/src/$$T.S ifeq (1,1) # info: we really need as-2.17 here $(call tc,pp-as) -D_TARGET_LINUX_ $< -o - | $(RTRIM) > tmp/$T.i @@ -833,17 +833,17 @@ endif $(call tc,f-embed_objinfo,tmp/$T.bin) $(call tc,bin2h-c) tmp/$T.bin $@ -mipseb.r3000-linux.elf-fold.h : tmp/$$T.o tmp/mipseb.r3000-linux.elf-main.o $(srcdir)/src/$$T.lds +mips.r3000-linux.elf-fold.h : tmp/$$T.o tmp/mips.r3000-linux.elf-main.o $(srcdir)/src/$$T.lds $(call tc,ld) --strip-all -T $(srcdir)/src/$T.lds -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin $(call tc,f-objstrip,tmp/$T.bin) $(call tc,sstrip) tmp/$T.bin $(call tc,bin2h) tmp/$T.bin $@ -tmp/mipseb.r3000-linux.elf-fold.o : $(srcdir)/src/$$T.S +tmp/mips.r3000-linux.elf-fold.o : $(srcdir)/src/$$T.S $(call tc,gcc) -c -D_TARGET_LINUX_ $< -o $@ $(call tc,f-objstrip,$@) -tmp/mipseb.r3000-linux.elf-main.o : $(srcdir)/src/$$T.c +tmp/mips.r3000-linux.elf-main.o : $(srcdir)/src/$$T.c $(call tc,gcc) -S -Os -MF tmp/$T.d $< -o - | $(RTRIM) > tmp/$T.i sed -e 's/ j[ ][ ]*$$L/ b $$L/' \ -e 's/ jal[ ][ ]*\([^\$$]\)/ bal \1/' < tmp/$T.i > tmp/$T.s diff --git a/src/stub/mipseb.r3000-linux.elf-entry.h b/src/stub/mips.r3000-linux.elf-entry.h similarity index 79% rename from src/stub/mipseb.r3000-linux.elf-entry.h rename to src/stub/mips.r3000-linux.elf-entry.h index ae4a0254..97e52d4f 100644 --- a/src/stub/mipseb.r3000-linux.elf-entry.h +++ b/src/stub/mips.r3000-linux.elf-entry.h @@ -1,5 +1,5 @@ -/* mipseb.r3000-linux.elf-entry.h - created from mipseb.r3000-linux.elf-entry.bin, 10218 (0x27ea) bytes +/* mips.r3000-linux.elf-entry.h + created from mips.r3000-linux.elf-entry.bin, 10216 (0x27e8) bytes This file is part of the UPX executable compressor. @@ -28,11 +28,11 @@ */ -#define STUB_MIPSEB_R3000_LINUX_ELF_ENTRY_SIZE 10218 -#define STUB_MIPSEB_R3000_LINUX_ELF_ENTRY_ADLER32 0x532081de -#define STUB_MIPSEB_R3000_LINUX_ELF_ENTRY_CRC32 0xf0aa70ce +#define STUB_MIPS_R3000_LINUX_ELF_ENTRY_SIZE 10216 +#define STUB_MIPS_R3000_LINUX_ELF_ENTRY_ADLER32 0xb4418117 +#define STUB_MIPS_R3000_LINUX_ELF_ENTRY_CRC32 0x48454055 -unsigned char stub_mipseb_r3000_linux_elf_entry[10218] = { +unsigned char stub_mips_r3000_linux_elf_entry[10216] = { 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */ 0, 1, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 10 */ 0, 0, 30, 0, 0, 0, 0, 1, 0, 52, 0, 0, 0, 0, 0, 40, /* 0x 20 */ @@ -503,173 +503,173 @@ unsigned char stub_mipseb_r3000_linux_elf_entry[10218] = { 16, 33,142,200, 0, 0, 3,160, 56, 33,175,168, 0, 0, 0, 64, /* 0x1d30 */ 48, 33,142,197, 0, 4, 38,196, 0, 12, 2,224, 0, 8, 0,192, /* 0x1d40 */ 248, 33, 16, 0,255,255, 0, 0, 0, 0,142,245,255,220, 4, 17, /* 0x1d50 */ -255,216, 3,224,176, 33,116,109,112, 47,109,105,112,115,101, 98, /* 0x1d60 */ - 46,114, 51, 48, 48, 48, 45,108,105,110,117,120, 46,101,108,102, /* 0x1d70 */ - 45,101,110,116,114,121, 46, 98,105,110, 58, 32, 32, 32, 32, 32, /* 0x1d80 */ -102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, /* 0x1d90 */ - 50, 45, 98,105,103,109,105,112,115, 10, 10, 83,101, 99,116,105, /* 0x1da0 */ -111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, /* 0x1db0 */ - 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, /* 0x1dc0 */ - 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, /* 0x1dd0 */ - 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65, /* 0x1de0 */ -108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, /* 0x1df0 */ - 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, /* 0x1e00 */ - 48, 48, 48, 50, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1e10 */ - 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x1e20 */ - 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, /* 0x1e30 */ - 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, /* 0x1e40 */ - 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 50, 69, 32, 32, /* 0x1e50 */ - 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 50, 49, 56, 32, /* 0x1e60 */ - 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x1e70 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, 32, 50, /* 0x1e80 */ - 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, /* 0x1e90 */ - 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, /* 0x1ea0 */ - 32, 50, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x1eb0 */ - 32, 48, 48, 48, 48, 48, 49,102, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x1ec0 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1ed0 */ - 48, 48, 48, 48, 50, 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x1ee0 */ - 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, /* 0x1ef0 */ - 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, /* 0x1f00 */ - 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x1f10 */ - 49, 98, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1f20 */ - 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 53, /* 0x1f30 */ - 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x1f40 */ - 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x1f50 */ - 76, 89, 10, 32, 32, 52, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, /* 0x1f60 */ - 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 56, 99, 32, 32, 48, /* 0x1f70 */ - 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1f80 */ - 48, 32, 32, 48, 48, 48, 48, 48, 54, 49, 48, 32, 32, 50, 42, 42, /* 0x1f90 */ - 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, /* 0x1fa0 */ - 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 68, /* 0x1fb0 */ - 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97,100, 56, /* 0x1fc0 */ - 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1fd0 */ - 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, 57, 99, 32, 32, /* 0x1fe0 */ - 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1ff0 */ - 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, /* 0x2000 */ - 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x2010 */ - 97,100, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x2020 */ - 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 55, /* 0x2030 */ - 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x2040 */ - 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, /* 0x2050 */ - 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, /* 0x2060 */ - 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2070 */ - 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x2080 */ - 49, 99, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x2090 */ - 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, /* 0x20a0 */ - 32, 56, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, /* 0x20b0 */ - 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, /* 0x20c0 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x20d0 */ - 48, 48, 48, 49, 99, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x20e0 */ - 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x20f0 */ - 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, /* 0x2100 */ - 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 56, 32, 32, 48, 48, /* 0x2110 */ - 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2120 */ - 32, 32, 48, 48, 48, 48, 49, 99, 53, 56, 32, 32, 50, 42, 42, 48, /* 0x2130 */ - 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, /* 0x2140 */ - 79, 78, 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x2150 */ - 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 97, 32, /* 0x2160 */ - 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x2170 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99, 56, 48, 32, 32, 50, /* 0x2180 */ - 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, /* 0x2190 */ - 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, /* 0x21a0 */ - 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, /* 0x21b0 */ - 32, 48, 48, 48, 48, 48, 48, 98, 99, 32, 32, 48, 48, 48, 48, 48, /* 0x21c0 */ - 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x21d0 */ - 48, 48, 48, 49, 99, 97, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x21e0 */ - 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x21f0 */ - 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, /* 0x2200 */ - 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x2210 */ - 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, /* 0x2220 */ - 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, /* 0x2230 */ - 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, /* 0x2240 */ - 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, /* 0x2250 */ - 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2260 */ - 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x2270 */ - 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, /* 0x2280 */ - 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2290 */ - 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, /* 0x22a0 */ - 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, /* 0x22b0 */ - 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, /* 0x22c0 */ - 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, /* 0x22d0 */ - 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x22e0 */ - 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x22f0 */ - 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2300 */ - 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, /* 0x2310 */ - 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, /* 0x2320 */ - 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2330 */ - 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, /* 0x2340 */ - 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, /* 0x2350 */ - 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2360 */ - 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, /* 0x2370 */ - 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, /* 0x2380 */ - 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2390 */ - 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, /* 0x23a0 */ - 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, /* 0x23b0 */ - 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x23c0 */ - 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, /* 0x23d0 */ - 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, /* 0x23e0 */ - 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x23f0 */ -100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, /* 0x2400 */ - 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, /* 0x2410 */ - 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, /* 0x2420 */ - 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, /* 0x2430 */ - 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, /* 0x2440 */ - 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, /* 0x2450 */ - 48, 48, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2460 */ - 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, /* 0x2470 */ - 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 85, 10, 48, 48, 48, /* 0x2480 */ - 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, /* 0x2490 */ - 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, /* 0x24a0 */ - 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, /* 0x24b0 */ - 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x24c0 */ - 48, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x24d0 */ - 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, /* 0x24e0 */ - 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 88, 10, 48, 48, 48, 48, /* 0x24f0 */ - 48, 48, 49, 56, 32,103, 32, 32, 32, 32, 32, 79, 32, 69, 76, 70, /* 0x2500 */ - 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95, /* 0x2510 */ -115,116, 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, /* 0x2520 */ - 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, /* 0x2530 */ - 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, /* 0x2540 */ - 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2550 */ - 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, /* 0x2560 */ - 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x2570 */ - 32, 32, 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, /* 0x2580 */ - 48, 48, 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x2590 */ - 32, 32, 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, /* 0x25a0 */ - 48, 48, 56, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x25b0 */ - 32, 32, 32, 32, 32, 32, 65, 68, 82, 85, 10, 48, 48, 48, 48, 48, /* 0x25c0 */ - 48, 48, 99, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x25d0 */ - 32, 32, 32, 32, 32, 32, 65, 68, 82, 67, 10, 48, 48, 48, 48, 48, /* 0x25e0 */ - 48, 49, 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x25f0 */ - 32, 32, 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, /* 0x2600 */ - 48, 49, 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, /* 0x2610 */ - 32, 32, 32, 32, 32, 32, 65, 68, 82, 88, 10, 48, 48, 48, 48, 48, /* 0x2620 */ - 48, 49, 56, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, /* 0x2630 */ - 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, /* 0x2640 */ - 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, /* 0x2650 */ - 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, /* 0x2660 */ - 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, /* 0x2670 */ - 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, /* 0x2680 */ - 10, 48, 48, 48, 48, 48, 49, 49, 99, 32, 82, 95, 77, 73, 80, 83, /* 0x2690 */ - 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, /* 0x26a0 */ - 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, /* 0x26b0 */ - 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, /* 0x26c0 */ - 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, /* 0x26d0 */ - 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x26e0 */ - 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, 99, 32, /* 0x26f0 */ - 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, /* 0x2700 */ - 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, /* 0x2710 */ - 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, /* 0x2720 */ - 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, /* 0x2730 */ - 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, /* 0x2740 */ - 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, /* 0x2750 */ - 48, 48, 48, 99, 52, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, /* 0x2760 */ - 54, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, /* 0x2770 */ - 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, /* 0x2780 */ - 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, /* 0x2790 */ - 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, /* 0x27a0 */ - 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x27b0 */ - 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, /* 0x27c0 */ - 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, /* 0x27d0 */ - 32, 69, 76, 70, 77, 65, 73, 78, 90, 10 /* 0x27e0 */ +255,216, 3,224,176, 33,116,109,112, 47,109,105,112,115, 46,114, /* 0x1d60 */ + 51, 48, 48, 48, 45,108,105,110,117,120, 46,101,108,102, 45,101, /* 0x1d70 */ +110,116,114,121, 46, 98,105,110, 58, 32, 32, 32, 32, 32,102,105, /* 0x1d80 */ +108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45, /* 0x1d90 */ + 98,105,103,109,105,112,115, 10, 10, 83,101, 99,116,105,111,110, /* 0x1da0 */ +115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, /* 0x1db0 */ + 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, /* 0x1dc0 */ + 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, /* 0x1dd0 */ + 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103, /* 0x1de0 */ +110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, /* 0x1df0 */ + 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x1e00 */ + 48, 50, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1e10 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, /* 0x1e20 */ + 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x1e30 */ + 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x1e40 */ + 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, /* 0x1e50 */ + 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 50, 49, 56, 32, 32, 48, /* 0x1e60 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1e70 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 53, 52, 32, 32, 50, 42, 42, /* 0x1e80 */ + 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, /* 0x1e90 */ + 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, /* 0x1ea0 */ + 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, /* 0x1eb0 */ + 48, 48, 48, 48, 49,102, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1ec0 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1ed0 */ + 48, 48, 50, 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x1ee0 */ + 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, /* 0x1ef0 */ + 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 66, /* 0x1f00 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 98, /* 0x1f10 */ + 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1f20 */ + 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 53, 99, 32, /* 0x1f30 */ + 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x1f40 */ + 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x1f50 */ + 10, 32, 32, 52, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, /* 0x1f60 */ + 32, 32, 32, 48, 48, 48, 48, 48, 48, 56, 99, 32, 32, 48, 48, 48, /* 0x1f70 */ + 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1f80 */ + 32, 48, 48, 48, 48, 48, 54, 49, 48, 32, 32, 50, 42, 42, 48, 32, /* 0x1f90 */ + 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, /* 0x1fa0 */ + 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, 68, 69, 67, /* 0x1fb0 */ + 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97,100, 56, 32, 32, /* 0x1fc0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x1fd0 */ + 48, 48, 32, 32, 48, 48, 48, 48, 48, 54, 57, 99, 32, 32, 50, 42, /* 0x1fe0 */ + 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x1ff0 */ + 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, /* 0x2000 */ + 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 97,100, /* 0x2010 */ + 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x2020 */ + 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 49, 55, 52, 32, /* 0x2030 */ + 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x2040 */ + 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, /* 0x2050 */ + 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x2060 */ + 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2070 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99, /* 0x2080 */ + 52, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x2090 */ + 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, /* 0x20a0 */ + 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, /* 0x20b0 */ + 48, 48, 48, 48, 48, 48, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x20c0 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x20d0 */ + 48, 49, 99, 53, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x20e0 */ + 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x20f0 */ + 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, /* 0x2100 */ + 32, 32, 48, 48, 48, 48, 48, 48, 50, 56, 32, 32, 48, 48, 48, 48, /* 0x2110 */ + 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2120 */ + 48, 48, 48, 48, 49, 99, 53, 56, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x2130 */ + 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x2140 */ + 76, 89, 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, /* 0x2150 */ + 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 97, 32, 32, 48, /* 0x2160 */ + 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x2170 */ + 48, 32, 32, 48, 48, 48, 48, 49, 99, 56, 48, 32, 32, 50, 42, 42, /* 0x2180 */ + 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, /* 0x2190 */ + 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, /* 0x21a0 */ + 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, /* 0x21b0 */ + 48, 48, 48, 48, 48, 98, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x21c0 */ + 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x21d0 */ + 48, 49, 99, 97, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x21e0 */ + 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x21f0 */ + 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, /* 0x2200 */ + 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, /* 0x2210 */ + 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2220 */ + 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, /* 0x2230 */ + 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, /* 0x2240 */ + 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, /* 0x2250 */ + 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, /* 0x2260 */ + 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, /* 0x2270 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x2280 */ + 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x2290 */ +100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x22a0 */ + 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x22b0 */ + 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, /* 0x22c0 */ + 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, /* 0x22d0 */ + 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, /* 0x22e0 */ + 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, /* 0x22f0 */ + 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2300 */ + 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, /* 0x2310 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, /* 0x2320 */ + 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2330 */ + 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, /* 0x2340 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, /* 0x2350 */ + 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2360 */ + 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, /* 0x2370 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, /* 0x2380 */ + 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2390 */ + 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, /* 0x23a0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, /* 0x23b0 */ + 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x23c0 */ + 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, /* 0x23d0 */ + 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, /* 0x23e0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x23f0 */ + 32, 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, /* 0x2400 */ + 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, /* 0x2410 */ + 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, /* 0x2420 */ + 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 77, /* 0x2430 */ + 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, /* 0x2440 */ + 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2450 */ + 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x2460 */ + 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, /* 0x2470 */ + 48, 48, 48, 48, 48, 32, 65, 68, 82, 85, 10, 48, 48, 48, 48, 48, /* 0x2480 */ + 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, /* 0x2490 */ + 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 67, 10, /* 0x24a0 */ + 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x24b0 */ + 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x24c0 */ + 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x24d0 */ + 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, /* 0x24e0 */ + 48, 48, 48, 48, 32, 65, 68, 82, 88, 10, 48, 48, 48, 48, 48, 48, /* 0x24f0 */ + 49, 56, 32,103, 32, 32, 32, 32, 32, 79, 32, 69, 76, 70, 77, 65, /* 0x2500 */ + 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, /* 0x2510 */ + 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, /* 0x2520 */ + 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, /* 0x2530 */ + 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, /* 0x2540 */ + 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2550 */ + 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2560 */ + 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x2570 */ + 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2580 */ + 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x2590 */ + 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x25a0 */ + 56, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x25b0 */ + 32, 32, 32, 32, 65, 68, 82, 85, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x25c0 */ + 99, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x25d0 */ + 32, 32, 32, 32, 65, 68, 82, 67, 10, 48, 48, 48, 48, 48, 48, 49, /* 0x25e0 */ + 48, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x25f0 */ + 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, 49, /* 0x2600 */ + 52, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, /* 0x2610 */ + 32, 32, 32, 32, 65, 68, 82, 88, 10, 48, 48, 48, 48, 48, 48, 49, /* 0x2620 */ + 56, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, /* 0x2630 */ + 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, /* 0x2640 */ + 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, /* 0x2650 */ + 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, /* 0x2660 */ + 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, /* 0x2670 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, /* 0x2680 */ + 48, 48, 48, 48, 49, 49, 99, 32, 82, 95, 77, 73, 80, 83, 95, 80, /* 0x2690 */ + 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, /* 0x26a0 */ + 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, /* 0x26b0 */ + 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, /* 0x26c0 */ + 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, /* 0x26d0 */ + 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, /* 0x26e0 */ + 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 49, 49, 99, 32, 82, 95, /* 0x26f0 */ + 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, /* 0x2700 */ + 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, /* 0x2710 */ + 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, /* 0x2720 */ + 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, /* 0x2730 */ + 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2740 */ + 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, /* 0x2750 */ + 48, 99, 52, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, /* 0x2760 */ + 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, /* 0x2770 */ + 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, /* 0x2780 */ + 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 89, /* 0x2790 */ + 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, /* 0x27a0 */ + 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, /* 0x27b0 */ + 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 77, /* 0x27c0 */ + 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, /* 0x27d0 */ + 76, 70, 77, 65, 73, 78, 90, 10 /* 0x27e0 */ }; diff --git a/src/stub/mipseb.r3000-linux.elf-fold.h b/src/stub/mips.r3000-linux.elf-fold.h similarity index 97% rename from src/stub/mipseb.r3000-linux.elf-fold.h rename to src/stub/mips.r3000-linux.elf-fold.h index dcc0369a..4ca67cda 100644 --- a/src/stub/mipseb.r3000-linux.elf-fold.h +++ b/src/stub/mips.r3000-linux.elf-fold.h @@ -1,5 +1,5 @@ -/* mipseb.r3000-linux.elf-fold.h - created from mipseb.r3000-linux.elf-fold.bin, 2560 (0xa00) bytes +/* mips.r3000-linux.elf-fold.h + created from mips.r3000-linux.elf-fold.bin, 2560 (0xa00) bytes This file is part of the UPX executable compressor. @@ -28,11 +28,11 @@ */ -#define STUB_MIPSEB_R3000_LINUX_ELF_FOLD_SIZE 2560 -#define STUB_MIPSEB_R3000_LINUX_ELF_FOLD_ADLER32 0x046f2e6d -#define STUB_MIPSEB_R3000_LINUX_ELF_FOLD_CRC32 0xaafb790d +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_SIZE 2560 +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0x046f2e6d +#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0xaafb790d -unsigned char stub_mipseb_r3000_linux_elf_fold[2560] = { +unsigned char stub_mips_r3000_linux_elf_fold[2560] = { 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 0 */ 0, 2, 0, 8, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52, /* 0x 10 */ 0, 0, 0, 0, 0, 0, 48, 1, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x 20 */ diff --git a/src/stub/src/mipseb.r3000-linux.elf-entry.S b/src/stub/src/mips.r3000-linux.elf-entry.S similarity index 100% rename from src/stub/src/mipseb.r3000-linux.elf-entry.S rename to src/stub/src/mips.r3000-linux.elf-entry.S diff --git a/src/stub/src/mipseb.r3000-linux.elf-fold.S b/src/stub/src/mips.r3000-linux.elf-fold.S similarity index 100% rename from src/stub/src/mipseb.r3000-linux.elf-fold.S rename to src/stub/src/mips.r3000-linux.elf-fold.S diff --git a/src/stub/src/mipseb.r3000-linux.elf-fold.lds b/src/stub/src/mips.r3000-linux.elf-fold.lds similarity index 100% rename from src/stub/src/mipseb.r3000-linux.elf-fold.lds rename to src/stub/src/mips.r3000-linux.elf-fold.lds diff --git a/src/stub/src/mipseb.r3000-linux.elf-main.c b/src/stub/src/mips.r3000-linux.elf-main.c similarity index 100% rename from src/stub/src/mipseb.r3000-linux.elf-main.c rename to src/stub/src/mips.r3000-linux.elf-main.c diff --git a/src/stub/tmp/mips.r3000-linux.elf-entry.bin.dump b/src/stub/tmp/mips.r3000-linux.elf-entry.bin.dump new file mode 100644 index 00000000..71229c23 --- /dev/null +++ b/src/stub/tmp/mips.r3000-linux.elf-entry.bin.dump @@ -0,0 +1,62 @@ +tmp/mips.r3000-linux.elf-entry.bin: file format elf32-bigmips + +Sections: +Idx Name Size VMA LMA File off Algn Flags + 0 ELFMAINX 00000020 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY + 1 NRV2E 00000218 00000000 00000000 00000054 2**0 CONTENTS, RELOC, READONLY + 2 NRV2D 000001f0 00000000 00000000 0000026c 2**0 CONTENTS, RELOC, READONLY + 3 NRV2B 000001b4 00000000 00000000 0000045c 2**0 CONTENTS, RELOC, READONLY + 4 LZMA_ELF00 0000008c 00000000 00000000 00000610 2**0 CONTENTS, READONLY + 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_HEAD 00000008 00000000 00000000 00001c50 2**0 CONTENTS, READONLY + 9 NRV_TAIL 00000028 00000000 00000000 00001c58 2**0 CONTENTS, READONLY + 10 ELFMAINY 0000002a 00000000 00000000 00001c80 2**0 CONTENTS, RELOC, READONLY + 11 ELFMAINZ 000000bc 00000000 00000000 00001caa 2**0 CONTENTS, READONLY +SYMBOL TABLE: +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 +00000000 l d NRV2D 00000000 NRV2D +00000000 l d NRV2B 00000000 NRV2B +00000000 l d LZMA_ELF00 00000000 LZMA_ELF00 +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_HEAD 00000000 NRV_HEAD +00000000 l d ELFMAINY 00000000 ELFMAINY +00000000 *UND* 00000000 ADRM +00000000 *UND* 00000000 LENM +00000000 *UND* 00000000 ADRU +00000000 *UND* 00000000 ADRC +00000000 *UND* 00000000 LENU +00000000 *UND* 00000000 ADRX +00000018 g O ELFMAINX 00000000 _start + +RELOCATION RECORDS FOR [ELFMAINX]: +OFFSET TYPE VALUE +00000000 R_MIPS_32 ADRM +00000004 R_MIPS_32 LENM +00000008 R_MIPS_32 ADRU +0000000c R_MIPS_32 ADRC +00000010 R_MIPS_32 LENU +00000014 R_MIPS_32 ADRX +00000018 R_MIPS_PC16 ELFMAINZ + +RELOCATION RECORDS FOR [NRV2E]: +OFFSET TYPE VALUE +0000011c R_MIPS_PC16 NRV_TAIL + +RELOCATION RECORDS FOR [NRV2D]: +OFFSET TYPE VALUE +0000011c R_MIPS_PC16 NRV_TAIL + +RELOCATION RECORDS FOR [NRV2B]: +OFFSET TYPE VALUE +000000c4 R_MIPS_PC16 NRV_TAIL + +RELOCATION RECORDS FOR [ELFMAINY]: +OFFSET TYPE VALUE +00000004 R_MIPS_PC16 ELFMAINZ