More cleanup of stubs for powerpc64le-darwin* which does not exist.
Only powerpc64-darwin (BigEndian, no suffix) exists. https://github.com/upx/upx/issues/596
This commit is contained in:
committed by
Markus F.X.J. Oberhumer
parent
38a1d3179b
commit
d0a52bd483
+9
-9
@@ -82,11 +82,11 @@ static const
|
||||
#include "stub/powerpc-darwin.dylib-entry.h"
|
||||
|
||||
static const
|
||||
#include "stub/powerpc64le-darwin.macho-entry.h"
|
||||
#include "stub/powerpc64-darwin.macho-entry.h"
|
||||
static const
|
||||
#include "stub/powerpc64le-darwin.macho-fold.h"
|
||||
#include "stub/powerpc64-darwin.macho-fold.h"
|
||||
static const
|
||||
#include "stub/powerpc64le-darwin.dylib-entry.h"
|
||||
#include "stub/powerpc64-darwin.dylib-entry.h"
|
||||
|
||||
// Packing a Darwin (Mach-o) Mac OS X dylib (dynamic shared library)
|
||||
// is restricted. UPX gets control as the -init function, at the very
|
||||
@@ -2111,16 +2111,16 @@ bool PackMachBase<T>::canPack()
|
||||
stub_powerpc_darwin_dylib_entry, nullptr, nullptr
|
||||
},
|
||||
{CPU_TYPE_POWERPC64, MH_EXECUTE,
|
||||
sizeof(stub_powerpc64le_darwin_macho_entry),
|
||||
sizeof(stub_powerpc64le_darwin_macho_fold),
|
||||
sizeof(stub_powerpc64_darwin_macho_entry),
|
||||
sizeof(stub_powerpc64_darwin_macho_fold),
|
||||
0,
|
||||
stub_powerpc64le_darwin_macho_entry,
|
||||
stub_powerpc64le_darwin_macho_fold,
|
||||
stub_powerpc64_darwin_macho_entry,
|
||||
stub_powerpc64_darwin_macho_fold,
|
||||
nullptr
|
||||
},
|
||||
{CPU_TYPE_POWERPC64, MH_DYLIB,
|
||||
sizeof(stub_powerpc64le_darwin_dylib_entry), 0, 0,
|
||||
stub_powerpc64le_darwin_dylib_entry, nullptr, nullptr
|
||||
sizeof(stub_powerpc64_darwin_dylib_entry), 0, 0,
|
||||
stub_powerpc64_darwin_dylib_entry, nullptr, nullptr
|
||||
},
|
||||
{0,0, 0,0,0, nullptr,nullptr,nullptr}
|
||||
};
|
||||
|
||||
+6
-42
@@ -130,16 +130,13 @@ STUBS += powerpc-linux.elf-entry.h
|
||||
STUBS += powerpc-linux.elf-fold.h
|
||||
STUBS += powerpc-linux.kernel.vmlinux-head.h
|
||||
STUBS += powerpc-linux.kernel.vmlinux.h
|
||||
STUBS += powerpc64le-darwin.dylib-entry.h
|
||||
STUBS += powerpc64le-darwin.macho-entry.h
|
||||
STUBS += powerpc64le-darwin.macho-fold.h
|
||||
STUBS += powerpc64le-linux.elf-entry.h
|
||||
STUBS += powerpc64le-linux.elf-fold.h
|
||||
STUBS += powerpc64le-linux.kernel.vmlinux-head.h
|
||||
STUBS += powerpc64le-linux.kernel.vmlinux.h
|
||||
#STUBS += powerpc64-darwin.dylib-entry.h
|
||||
#STUBS += powerpc64-darwin.macho-entry.h
|
||||
#STUBS += powerpc64-darwin.macho-fold.h
|
||||
STUBS += powerpc64-darwin.dylib-entry.h
|
||||
STUBS += powerpc64-darwin.macho-entry.h
|
||||
STUBS += powerpc64-darwin.macho-fold.h
|
||||
STUBS += powerpc64-linux.elf-entry.h
|
||||
STUBS += powerpc64-linux.elf-fold.h
|
||||
#STUBS += powerpc64-linux.kernel.vmlinux-head.h
|
||||
@@ -1404,19 +1401,10 @@ powerpc-linux.kernel.vmlinux-head.h : $(srcdir)/src/$$T.S
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // powerpc64le-darwin.dylib
|
||||
# // powerpc64-darwin.dylib
|
||||
# ************************************************************************/
|
||||
|
||||
# info: we use the tc settings from powerpc64le-linux.elf
|
||||
powerpc64le-darwin.dylib%.h : tc_list = powerpc64le-linux.elf default
|
||||
powerpc64le-darwin.dylib%.h : tc_bfdname = elf64-powerpcle
|
||||
|
||||
powerpc64le-darwin.dylib-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
|
||||
powerpc64-darwin.dylib%.h : tc_list = powerpc64-linux.elf default
|
||||
powerpc64-darwin.dylib%.h : tc_bfdname = elf64-powerpc
|
||||
|
||||
@@ -1427,40 +1415,16 @@ powerpc64-darwin.dylib-entry.h : $(srcdir)/src/$$T.S
|
||||
|
||||
|
||||
# /***********************************************************************
|
||||
# // powerpc64le-darwin.macho
|
||||
# // powerpc64-darwin.macho
|
||||
# ************************************************************************/
|
||||
|
||||
# info: we use the tc settings from powerpc64le-linux.elf
|
||||
powerpc64le-darwin.macho%.h : tc_list = powerpc64le-darwin.macho powerpc64le-linux.elf default
|
||||
powerpc64le-darwin.macho%.h : tc_bfdname = elf64-powerpcle
|
||||
|
||||
tc.powerpc64le-darwin.macho.ld = multiarch-ld-2.27 -b $(tc_bfdname)
|
||||
|
||||
powerpc64le-darwin.macho-entry.h : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o tmp/$T.bin
|
||||
$(call tc,f-embed_objinfo,tmp/$T.bin)
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
powerpc64le-darwin.macho-fold.h : tmp/$$T.o tmp/powerpc64le-darwin.macho-main.o
|
||||
$(call tc,ld) --no-warn-mismatch --strip-all --oformat binary -Map tmp/$T.map $(filter %.o,$^) -o tmp/$T.bin
|
||||
chmod a-x tmp/$T.bin
|
||||
$(call tc,bin2h) tmp/$T.bin $@
|
||||
|
||||
tmp/powerpc64le-darwin.macho-fold.o : $(srcdir)/src/$$T.S
|
||||
$(call tc,gcc) -c $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
# Omit -Os because it references _savegpr0_28 and _restgpr0_28 (and *_16 and *_27)
|
||||
# only 3 times, so sharing the code of those routines saves almost nothing
|
||||
# (and we would have to write them ourselves.)
|
||||
# Besides, PowerPC has 31.5 registers (r0 cannot index), which is plenty.
|
||||
tmp/powerpc64le-darwin.macho-main.o : $(srcdir)/src/$$T.c
|
||||
$(call tc,gcc) -c -O $< -o $@
|
||||
$(call tc,f-objstrip,$@)
|
||||
|
||||
|
||||
powerpc64-darwin.macho%.h : tc_list = powerpc64-darwin.macho powerpc64-linux.elf default
|
||||
powerpc64-darwin.macho%.h : tc_bfdname = elf64-powerpcbe
|
||||
powerpc64-darwin.macho%.h : tc_bfdname = elf64-powerpc
|
||||
|
||||
tc.powerpc64-darwin.macho.ld = multiarch-ld-2.27 -b $(tc_bfdname)
|
||||
|
||||
|
||||
+315
-315
@@ -1,5 +1,5 @@
|
||||
/* powerpc64le-darwin.dylib-entry.h
|
||||
created from powerpc64le-darwin.dylib-entry.bin, 11099 (0x2b5b) bytes
|
||||
/* powerpc64-darwin.dylib-entry.h
|
||||
created from powerpc64-darwin.dylib-entry.bin, 11097 (0x2b59) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -31,85 +31,85 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_SIZE 11099
|
||||
#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_ADLER32 0xb665b4bf
|
||||
#define STUB_POWERPC64LE_DARWIN_DYLIB_ENTRY_CRC32 0x9c7d235f
|
||||
#define STUB_POWERPC64_DARWIN_DYLIB_ENTRY_SIZE 11097
|
||||
#define STUB_POWERPC64_DARWIN_DYLIB_ENTRY_ADLER32 0xca3cb3ef
|
||||
#define STUB_POWERPC64_DARWIN_DYLIB_ENTRY_CRC32 0x79beb103
|
||||
|
||||
unsigned char stub_powerpc64le_darwin_dylib_entry[11099] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 1, 0, 21, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,120, 34, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 166, 2, 72,124, 1, 0, 0, 72,236, 41, 0,124,166, 2,168,125,
|
||||
/* 0x0050 */ 8, 0, 7, 40, 72, 1,130, 64, 0, 0,166,248, 20, 26,132,124,
|
||||
/* 0x0060 */ 0,128, 0, 60,198, 7, 0,120,120, 3, 9,124,255,255, 99, 56,
|
||||
/* 0x0070 */ 255,255,165, 56,255,255, 64, 57, 20, 1, 0, 72, 1, 0, 32, 57,
|
||||
/* 0x0080 */ 44, 28, 41,125, 4, 0, 99, 56, 20, 73, 41,125, 36,248, 41,121,
|
||||
/* 0x0090 */ 64, 0, 41,124, 20, 72, 41,125, 32, 0,128, 78, 1, 0, 3,141,
|
||||
/* 0x00a0 */ 1, 0, 5,157, 64, 0, 41,124, 20, 72, 41,125,209,255,194, 65,
|
||||
/* 0x00b0 */ 236,255,225, 65, 1, 0,224, 56, 20, 0, 0, 72,255,255,231, 56,
|
||||
/* 0x00c0 */ 21, 72, 41,125,185,255,194, 65, 20, 57,231,124, 21, 72, 41,125,
|
||||
/* 0x00d0 */ 173,255,194, 65, 20, 57,231,124, 64, 0, 41,124, 20, 72, 41,125,
|
||||
/* 0x00e0 */ 157,255,194, 65,216,255,192, 65,253,255,231, 52, 0, 0, 0, 57,
|
||||
/* 0x00f0 */ 40, 0,192, 65, 1, 0, 99,141,198, 69,231,120,118, 6,231,124,
|
||||
/* 0x0100 */ 249, 88,234,124,116, 14, 74,125, 0, 0,194, 65, 1, 0,107,113,
|
||||
/* 0x0110 */ 80, 0,226, 65, 20, 0, 0, 72, 64, 0, 41,124, 20, 72, 41,125,
|
||||
/* 0x0120 */ 93,255,194, 65, 60, 0,225, 65, 1, 0, 0, 57, 64, 0, 41,124,
|
||||
/* 0x0130 */ 20, 72, 41,125, 73,255,194, 65, 40, 0,225, 65, 21, 72, 41,125,
|
||||
/* 0x0140 */ 61,255,194, 65, 20, 65, 8,125, 64, 0, 41,124, 20, 72, 41,125,
|
||||
/* 0x0150 */ 45,255,194, 65,232,255,192, 65, 2, 0, 8, 57, 16, 0, 0, 72,
|
||||
/* 0x0160 */ 21, 72, 41,125, 25,255,194, 65, 20, 65, 8,125,255,250,106, 33,
|
||||
/* 0x0170 */ 2, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,166, 3, 9,125,
|
||||
/* 0x0180 */ 1, 0,103,141, 1, 0,101,157,248,255, 32, 67, 0, 1,224, 56,
|
||||
/* 0x0190 */ 236, 41, 7,124, 44, 26, 7,124, 12,255,255, 75,236, 41, 0,124,
|
||||
/* 0x01a0 */ 166, 2,168,125, 5, 0, 7, 40, 56, 1,130, 64, 0, 0,166,248,
|
||||
/* 0x01b0 */ 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120, 0,128, 32, 61,
|
||||
/* 0x01c0 */ 198, 7, 41,121,255,255, 99, 56,255,255,165, 56,255,255, 64, 57,
|
||||
/* 0x01d0 */ 0, 1, 0, 72, 1, 0, 32, 57, 44, 28, 41,125, 4, 0, 99, 56,
|
||||
/* 0x01e0 */ 198, 7, 41,121, 64, 0, 41,124, 20, 72, 41,125, 1, 0,128, 57,
|
||||
/* 0x01f0 */ 198, 7,140,121,120, 99, 41,125, 32, 0,128, 78, 1, 0, 3,141,
|
||||
/* 0x0200 */ 1, 0, 5,157, 64, 0, 41,124, 20, 74, 41,125,201,255,194, 65,
|
||||
/* 0x0210 */ 236,255,225, 65, 1, 0,224, 56, 20, 0, 0, 72,255,255,231, 56,
|
||||
/* 0x0220 */ 21, 72, 41,125,177,255,194, 65, 21, 57,231,124, 21, 72, 41,125,
|
||||
/* 0x0230 */ 165,255,194, 65, 21, 57,231,124, 64, 0, 41,124, 20, 74, 41,125,
|
||||
/* 0x0240 */ 149,255,194, 65,216,255,192, 65, 0, 0, 0, 57,253,255,231, 52,
|
||||
/* 0x0250 */ 46, 64,231, 84, 28, 0,192, 65, 1, 0, 3,140,249, 0,234,124,
|
||||
/* 0x0260 */ 112, 14, 74,125, 0, 0, 42, 44, 0, 0,194, 65, 12, 0, 0, 72,
|
||||
/* 0x0270 */ 21, 72, 41,125, 97,255,194, 65, 21, 65, 8,125, 21, 72, 41,125,
|
||||
/* 0x0280 */ 85,255,194, 65, 21, 65, 8,125, 40, 0,130, 64, 1, 0, 0, 57,
|
||||
/* 0x0290 */ 21, 72, 41,125, 65,255,194, 65, 21, 65, 8,125, 64, 0, 41,124,
|
||||
/* 0x02a0 */ 20, 74, 41,125, 49,255,194, 65,232,255,192, 65, 2, 0, 8, 57,
|
||||
/* 0x02b0 */ 255,250,234, 32, 1, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,
|
||||
/* 0x02c0 */ 166, 3, 9,125, 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67,
|
||||
/* 0x02d0 */ 0, 1,224, 56,236, 41, 7,124, 44, 26, 7,124, 40,255,255, 75,
|
||||
/* 0x02e0 */ 236, 41, 0,124,166, 2,168,125, 2, 0, 7, 40,236, 0,130, 64,
|
||||
/* 0x02f0 */ 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120,
|
||||
/* 0x0300 */ 120, 3, 9,124,255,255, 99, 56,255,255,165, 56,255,255, 64, 57,
|
||||
/* 0x0310 */ 184, 0, 0, 72, 20, 73, 41,125, 36,248, 41,121, 64, 0, 41,124,
|
||||
/* 0x0320 */ 20, 72, 41,125, 32, 0,226, 76, 1, 0, 32, 57, 44, 28, 41,125,
|
||||
/* 0x0330 */ 4, 0, 99, 56,224,255,255, 75, 1, 0, 3,141, 1, 0, 5,157,
|
||||
/* 0x0340 */ 221,255,255, 75,244,255,225, 65, 1, 0,224, 56,209,255,255, 75,
|
||||
/* 0x0350 */ 21, 57,231,124,201,255,255, 75,244,255,192, 65,253,255,231, 52,
|
||||
/* 0x0360 */ 0, 0, 0, 57, 24, 0,192, 65, 1, 0, 99,141, 46, 64,231, 84,
|
||||
/* 0x0370 */ 248, 88,234,124, 63, 0, 75, 85, 0, 0,194, 65,161,255,255, 75,
|
||||
/* 0x0380 */ 21, 65, 8,125,153,255,255, 75, 21, 65, 8,125, 1, 0,224, 56,
|
||||
/* 0x0390 */ 28, 0,194, 64, 3, 0,224, 56, 1, 0, 0, 57,129,255,255, 75,
|
||||
/* 0x03a0 */ 21, 65, 8,125,121,255,255, 75,244,255,192, 65,255,242,106, 33,
|
||||
/* 0x03b0 */ 20, 57, 8,125, 20, 42,234,124,166, 3, 9,125, 1, 0, 7,141,
|
||||
/* 0x03c0 */ 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,236, 41, 7,124,
|
||||
/* 0x03d0 */ 44, 26, 7,124,108,255,255, 75, 14, 0, 7, 40, 0, 0,130, 64,
|
||||
/* 0x03e0 */ 145,255, 33,248,166, 2, 8,124, 4, 0, 38, 57, 4, 0, 6,129,
|
||||
/* 0x03f0 */ 120, 43,167,124,254,255,164, 56, 2, 0,131, 56, 0, 0,131,137,
|
||||
/* 0x0400 */ 16, 0, 1,248,194,232,139,121, 96, 7,140,121, 0,250, 96, 56,
|
||||
/* 0x0410 */ 54, 88, 99,124,100,241, 99, 56,120, 11, 38,124, 20, 26, 33,124,
|
||||
/* 0x0420 */ 100, 6, 33,120, 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,
|
||||
/* 0x0430 */ 249,255, 3,248, 64, 24, 33,124,248,255,128, 65, 0, 0,193,248,
|
||||
/* 0x0440 */ 255,255, 4,136, 36, 0,193, 56, 40, 0, 97, 56, 2, 0,131,153,
|
||||
/* 0x0450 */ 16, 0,225,248, 24, 0, 33,249, 2,225, 11,120, 32, 7, 0,120,
|
||||
/* 0x0460 */ 1, 0, 99,153, 0, 0, 3,152,145,255, 33,248,112, 0, 33, 56,
|
||||
/* 0x0470 */ 24, 0,161,232, 16, 0,225,232, 0, 0,165,128, 0, 0, 33,232,
|
||||
/* 0x0480 */ 20, 58,165,124, 16, 0, 1,232,255,255,165, 56, 0, 0, 33,232,
|
||||
/* 0x0490 */ 166, 3, 8,124,166, 2, 8,124, 1, 0, 64, 57, 1, 0, 0, 72,
|
||||
unsigned char stub_powerpc64_darwin_dylib_entry[11097] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 0, 1, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34,120,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 124, 72, 2,166, 72, 0, 0, 1,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x0050 */ 40, 7, 0, 8, 64,130, 1, 72,248,166, 0, 0,124,132, 26, 20,
|
||||
/* 0x0060 */ 60, 0,128, 0,120, 0, 7,198,124, 9, 3,120, 56, 99,255,255,
|
||||
/* 0x0070 */ 56,165,255,255, 57, 64,255,255, 72, 0, 1, 20, 57, 32, 0, 1,
|
||||
/* 0x0080 */ 125, 41, 28, 44, 56, 99, 0, 4,125, 41, 73, 20,121, 41,248, 36,
|
||||
/* 0x0090 */ 124, 41, 0, 64,125, 41, 72, 20, 78,128, 0, 32,141, 3, 0, 1,
|
||||
/* 0x00a0 */ 157, 5, 0, 1,124, 41, 0, 64,125, 41, 72, 20, 65,194,255,209,
|
||||
/* 0x00b0 */ 65,225,255,236, 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,
|
||||
/* 0x00c0 */ 125, 41, 72, 21, 65,194,255,185,124,231, 57, 20,125, 41, 72, 21,
|
||||
/* 0x00d0 */ 65,194,255,173,124,231, 57, 20,124, 41, 0, 64,125, 41, 72, 20,
|
||||
/* 0x00e0 */ 65,194,255,157, 65,192,255,216, 52,231,255,253, 57, 0, 0, 0,
|
||||
/* 0x00f0 */ 65,192, 0, 40,141, 99, 0, 1,120,231, 69,198,124,231, 6,118,
|
||||
/* 0x0100 */ 124,234, 88,249,125, 74, 14,116, 65,194, 0, 0,113,107, 0, 1,
|
||||
/* 0x0110 */ 65,226, 0, 80, 72, 0, 0, 20,124, 41, 0, 64,125, 41, 72, 20,
|
||||
/* 0x0120 */ 65,194,255, 93, 65,225, 0, 60, 57, 0, 0, 1,124, 41, 0, 64,
|
||||
/* 0x0130 */ 125, 41, 72, 20, 65,194,255, 73, 65,225, 0, 40,125, 41, 72, 21,
|
||||
/* 0x0140 */ 65,194,255, 61,125, 8, 65, 20,124, 41, 0, 64,125, 41, 72, 20,
|
||||
/* 0x0150 */ 65,194,255, 45, 65,192,255,232, 57, 8, 0, 2, 72, 0, 0, 16,
|
||||
/* 0x0160 */ 125, 41, 72, 21, 65,194,255, 25,125, 8, 65, 20, 33,106,250,255,
|
||||
/* 0x0170 */ 57, 8, 0, 2,125, 8, 1,148,124,234, 42, 20,125, 9, 3,166,
|
||||
/* 0x0180 */ 141,103, 0, 1,157,101, 0, 1, 67, 32,255,248, 56,224, 1, 0,
|
||||
/* 0x0190 */ 124, 7, 41,236,124, 7, 26, 44, 75,255,255, 12,124, 0, 41,236,
|
||||
/* 0x01a0 */ 125,168, 2,166, 40, 7, 0, 5, 64,130, 1, 56,248,166, 0, 0,
|
||||
/* 0x01b0 */ 124,132, 26, 20, 60, 0,128, 0,120, 0, 7,198, 61, 32,128, 0,
|
||||
/* 0x01c0 */ 121, 41, 7,198, 56, 99,255,255, 56,165,255,255, 57, 64,255,255,
|
||||
/* 0x01d0 */ 72, 0, 1, 0, 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,
|
||||
/* 0x01e0 */ 121, 41, 7,198,124, 41, 0, 64,125, 41, 72, 20, 57,128, 0, 1,
|
||||
/* 0x01f0 */ 121,140, 7,198,125, 41, 99,120, 78,128, 0, 32,141, 3, 0, 1,
|
||||
/* 0x0200 */ 157, 5, 0, 1,124, 41, 0, 64,125, 41, 74, 20, 65,194,255,201,
|
||||
/* 0x0210 */ 65,225,255,236, 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,
|
||||
/* 0x0220 */ 125, 41, 72, 21, 65,194,255,177,124,231, 57, 21,125, 41, 72, 21,
|
||||
/* 0x0230 */ 65,194,255,165,124,231, 57, 21,124, 41, 0, 64,125, 41, 74, 20,
|
||||
/* 0x0240 */ 65,194,255,149, 65,192,255,216, 57, 0, 0, 0, 52,231,255,253,
|
||||
/* 0x0250 */ 84,231, 64, 46, 65,192, 0, 28,140, 3, 0, 1,124,234, 0,249,
|
||||
/* 0x0260 */ 125, 74, 14,112, 44, 42, 0, 0, 65,194, 0, 0, 72, 0, 0, 12,
|
||||
/* 0x0270 */ 125, 41, 72, 21, 65,194,255, 97,125, 8, 65, 21,125, 41, 72, 21,
|
||||
/* 0x0280 */ 65,194,255, 85,125, 8, 65, 21, 64,130, 0, 40, 57, 0, 0, 1,
|
||||
/* 0x0290 */ 125, 41, 72, 21, 65,194,255, 65,125, 8, 65, 21,124, 41, 0, 64,
|
||||
/* 0x02a0 */ 125, 41, 74, 20, 65,194,255, 49, 65,192,255,232, 57, 8, 0, 2,
|
||||
/* 0x02b0 */ 32,234,250,255, 57, 8, 0, 1,125, 8, 1,148,124,234, 42, 20,
|
||||
/* 0x02c0 */ 125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248,
|
||||
/* 0x02d0 */ 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44, 75,255,255, 40,
|
||||
/* 0x02e0 */ 124, 0, 41,236,125,168, 2,166, 40, 7, 0, 2, 64,130, 0,236,
|
||||
/* 0x02f0 */ 248,166, 0, 0,124,132, 26, 20, 60, 0,128, 0,120, 0, 7,198,
|
||||
/* 0x0300 */ 124, 9, 3,120, 56, 99,255,255, 56,165,255,255, 57, 64,255,255,
|
||||
/* 0x0310 */ 72, 0, 0,184,125, 41, 73, 20,121, 41,248, 36,124, 41, 0, 64,
|
||||
/* 0x0320 */ 125, 41, 72, 20, 76,226, 0, 32, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x0330 */ 56, 99, 0, 4, 75,255,255,224,141, 3, 0, 1,157, 5, 0, 1,
|
||||
/* 0x0340 */ 75,255,255,221, 65,225,255,244, 56,224, 0, 1, 75,255,255,209,
|
||||
/* 0x0350 */ 124,231, 57, 21, 75,255,255,201, 65,192,255,244, 52,231,255,253,
|
||||
/* 0x0360 */ 57, 0, 0, 0, 65,192, 0, 24,141, 99, 0, 1, 84,231, 64, 46,
|
||||
/* 0x0370 */ 124,234, 88,248, 85, 75, 0, 63, 65,194, 0, 0, 75,255,255,161,
|
||||
/* 0x0380 */ 125, 8, 65, 21, 75,255,255,153,125, 8, 65, 21, 56,224, 0, 1,
|
||||
/* 0x0390 */ 64,194, 0, 28, 56,224, 0, 3, 57, 0, 0, 1, 75,255,255,129,
|
||||
/* 0x03a0 */ 125, 8, 65, 21, 75,255,255,121, 65,192,255,244, 33,106,242,255,
|
||||
/* 0x03b0 */ 125, 8, 57, 20,124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,
|
||||
/* 0x03c0 */ 157, 5, 0, 1, 67, 32,255,248, 56,224, 1, 0,124, 7, 41,236,
|
||||
/* 0x03d0 */ 124, 7, 26, 44, 75,255,255,108, 40, 7, 0, 14, 64,130, 0, 0,
|
||||
/* 0x03e0 */ 248, 33,255,145,124, 8, 2,166, 57, 38, 0, 4,129, 6, 0, 4,
|
||||
/* 0x03f0 */ 124,167, 43,120, 56,164,255,254, 56,131, 0, 2,137,131, 0, 0,
|
||||
/* 0x0400 */ 248, 1, 0, 16,121,139,232,194,121,140, 7, 96, 56, 96,250, 0,
|
||||
/* 0x0410 */ 124, 99, 88, 54, 56, 99,241,100,124, 38, 11,120,124, 33, 26, 20,
|
||||
/* 0x0420 */ 120, 33, 6,100, 56, 0, 0, 0,124,195, 51,120,144, 9, 0, 0,
|
||||
/* 0x0430 */ 248, 3,255,249,124, 33, 24, 64, 65,128,255,248,248,193, 0, 0,
|
||||
/* 0x0440 */ 136, 4,255,255, 56,193, 0, 36, 56, 97, 0, 40,153,131, 0, 2,
|
||||
/* 0x0450 */ 248,225, 0, 16,249, 33, 0, 24,120, 11,225, 2,120, 0, 7, 32,
|
||||
/* 0x0460 */ 153, 99, 0, 1,152, 3, 0, 0,248, 33,255,145, 56, 33, 0,112,
|
||||
/* 0x0470 */ 232,161, 0, 24,232,225, 0, 16,128,165, 0, 0,232, 33, 0, 0,
|
||||
/* 0x0480 */ 124,165, 58, 20,232, 1, 0, 16, 56,165,255,255,232, 33, 0, 0,
|
||||
/* 0x0490 */ 124, 8, 3,166,166, 2, 8,124, 1, 0, 64, 57, 1, 0, 0, 72,
|
||||
/* 0x04a0 */ 4, 0, 99, 59, 2, 0,227, 59, 0, 4, 0, 56, 2, 0, 99,137,
|
||||
/* 0x04b0 */ 48, 88, 75,125,255,255,107, 57, 32, 0,107,121, 96,255, 97,249,
|
||||
/* 0x04c0 */ 1, 0, 99,137, 48, 88, 74,125, 0, 0, 96, 57,255,255, 74, 57,
|
||||
@@ -296,8 +296,8 @@ unsigned char stub_powerpc64le_darwin_dylib_entry[11099] = {
|
||||
/* 0x1010 */ 176,255,193,234,184,255,225,234,192,255, 1,235,200,255, 33,235,
|
||||
/* 0x1020 */ 208,255, 65,235,216,255, 97,235,224,255,129,235, 16, 0, 1,232,
|
||||
/* 0x1030 */ 232,255,161,235,166, 3, 8,124,240,255,193,235,248,255,225,235,
|
||||
/* 0x1040 */ 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 1, 9, 0, 0, 72,
|
||||
/* 0x1050 */ 112, 12, 0, 72,120,255,225,249,112,255,193,249, 0, 0, 0, 56,
|
||||
/* 0x1040 */ 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 1, 72, 0, 0, 9,
|
||||
/* 0x1050 */ 72, 0, 12,112,120,255,225,249,112,255,193,249, 0, 0, 0, 56,
|
||||
/* 0x1060 */ 1, 0, 96, 57,152,255, 97,250,144,255, 65,250, 4, 0, 99, 58,
|
||||
/* 0x1070 */ 248,255,225,251,240,255,193,251, 2, 0,227, 59,128,255, 1,250,
|
||||
/* 0x1080 */ 136,255, 33,250,160,255,129,250,168,255,161,250,176,255,193,250,
|
||||
@@ -496,238 +496,238 @@ unsigned char stub_powerpc64le_darwin_dylib_entry[11099] = {
|
||||
/* 0x1c90 */ 80,208,128,127,104,255, 1,250, 96,255, 1,234, 80, 80, 64,125,
|
||||
/* 0x1ca0 */ 46, 91,243,127, 32, 0,156,123, 32, 0, 74,121,152,254,255, 75,
|
||||
/* 0x1cb0 */ 0, 0,192, 58, 12,253,255, 75, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1cc0 */ 0, 0,230,232,166, 3,168,125, 80, 24,100,124, 80, 40,135,124,
|
||||
/* 0x1cd0 */ 1, 0, 99, 56, 1, 0,132, 56, 0, 0,134,248, 31, 0,231, 96,
|
||||
/* 0x1ce0 */ 108, 56, 0,124, 64, 40, 39,124,172, 63, 0,124, 32, 0,231, 56,
|
||||
/* 0x1cf0 */ 240,255,128, 65,172, 4, 0,124, 44, 1, 0, 76, 32, 0,128, 78,
|
||||
/* 0x1d00 */ 17,255, 65,248, 8, 0, 97,248, 16, 0,129,248, 24, 0,161,248,
|
||||
/* 0x1d10 */ 32, 0,193,248, 40, 0,225,248, 48, 0, 1,249, 56, 0, 33,249,
|
||||
/* 0x1d20 */ 64, 0, 65,249, 72, 0, 97,249, 80, 0,129,249, 88, 0,161,249,
|
||||
/* 0x1d30 */ 96, 0,193,249,104, 0,225,249,112, 0, 1,250,120, 0, 33,250,
|
||||
/* 0x1d40 */ 128, 0, 65,250,136, 0, 97,250,144, 0,129,250,152, 0,161,250,
|
||||
/* 0x1d50 */ 160, 0,193,250,168, 0,225,250,176, 0, 1,251,184, 0, 33,251,
|
||||
/* 0x1d60 */ 192, 0, 65,251,200, 0, 97,251,208, 0,129,251,216, 0,161,251,
|
||||
/* 0x1d70 */ 224, 0,193,251,232, 0,225,251,166, 2,232,127,252,255,191,130,
|
||||
/* 0x1d80 */ 244,255,191,131,186, 1,181, 86, 20,170,189,127,252,255,181, 58,
|
||||
/* 0x1d90 */ 0, 0, 96, 56,120,235,164,127, 3, 0,160, 56, 2, 16,192, 56,
|
||||
/* 0x1da0 */ 255,255,224, 56, 0, 0, 0, 57, 0, 0, 32, 57,197, 0, 0, 56,
|
||||
/* 0x1db0 */ 2, 0, 0, 68,255,255, 96, 56,120, 27,124,124,252, 1,160, 56,
|
||||
/* 0x1dc0 */ 166, 3,169,124, 20,234,131,124, 20,250,117,124,255,255, 3,140,
|
||||
/* 0x1dd0 */ 255,255, 4,156,248,255, 32, 67, 80,232,165,124,166, 3,136,124,
|
||||
/* 0x1de0 */ 166, 3,169,124, 32, 0,128, 78,255,255, 3,140,255,255, 4,156,
|
||||
/* 0x1df0 */ 248,255, 32, 67,232,255,223,131, 80,248,227,127, 20,250,228,127,
|
||||
/* 0x1e00 */ 20, 26,222,127,236,255,127,129, 20, 90, 68,127, 20, 90, 99,127,
|
||||
/* 0x1e10 */ 232,255,123, 59, 4, 0,122,129, 12, 0, 90, 59, 20, 90, 90,127,
|
||||
/* 0x1e20 */ 120,211, 88,127,120,219,121,127, 0, 0,122, 56, 49, 1, 0, 72,
|
||||
/* 0x1e30 */ 104, 0,130, 65, 20, 26,123,127,120, 27,119,124, 4, 0,122, 56,
|
||||
/* 0x1e40 */ 29, 1, 0, 72, 20, 26, 90,127,120, 27,118,124, 12, 0, 90, 59,
|
||||
/* 0x1e50 */ 249,255,225,250,166, 3,232,127, 12, 0,120, 56,120,179,196,126,
|
||||
/* 0x1e60 */ 120,203, 37,127,120, 11, 38,124, 8, 0,248,136,113,255, 33,248,
|
||||
/* 0x1e70 */ 33, 0,128, 78,152, 0, 33, 56, 9, 0,216,136, 0, 0, 6, 40,
|
||||
/* 0x1e80 */ 160,255,130, 65, 10, 0,184,136, 0, 0,152,232,120,203, 35,127,
|
||||
/* 0x1e90 */ 241, 0, 0, 72,140,255,255, 75,145, 0, 0, 72, 2, 0, 0, 68,
|
||||
/* 0x1ea0 */ 255,255, 96, 56, 0, 0, 65,232, 8, 0, 97,232, 16, 0,129,232,
|
||||
/* 0x1eb0 */ 24, 0,161,232, 32, 0,193,232, 40, 0,225,232, 48, 0, 1,233,
|
||||
/* 0x1ec0 */ 56, 0, 33,233, 64, 0, 65,233, 72, 0, 97,233, 80, 0,129,233,
|
||||
/* 0x1ed0 */ 88, 0,161,233, 96, 0,193,233,104, 0,225,233,112, 0, 1,234,
|
||||
/* 0x1ee0 */ 120, 0, 33,234,128, 0, 65,234,136, 0, 97,234,144, 0,129,234,
|
||||
/* 0x1ef0 */ 152, 0,161,234,160, 0,193,234,168, 0,225,234,176, 0, 1,235,
|
||||
/* 0x1f00 */ 184, 0, 33,235,192, 0, 65,235,200, 0, 97,235,208, 0,129,235,
|
||||
/* 0x1f10 */ 216, 0,161,235,224, 0,193,235,232, 0,225,235, 0, 1, 33, 56,
|
||||
/* 0x1f20 */ 166, 3, 8,124, 32, 4,128, 78, 35, 0, 0, 56,166, 2,104,124,
|
||||
/* 0x1f30 */ 140, 0, 99, 56,166, 3, 9,124,252,255, 3,132,252,255, 25,148,
|
||||
/* 0x1f40 */ 248,255, 32, 67,166, 3, 40,127,166, 3,201,127,120,227,131,127,
|
||||
/* 0x1f50 */ 120,235,164,127, 73, 0, 0, 56, 32, 0,128, 78, 3, 0, 99,137,
|
||||
/* 0x1f60 */ 2, 0,131,137, 46, 68,139, 81, 1, 0,131,137, 30,130,139, 81,
|
||||
/* 0x1f70 */ 0, 0,131,137, 14,192,139, 81,121, 91, 99,125, 32, 0,128, 78,
|
||||
/* 0x1f80 */ 208, 0, 6, 40, 32, 0,194, 76,191,240,132, 84, 32, 0,194, 77,
|
||||
/* 0x1f90 */ 16, 0, 0, 60, 64, 0, 4,124, 8, 0,128, 65,120, 3, 4,124,
|
||||
/* 0x1fa0 */ 32, 1,165, 56,120, 27,103,124,252,255, 99, 56,166, 3,137,124,
|
||||
/* 0x1fb0 */ 28, 0, 0, 72,186, 2, 11, 84, 80, 88, 99,125, 20, 58,107,125,
|
||||
/* 0x1fc0 */ 186, 1, 96, 81, 0, 0, 3,144, 32, 0, 64, 79, 4, 0, 3,132,
|
||||
/* 0x1fd0 */ 190, 85, 11, 84, 64, 40, 11,124,220,255,194, 65,240,255, 32, 67,
|
||||
/* 0x1fe0 */ 32, 0,128, 78, 28,253,255, 75,102,105,108,101, 32,102,111,114,
|
||||
/* 0x1cc0 */ 232,230, 0, 0,125,168, 3,166,124,100, 24, 80,124,135, 40, 80,
|
||||
/* 0x1cd0 */ 56, 99, 0, 1, 56,132, 0, 1,248,134, 0, 0, 96,231, 0, 31,
|
||||
/* 0x1ce0 */ 124, 0, 56,108,124, 39, 40, 64,124, 0, 63,172, 56,231, 0, 32,
|
||||
/* 0x1cf0 */ 65,128,255,240,124, 0, 4,172, 76, 0, 1, 44, 78,128, 0, 32,
|
||||
/* 0x1d00 */ 248, 65,255, 17,248, 97, 0, 8,248,129, 0, 16,248,161, 0, 24,
|
||||
/* 0x1d10 */ 248,193, 0, 32,248,225, 0, 40,249, 1, 0, 48,249, 33, 0, 56,
|
||||
/* 0x1d20 */ 249, 65, 0, 64,249, 97, 0, 72,249,129, 0, 80,249,161, 0, 88,
|
||||
/* 0x1d30 */ 249,193, 0, 96,249,225, 0,104,250, 1, 0,112,250, 33, 0,120,
|
||||
/* 0x1d40 */ 250, 65, 0,128,250, 97, 0,136,250,129, 0,144,250,161, 0,152,
|
||||
/* 0x1d50 */ 250,193, 0,160,250,225, 0,168,251, 1, 0,176,251, 33, 0,184,
|
||||
/* 0x1d60 */ 251, 65, 0,192,251, 97, 0,200,251,129, 0,208,251,161, 0,216,
|
||||
/* 0x1d70 */ 251,193, 0,224,251,225, 0,232,127,232, 2,166,130,191,255,252,
|
||||
/* 0x1d80 */ 131,191,255,244, 86,181, 1,186,127,189,170, 20, 58,181,255,252,
|
||||
/* 0x1d90 */ 56, 96, 0, 0,127,164,235,120, 56,160, 0, 3, 56,192, 16, 2,
|
||||
/* 0x1da0 */ 56,224,255,255, 57, 0, 0, 0, 57, 32, 0, 0, 56, 0, 0,197,
|
||||
/* 0x1db0 */ 68, 0, 0, 2, 56, 96,255,255,124,124, 27,120, 56,160, 1,252,
|
||||
/* 0x1dc0 */ 124,169, 3,166,124,131,234, 20,124,117,250, 20,140, 3,255,255,
|
||||
/* 0x1dd0 */ 156, 4,255,255, 67, 32,255,248,124,165,232, 80,124,136, 3,166,
|
||||
/* 0x1de0 */ 124,169, 3,166, 78,128, 0, 32,140, 3,255,255,156, 4,255,255,
|
||||
/* 0x1df0 */ 67, 32,255,248,131,223,255,232,127,227,248, 80,127,228,250, 20,
|
||||
/* 0x1e00 */ 127,222, 26, 20,129,127,255,236,127, 68, 90, 20,127, 99, 90, 20,
|
||||
/* 0x1e10 */ 59,123,255,232,129,122, 0, 4, 59, 90, 0, 12,127, 90, 90, 20,
|
||||
/* 0x1e20 */ 127, 88,211,120,127,121,219,120, 56,122, 0, 0, 72, 0, 1, 49,
|
||||
/* 0x1e30 */ 65,130, 0,104,127,123, 26, 20,124,119, 27,120, 56,122, 0, 4,
|
||||
/* 0x1e40 */ 72, 0, 1, 29,127, 90, 26, 20,124,118, 27,120, 59, 90, 0, 12,
|
||||
/* 0x1e50 */ 250,225,255,249,127,232, 3,166, 56,120, 0, 12,126,196,179,120,
|
||||
/* 0x1e60 */ 127, 37,203,120,124, 38, 11,120,136,248, 0, 8,248, 33,255,113,
|
||||
/* 0x1e70 */ 78,128, 0, 33, 56, 33, 0,152,136,216, 0, 9, 40, 6, 0, 0,
|
||||
/* 0x1e80 */ 65,130,255,160,136,184, 0, 10,232,152, 0, 0,127, 35,203,120,
|
||||
/* 0x1e90 */ 72, 0, 0,241, 75,255,255,140, 72, 0, 0,145, 68, 0, 0, 2,
|
||||
/* 0x1ea0 */ 56, 96,255,255,232, 65, 0, 0,232, 97, 0, 8,232,129, 0, 16,
|
||||
/* 0x1eb0 */ 232,161, 0, 24,232,193, 0, 32,232,225, 0, 40,233, 1, 0, 48,
|
||||
/* 0x1ec0 */ 233, 33, 0, 56,233, 65, 0, 64,233, 97, 0, 72,233,129, 0, 80,
|
||||
/* 0x1ed0 */ 233,161, 0, 88,233,193, 0, 96,233,225, 0,104,234, 1, 0,112,
|
||||
/* 0x1ee0 */ 234, 33, 0,120,234, 65, 0,128,234, 97, 0,136,234,129, 0,144,
|
||||
/* 0x1ef0 */ 234,161, 0,152,234,193, 0,160,234,225, 0,168,235, 1, 0,176,
|
||||
/* 0x1f00 */ 235, 33, 0,184,235, 65, 0,192,235, 97, 0,200,235,129, 0,208,
|
||||
/* 0x1f10 */ 235,161, 0,216,235,193, 0,224,235,225, 0,232, 56, 33, 1, 0,
|
||||
/* 0x1f20 */ 124, 8, 3,166, 78,128, 4, 32, 56, 0, 0, 35,124,104, 2,166,
|
||||
/* 0x1f30 */ 56, 99, 0,140,124, 9, 3,166,132, 3,255,252,148, 25,255,252,
|
||||
/* 0x1f40 */ 67, 32,255,248,127, 40, 3,166,127,201, 3,166,127,131,227,120,
|
||||
/* 0x1f50 */ 127,164,235,120, 56, 0, 0, 73, 78,128, 0, 32,137, 99, 0, 3,
|
||||
/* 0x1f60 */ 137,131, 0, 2, 81,139, 68, 46,137,131, 0, 1, 81,139,130, 30,
|
||||
/* 0x1f70 */ 137,131, 0, 0, 81,139,192, 14,125, 99, 91,121, 78,128, 0, 32,
|
||||
/* 0x1f80 */ 40, 6, 0,208, 76,194, 0, 32, 84,132,240,191, 77,194, 0, 32,
|
||||
/* 0x1f90 */ 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,124, 4, 3,120,
|
||||
/* 0x1fa0 */ 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,124,137, 3,166,
|
||||
/* 0x1fb0 */ 72, 0, 0, 28, 84, 11, 2,186,125, 99, 88, 80,125,107, 58, 20,
|
||||
/* 0x1fc0 */ 81, 96, 1,186,144, 3, 0, 0, 79, 64, 0, 32,132, 3, 0, 4,
|
||||
/* 0x1fd0 */ 84, 11, 85,190,124, 11, 40, 64, 65,194,255,220, 67, 32,255,240,
|
||||
/* 0x1fe0 */ 78,128, 0, 32, 75,255,253, 28,102,105,108,101, 32,102,111,114,
|
||||
/* 0x1ff0 */ 109, 97,116, 32,101,108,102, 54, 52, 45,112,111,119,101,114,112,
|
||||
/* 0x2000 */ 99,108,101, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,
|
||||
/* 0x2010 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2020 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32,
|
||||
/* 0x2030 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65,
|
||||
/* 0x2040 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,
|
||||
/* 0x2050 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,
|
||||
/* 0x2060 */ 108, 97,103,115, 10, 32, 32, 48, 32, 77, 65, 67, 79, 83, 48, 48,
|
||||
/* 0x2070 */ 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, 32,
|
||||
/* 0x2080 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2090 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20a0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50,
|
||||
/* 0x20b0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82,
|
||||
/* 0x20c0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32,
|
||||
/* 0x20d0 */ 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32,
|
||||
/* 0x20e0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x2100 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x2110 */ 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67,
|
||||
/* 0x2120 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76,
|
||||
/* 0x2130 */ 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32,
|
||||
/* 0x2140 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 53, 52, 32, 32, 48, 48,
|
||||
/* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2170 */ 32, 32, 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48,
|
||||
/* 0x2180 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79,
|
||||
/* 0x2190 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32,
|
||||
/* 0x21a0 */ 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48,
|
||||
/* 0x21b0 */ 48, 48, 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x21e0 */ 48, 49, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
|
||||
/* 0x21f0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65,
|
||||
/* 0x2200 */ 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32,
|
||||
/* 0x2210 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 56,
|
||||
/* 0x2220 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2230 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2240 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, 48, 32, 32,
|
||||
/* 0x2250 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
|
||||
/* 0x2260 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x2270 */ 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32,
|
||||
/* 0x2280 */ 32, 32, 48, 48, 48, 48, 48, 48, 57, 52, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x2290 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x22b0 */ 48, 48, 48, 48, 48, 51,100, 56, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x22c0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44,
|
||||
/* 0x22d0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90,
|
||||
/* 0x22e0 */ 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x22f0 */ 48, 48, 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2300 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52,
|
||||
/* 0x2320 */ 54, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x2330 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55,
|
||||
/* 0x2340 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48,
|
||||
/* 0x2350 */ 48, 48, 48, 48, 98, 98, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x2380 */ 48, 48, 52, 57, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x2390 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x23a0 */ 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32,
|
||||
/* 0x23b0 */ 32, 32, 48, 48, 48, 48, 48, 99, 55, 52, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x23d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x23e0 */ 48, 48, 48, 48, 49, 48, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x23f0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78,
|
||||
/* 0x2400 */ 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32,
|
||||
/* 0x2410 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48,
|
||||
/* 0x2420 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2430 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2440 */ 48, 32, 32, 48, 48, 48, 48, 49, 99, 99, 48, 32, 32, 50, 42, 42,
|
||||
/* 0x2450 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65,
|
||||
/* 0x2460 */ 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72,
|
||||
/* 0x2470 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52,
|
||||
/* 0x2480 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2490 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24a0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,100, 99, 32, 32,
|
||||
/* 0x24b0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
|
||||
/* 0x24c0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70,
|
||||
/* 0x24d0 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x24e0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24f0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49,100, 48,
|
||||
/* 0x2510 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
|
||||
/* 0x2520 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32,
|
||||
/* 0x2530 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48,
|
||||
/* 0x2540 */ 48, 48, 48, 50,101, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2550 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2560 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x2570 */ 49,100, 48, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
|
||||
/* 0x2580 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83,
|
||||
/* 0x2590 */ 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48,
|
||||
/* 0x25a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x25b0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48,
|
||||
/* 0x25c0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x25d0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48,
|
||||
/* 0x25e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x25f0 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48,
|
||||
/* 0x2600 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2610 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2620 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2630 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2640 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77,
|
||||
/* 0x2650 */ 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2660 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65,
|
||||
/* 0x2670 */ 67, 79, 83, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2680 */ 48, 48, 48, 48, 48, 48, 48, 32, 77, 65, 67, 79, 83, 48, 48, 48,
|
||||
/* 0x2690 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x26a0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69,
|
||||
/* 0x26b0 */ 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x26c0 */ 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48,
|
||||
/* 0x26d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x26e0 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48,
|
||||
/* 0x26f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86,
|
||||
/* 0x2700 */ 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2710 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50,
|
||||
/* 0x2720 */ 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2730 */ 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2740 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2750 */ 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2760 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48,
|
||||
/* 0x2770 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2780 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70,
|
||||
/* 0x2790 */ 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x27a0 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48,
|
||||
/* 0x27b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x27c0 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67,
|
||||
/* 0x27d0 */ 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x27e0 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48,
|
||||
/* 0x27f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2800 */ 108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67,
|
||||
/* 0x2810 */ 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2820 */ 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48,
|
||||
/* 0x2830 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2840 */ 108, 32, 32, 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, 9, 48,
|
||||
/* 0x2850 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2860 */ 67, 70, 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2870 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2880 */ 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2890 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x28a0 */ 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x28b0 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 79,
|
||||
/* 0x28c0 */ 83, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x28d0 */ 48, 48, 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 10, 82, 69,
|
||||
/* 0x28e0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
|
||||
/* 0x28f0 */ 32, 70, 79, 82, 32, 91, 77, 65, 67, 79, 83, 48, 48, 48, 93, 58,
|
||||
/* 0x2900 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2910 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2920 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2930 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67,
|
||||
/* 0x2940 */ 54, 52, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 69, 76, 70,
|
||||
/* 0x2950 */ 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2960 */ 48, 48, 48, 48, 48, 50,101, 52, 10, 10, 82, 69, 76, 79, 67, 65,
|
||||
/* 0x2970 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82,
|
||||
/* 0x2980 */ 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84,
|
||||
/* 0x2990 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32,
|
||||
/* 0x29a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
|
||||
/* 0x29b0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x29c0 */ 48, 99, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49,
|
||||
/* 0x29d0 */ 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10,
|
||||
/* 0x29e0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82,
|
||||
/* 0x29f0 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10,
|
||||
/* 0x2a00 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2a10 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2a20 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2a30 */ 48, 48, 48, 48, 48, 48, 48, 99, 99, 32, 82, 95, 80, 80, 67, 54,
|
||||
/* 0x2a40 */ 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95,
|
||||
/* 0x2a50 */ 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
|
||||
/* 0x2a60 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82,
|
||||
/* 0x2a70 */ 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32,
|
||||
/* 0x2a80 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
|
||||
/* 0x2a90 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
|
||||
/* 0x2aa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 56, 32,
|
||||
/* 0x2ab0 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32,
|
||||
/* 0x2ac0 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79,
|
||||
/* 0x2ad0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
|
||||
/* 0x2ae0 */ 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58,
|
||||
/* 0x2af0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2b00 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2b10 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2b20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67,
|
||||
/* 0x2b30 */ 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 76, 90, 77,
|
||||
/* 0x2b40 */ 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2b50 */ 48, 48, 48, 48, 48, 48, 48, 48, 50, 56, 10
|
||||
/* 0x2000 */ 99, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120,
|
||||
/* 0x2010 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,
|
||||
/* 0x2020 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32,
|
||||
/* 0x2030 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32,
|
||||
/* 0x2040 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,
|
||||
/* 0x2050 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,
|
||||
/* 0x2060 */ 103,115, 10, 32, 32, 48, 32, 77, 65, 67, 79, 83, 48, 48, 48, 32,
|
||||
/* 0x2070 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 56, 32, 32, 48,
|
||||
/* 0x2080 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2090 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20a0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42,
|
||||
/* 0x20b0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76,
|
||||
/* 0x20c0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49,
|
||||
/* 0x20d0 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x2100 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x2110 */ 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x2120 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x2130 */ 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2140 */ 32, 32, 48, 48, 48, 48, 48, 49, 53, 52, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x2160 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x2170 */ 48, 48, 48, 48, 48, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x2180 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44,
|
||||
/* 0x2190 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82,
|
||||
/* 0x21a0 */ 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x21b0 */ 48, 49, 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21c0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x21d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49,
|
||||
/* 0x21e0 */ 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x21f0 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x2200 */ 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32,
|
||||
/* 0x2210 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 56, 32, 32,
|
||||
/* 0x2220 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2230 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2240 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 50,101, 48, 32, 32, 50, 42,
|
||||
/* 0x2250 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x2260 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
|
||||
/* 0x2270 */ 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32,
|
||||
/* 0x2280 */ 48, 48, 48, 48, 48, 48, 57, 52, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2290 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x22b0 */ 48, 48, 48, 51,100, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x22c0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82,
|
||||
/* 0x22d0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65,
|
||||
/* 0x22e0 */ 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22f0 */ 50, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2300 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2310 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 54, 99,
|
||||
/* 0x2320 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x2330 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76,
|
||||
/* 0x2340 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48,
|
||||
/* 0x2350 */ 48, 48, 98, 98, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2360 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x2380 */ 52, 57, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
|
||||
/* 0x2390 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
|
||||
/* 0x23a0 */ 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32,
|
||||
/* 0x23b0 */ 48, 48, 48, 48, 48, 99, 55, 52, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x23d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x23e0 */ 48, 48, 49, 48, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x23f0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
|
||||
/* 0x2400 */ 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32,
|
||||
/* 0x2410 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48,
|
||||
/* 0x2420 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x2430 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2440 */ 32, 48, 48, 48, 48, 49, 99, 99, 48, 32, 32, 50, 42, 42, 48, 32,
|
||||
/* 0x2450 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x2460 */ 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32,
|
||||
/* 0x2470 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32,
|
||||
/* 0x2480 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2490 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24a0 */ 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,100, 99, 32, 32, 50, 42,
|
||||
/* 0x24b0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x24c0 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65,
|
||||
/* 0x24d0 */ 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24e0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24f0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2500 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49,100, 48, 48, 32,
|
||||
/* 0x2510 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
|
||||
/* 0x2520 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 69, 76,
|
||||
/* 0x2530 */ 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x2540 */ 48, 50,101, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2550 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2560 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49,100,
|
||||
/* 0x2570 */ 48, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x2580 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77,
|
||||
/* 0x2590 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x25a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x25b0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48,
|
||||
/* 0x25c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x25d0 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x25e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x25f0 */ 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48,
|
||||
/* 0x2600 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82,
|
||||
/* 0x2610 */ 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2620 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2630 */ 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2640 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x2650 */ 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2660 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 79,
|
||||
/* 0x2670 */ 83, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2680 */ 48, 48, 48, 48, 48, 32, 77, 65, 67, 79, 83, 48, 48, 48, 10, 48,
|
||||
/* 0x2690 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x26a0 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68,
|
||||
/* 0x26b0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x26c0 */ 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x26d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x26e0 */ 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x26f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69,
|
||||
/* 0x2700 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2710 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9,
|
||||
/* 0x2720 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2730 */ 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2740 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2750 */ 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2760 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48,
|
||||
/* 0x2770 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x2780 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48,
|
||||
/* 0x2790 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x27a0 */ 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48,
|
||||
/* 0x27b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x27c0 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48,
|
||||
/* 0x27d0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x27e0 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48,
|
||||
/* 0x27f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x2800 */ 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48,
|
||||
/* 0x2810 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2820 */ 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48,
|
||||
/* 0x2830 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x2840 */ 32, 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48,
|
||||
/* 0x2850 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70,
|
||||
/* 0x2860 */ 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2870 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76,
|
||||
/* 0x2880 */ 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2890 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89,
|
||||
/* 0x28a0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x28b0 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 79, 83, 48,
|
||||
/* 0x28c0 */ 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x28d0 */ 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 10, 82, 69, 76, 79,
|
||||
/* 0x28e0 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
|
||||
/* 0x28f0 */ 79, 82, 32, 91, 77, 65, 67, 79, 83, 48, 48, 48, 93, 58, 10, 79,
|
||||
/* 0x2900 */ 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2910 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2920 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2930 */ 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 54, 52,
|
||||
/* 0x2940 */ 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
|
||||
/* 0x2950 */ 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2960 */ 48, 48, 48, 50,101, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
|
||||
/* 0x2970 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
|
||||
/* 0x2980 */ 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
|
||||
/* 0x2990 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32,
|
||||
/* 0x29a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69,
|
||||
/* 0x29b0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99,
|
||||
/* 0x29c0 */ 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32,
|
||||
/* 0x29d0 */ 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69,
|
||||
/* 0x29e0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
|
||||
/* 0x29f0 */ 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70,
|
||||
/* 0x2a00 */ 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84,
|
||||
/* 0x2a10 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2a20 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2a30 */ 48, 48, 48, 48, 48, 99, 99, 32, 82, 95, 80, 80, 67, 54, 52, 95,
|
||||
/* 0x2a40 */ 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65,
|
||||
/* 0x2a50 */ 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82,
|
||||
/* 0x2a60 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50,
|
||||
/* 0x2a70 */ 66, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2a80 */ 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2a90 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
|
||||
/* 0x2aa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 56, 32, 82, 95,
|
||||
/* 0x2ab0 */ 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32,
|
||||
/* 0x2ac0 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65,
|
||||
/* 0x2ad0 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82,
|
||||
/* 0x2ae0 */ 32, 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79,
|
||||
/* 0x2af0 */ 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2b00 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2b10 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2b20 */ 48, 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 54, 52,
|
||||
/* 0x2b30 */ 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95,
|
||||
/* 0x2b40 */ 68, 69, 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2b50 */ 48, 48, 48, 48, 48, 48, 50, 56, 10
|
||||
};
|
||||
+273
-273
@@ -1,5 +1,5 @@
|
||||
/* powerpc64le-darwin.macho-entry.h
|
||||
created from powerpc64le-darwin.macho-entry.bin, 10439 (0x28c7) bytes
|
||||
/* powerpc64-darwin.macho-entry.h
|
||||
created from powerpc64-darwin.macho-entry.bin, 10437 (0x28c5) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -31,84 +31,84 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_SIZE 10439
|
||||
#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_ADLER32 0x7914a5b4
|
||||
#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_CRC32 0x5e59d09e
|
||||
#define STUB_POWERPC64_DARWIN_MACHO_ENTRY_SIZE 10437
|
||||
#define STUB_POWERPC64_DARWIN_MACHO_ENTRY_ADLER32 0x3004a4e4
|
||||
#define STUB_POWERPC64_DARWIN_MACHO_ENTRY_CRC32 0x4feaa5ef
|
||||
|
||||
unsigned char stub_powerpc64le_darwin_macho_entry[10439] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 1, 0, 21, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,232, 31, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 1, 0, 0, 72,236, 41, 0,124,166, 2,168,125, 8, 0, 7, 40,
|
||||
/* 0x0050 */ 72, 1,130, 64, 0, 0,166,248, 20, 26,132,124, 0,128, 0, 60,
|
||||
/* 0x0060 */ 198, 7, 0,120,120, 3, 9,124,255,255, 99, 56,255,255,165, 56,
|
||||
/* 0x0070 */ 255,255, 64, 57, 20, 1, 0, 72, 1, 0, 32, 57, 44, 28, 41,125,
|
||||
/* 0x0080 */ 4, 0, 99, 56, 20, 73, 41,125, 36,248, 41,121, 64, 0, 41,124,
|
||||
/* 0x0090 */ 20, 72, 41,125, 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157,
|
||||
/* 0x00a0 */ 64, 0, 41,124, 20, 72, 41,125,209,255,194, 65,236,255,225, 65,
|
||||
/* 0x00b0 */ 1, 0,224, 56, 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,
|
||||
/* 0x00c0 */ 185,255,194, 65, 20, 57,231,124, 21, 72, 41,125,173,255,194, 65,
|
||||
/* 0x00d0 */ 20, 57,231,124, 64, 0, 41,124, 20, 72, 41,125,157,255,194, 65,
|
||||
/* 0x00e0 */ 216,255,192, 65,253,255,231, 52, 0, 0, 0, 57, 40, 0,192, 65,
|
||||
/* 0x00f0 */ 1, 0, 99,141,198, 69,231,120,118, 6,231,124,249, 88,234,124,
|
||||
/* 0x0100 */ 116, 14, 74,125, 0, 0,194, 65, 1, 0,107,113, 80, 0,226, 65,
|
||||
/* 0x0110 */ 20, 0, 0, 72, 64, 0, 41,124, 20, 72, 41,125, 93,255,194, 65,
|
||||
/* 0x0120 */ 60, 0,225, 65, 1, 0, 0, 57, 64, 0, 41,124, 20, 72, 41,125,
|
||||
/* 0x0130 */ 73,255,194, 65, 40, 0,225, 65, 21, 72, 41,125, 61,255,194, 65,
|
||||
/* 0x0140 */ 20, 65, 8,125, 64, 0, 41,124, 20, 72, 41,125, 45,255,194, 65,
|
||||
/* 0x0150 */ 232,255,192, 65, 2, 0, 8, 57, 16, 0, 0, 72, 21, 72, 41,125,
|
||||
/* 0x0160 */ 25,255,194, 65, 20, 65, 8,125,255,250,106, 33, 2, 0, 8, 57,
|
||||
/* 0x0170 */ 148, 1, 8,125, 20, 42,234,124,166, 3, 9,125, 1, 0,103,141,
|
||||
/* 0x0180 */ 1, 0,101,157,248,255, 32, 67, 0, 1,224, 56,236, 41, 7,124,
|
||||
/* 0x0190 */ 44, 26, 7,124, 12,255,255, 75,236, 41, 0,124,166, 2,168,125,
|
||||
/* 0x01a0 */ 5, 0, 7, 40, 56, 1,130, 64, 0, 0,166,248, 20, 26,132,124,
|
||||
/* 0x01b0 */ 0,128, 0, 60,198, 7, 0,120, 0,128, 32, 61,198, 7, 41,121,
|
||||
/* 0x01c0 */ 255,255, 99, 56,255,255,165, 56,255,255, 64, 57, 0, 1, 0, 72,
|
||||
/* 0x01d0 */ 1, 0, 32, 57, 44, 28, 41,125, 4, 0, 99, 56,198, 7, 41,121,
|
||||
/* 0x01e0 */ 64, 0, 41,124, 20, 72, 41,125, 1, 0,128, 57,198, 7,140,121,
|
||||
/* 0x01f0 */ 120, 99, 41,125, 32, 0,128, 78, 1, 0, 3,141, 1, 0, 5,157,
|
||||
/* 0x0200 */ 64, 0, 41,124, 20, 74, 41,125,201,255,194, 65,236,255,225, 65,
|
||||
/* 0x0210 */ 1, 0,224, 56, 20, 0, 0, 72,255,255,231, 56, 21, 72, 41,125,
|
||||
/* 0x0220 */ 177,255,194, 65, 21, 57,231,124, 21, 72, 41,125,165,255,194, 65,
|
||||
/* 0x0230 */ 21, 57,231,124, 64, 0, 41,124, 20, 74, 41,125,149,255,194, 65,
|
||||
/* 0x0240 */ 216,255,192, 65, 0, 0, 0, 57,253,255,231, 52, 46, 64,231, 84,
|
||||
/* 0x0250 */ 28, 0,192, 65, 1, 0, 3,140,249, 0,234,124,112, 14, 74,125,
|
||||
/* 0x0260 */ 0, 0, 42, 44, 0, 0,194, 65, 12, 0, 0, 72, 21, 72, 41,125,
|
||||
/* 0x0270 */ 97,255,194, 65, 21, 65, 8,125, 21, 72, 41,125, 85,255,194, 65,
|
||||
/* 0x0280 */ 21, 65, 8,125, 40, 0,130, 64, 1, 0, 0, 57, 21, 72, 41,125,
|
||||
/* 0x0290 */ 65,255,194, 65, 21, 65, 8,125, 64, 0, 41,124, 20, 74, 41,125,
|
||||
/* 0x02a0 */ 49,255,194, 65,232,255,192, 65, 2, 0, 8, 57,255,250,234, 32,
|
||||
/* 0x02b0 */ 1, 0, 8, 57,148, 1, 8,125, 20, 42,234,124,166, 3, 9,125,
|
||||
/* 0x02c0 */ 1, 0, 7,141, 1, 0, 5,157,248,255, 32, 67, 0, 1,224, 56,
|
||||
/* 0x02d0 */ 236, 41, 7,124, 44, 26, 7,124, 40,255,255, 75,236, 41, 0,124,
|
||||
/* 0x02e0 */ 166, 2,168,125, 2, 0, 7, 40,236, 0,130, 64, 0, 0,166,248,
|
||||
/* 0x02f0 */ 20, 26,132,124, 0,128, 0, 60,198, 7, 0,120,120, 3, 9,124,
|
||||
/* 0x0300 */ 255,255, 99, 56,255,255,165, 56,255,255, 64, 57,184, 0, 0, 72,
|
||||
/* 0x0310 */ 20, 73, 41,125, 36,248, 41,121, 64, 0, 41,124, 20, 72, 41,125,
|
||||
/* 0x0320 */ 32, 0,226, 76, 1, 0, 32, 57, 44, 28, 41,125, 4, 0, 99, 56,
|
||||
/* 0x0330 */ 224,255,255, 75, 1, 0, 3,141, 1, 0, 5,157,221,255,255, 75,
|
||||
/* 0x0340 */ 244,255,225, 65, 1, 0,224, 56,209,255,255, 75, 21, 57,231,124,
|
||||
/* 0x0350 */ 201,255,255, 75,244,255,192, 65,253,255,231, 52, 0, 0, 0, 57,
|
||||
/* 0x0360 */ 24, 0,192, 65, 1, 0, 99,141, 46, 64,231, 84,248, 88,234,124,
|
||||
/* 0x0370 */ 63, 0, 75, 85, 0, 0,194, 65,161,255,255, 75, 21, 65, 8,125,
|
||||
/* 0x0380 */ 153,255,255, 75, 21, 65, 8,125, 1, 0,224, 56, 28, 0,194, 64,
|
||||
/* 0x0390 */ 3, 0,224, 56, 1, 0, 0, 57,129,255,255, 75, 21, 65, 8,125,
|
||||
/* 0x03a0 */ 121,255,255, 75,244,255,192, 65,255,242,106, 33, 20, 57, 8,125,
|
||||
/* 0x03b0 */ 20, 42,234,124,166, 3, 9,125, 1, 0, 7,141, 1, 0, 5,157,
|
||||
/* 0x03c0 */ 248,255, 32, 67, 0, 1,224, 56,236, 41, 7,124, 44, 26, 7,124,
|
||||
/* 0x03d0 */ 108,255,255, 75, 14, 0, 7, 40, 0, 0,130, 64,145,255, 33,248,
|
||||
/* 0x03e0 */ 166, 2, 8,124, 4, 0, 38, 57, 4, 0, 6,129,120, 43,167,124,
|
||||
/* 0x03f0 */ 254,255,164, 56, 2, 0,131, 56, 0, 0,131,137, 16, 0, 1,248,
|
||||
/* 0x0400 */ 194,232,139,121, 96, 7,140,121, 0,250, 96, 56, 54, 88, 99,124,
|
||||
/* 0x0410 */ 100,241, 99, 56,120, 11, 38,124, 20, 26, 33,124,100, 6, 33,120,
|
||||
/* 0x0420 */ 0, 0, 0, 56,120, 51,195,124, 0, 0, 9,144,249,255, 3,248,
|
||||
/* 0x0430 */ 64, 24, 33,124,248,255,128, 65, 0, 0,193,248,255,255, 4,136,
|
||||
/* 0x0440 */ 36, 0,193, 56, 40, 0, 97, 56, 2, 0,131,153, 16, 0,225,248,
|
||||
/* 0x0450 */ 24, 0, 33,249, 2,225, 11,120, 32, 7, 0,120, 1, 0, 99,153,
|
||||
/* 0x0460 */ 0, 0, 3,152,145,255, 33,248,112, 0, 33, 56, 24, 0,161,232,
|
||||
/* 0x0470 */ 16, 0,225,232, 0, 0,165,128, 0, 0, 33,232, 20, 58,165,124,
|
||||
/* 0x0480 */ 16, 0, 1,232,255,255,165, 56, 0, 0, 33,232,166, 3, 8,124,
|
||||
unsigned char stub_powerpc64_darwin_macho_entry[10437] = {
|
||||
/* 0x0000 */ 127, 69, 76, 70, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0010 */ 0, 1, 0, 21, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31,232,
|
||||
/* 0x0030 */ 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0,
|
||||
/* 0x0040 */ 72, 0, 0, 1,124, 0, 41,236,125,168, 2,166, 40, 7, 0, 8,
|
||||
/* 0x0050 */ 64,130, 1, 72,248,166, 0, 0,124,132, 26, 20, 60, 0,128, 0,
|
||||
/* 0x0060 */ 120, 0, 7,198,124, 9, 3,120, 56, 99,255,255, 56,165,255,255,
|
||||
/* 0x0070 */ 57, 64,255,255, 72, 0, 1, 20, 57, 32, 0, 1,125, 41, 28, 44,
|
||||
/* 0x0080 */ 56, 99, 0, 4,125, 41, 73, 20,121, 41,248, 36,124, 41, 0, 64,
|
||||
/* 0x0090 */ 125, 41, 72, 20, 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1,
|
||||
/* 0x00a0 */ 124, 41, 0, 64,125, 41, 72, 20, 65,194,255,209, 65,225,255,236,
|
||||
/* 0x00b0 */ 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21,
|
||||
/* 0x00c0 */ 65,194,255,185,124,231, 57, 20,125, 41, 72, 21, 65,194,255,173,
|
||||
/* 0x00d0 */ 124,231, 57, 20,124, 41, 0, 64,125, 41, 72, 20, 65,194,255,157,
|
||||
/* 0x00e0 */ 65,192,255,216, 52,231,255,253, 57, 0, 0, 0, 65,192, 0, 40,
|
||||
/* 0x00f0 */ 141, 99, 0, 1,120,231, 69,198,124,231, 6,118,124,234, 88,249,
|
||||
/* 0x0100 */ 125, 74, 14,116, 65,194, 0, 0,113,107, 0, 1, 65,226, 0, 80,
|
||||
/* 0x0110 */ 72, 0, 0, 20,124, 41, 0, 64,125, 41, 72, 20, 65,194,255, 93,
|
||||
/* 0x0120 */ 65,225, 0, 60, 57, 0, 0, 1,124, 41, 0, 64,125, 41, 72, 20,
|
||||
/* 0x0130 */ 65,194,255, 73, 65,225, 0, 40,125, 41, 72, 21, 65,194,255, 61,
|
||||
/* 0x0140 */ 125, 8, 65, 20,124, 41, 0, 64,125, 41, 72, 20, 65,194,255, 45,
|
||||
/* 0x0150 */ 65,192,255,232, 57, 8, 0, 2, 72, 0, 0, 16,125, 41, 72, 21,
|
||||
/* 0x0160 */ 65,194,255, 25,125, 8, 65, 20, 33,106,250,255, 57, 8, 0, 2,
|
||||
/* 0x0170 */ 125, 8, 1,148,124,234, 42, 20,125, 9, 3,166,141,103, 0, 1,
|
||||
/* 0x0180 */ 157,101, 0, 1, 67, 32,255,248, 56,224, 1, 0,124, 7, 41,236,
|
||||
/* 0x0190 */ 124, 7, 26, 44, 75,255,255, 12,124, 0, 41,236,125,168, 2,166,
|
||||
/* 0x01a0 */ 40, 7, 0, 5, 64,130, 1, 56,248,166, 0, 0,124,132, 26, 20,
|
||||
/* 0x01b0 */ 60, 0,128, 0,120, 0, 7,198, 61, 32,128, 0,121, 41, 7,198,
|
||||
/* 0x01c0 */ 56, 99,255,255, 56,165,255,255, 57, 64,255,255, 72, 0, 1, 0,
|
||||
/* 0x01d0 */ 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,121, 41, 7,198,
|
||||
/* 0x01e0 */ 124, 41, 0, 64,125, 41, 72, 20, 57,128, 0, 1,121,140, 7,198,
|
||||
/* 0x01f0 */ 125, 41, 99,120, 78,128, 0, 32,141, 3, 0, 1,157, 5, 0, 1,
|
||||
/* 0x0200 */ 124, 41, 0, 64,125, 41, 74, 20, 65,194,255,201, 65,225,255,236,
|
||||
/* 0x0210 */ 56,224, 0, 1, 72, 0, 0, 20, 56,231,255,255,125, 41, 72, 21,
|
||||
/* 0x0220 */ 65,194,255,177,124,231, 57, 21,125, 41, 72, 21, 65,194,255,165,
|
||||
/* 0x0230 */ 124,231, 57, 21,124, 41, 0, 64,125, 41, 74, 20, 65,194,255,149,
|
||||
/* 0x0240 */ 65,192,255,216, 57, 0, 0, 0, 52,231,255,253, 84,231, 64, 46,
|
||||
/* 0x0250 */ 65,192, 0, 28,140, 3, 0, 1,124,234, 0,249,125, 74, 14,112,
|
||||
/* 0x0260 */ 44, 42, 0, 0, 65,194, 0, 0, 72, 0, 0, 12,125, 41, 72, 21,
|
||||
/* 0x0270 */ 65,194,255, 97,125, 8, 65, 21,125, 41, 72, 21, 65,194,255, 85,
|
||||
/* 0x0280 */ 125, 8, 65, 21, 64,130, 0, 40, 57, 0, 0, 1,125, 41, 72, 21,
|
||||
/* 0x0290 */ 65,194,255, 65,125, 8, 65, 21,124, 41, 0, 64,125, 41, 74, 20,
|
||||
/* 0x02a0 */ 65,194,255, 49, 65,192,255,232, 57, 8, 0, 2, 32,234,250,255,
|
||||
/* 0x02b0 */ 57, 8, 0, 1,125, 8, 1,148,124,234, 42, 20,125, 9, 3,166,
|
||||
/* 0x02c0 */ 141, 7, 0, 1,157, 5, 0, 1, 67, 32,255,248, 56,224, 1, 0,
|
||||
/* 0x02d0 */ 124, 7, 41,236,124, 7, 26, 44, 75,255,255, 40,124, 0, 41,236,
|
||||
/* 0x02e0 */ 125,168, 2,166, 40, 7, 0, 2, 64,130, 0,236,248,166, 0, 0,
|
||||
/* 0x02f0 */ 124,132, 26, 20, 60, 0,128, 0,120, 0, 7,198,124, 9, 3,120,
|
||||
/* 0x0300 */ 56, 99,255,255, 56,165,255,255, 57, 64,255,255, 72, 0, 0,184,
|
||||
/* 0x0310 */ 125, 41, 73, 20,121, 41,248, 36,124, 41, 0, 64,125, 41, 72, 20,
|
||||
/* 0x0320 */ 76,226, 0, 32, 57, 32, 0, 1,125, 41, 28, 44, 56, 99, 0, 4,
|
||||
/* 0x0330 */ 75,255,255,224,141, 3, 0, 1,157, 5, 0, 1, 75,255,255,221,
|
||||
/* 0x0340 */ 65,225,255,244, 56,224, 0, 1, 75,255,255,209,124,231, 57, 21,
|
||||
/* 0x0350 */ 75,255,255,201, 65,192,255,244, 52,231,255,253, 57, 0, 0, 0,
|
||||
/* 0x0360 */ 65,192, 0, 24,141, 99, 0, 1, 84,231, 64, 46,124,234, 88,248,
|
||||
/* 0x0370 */ 85, 75, 0, 63, 65,194, 0, 0, 75,255,255,161,125, 8, 65, 21,
|
||||
/* 0x0380 */ 75,255,255,153,125, 8, 65, 21, 56,224, 0, 1, 64,194, 0, 28,
|
||||
/* 0x0390 */ 56,224, 0, 3, 57, 0, 0, 1, 75,255,255,129,125, 8, 65, 21,
|
||||
/* 0x03a0 */ 75,255,255,121, 65,192,255,244, 33,106,242,255,125, 8, 57, 20,
|
||||
/* 0x03b0 */ 124,234, 42, 20,125, 9, 3,166,141, 7, 0, 1,157, 5, 0, 1,
|
||||
/* 0x03c0 */ 67, 32,255,248, 56,224, 1, 0,124, 7, 41,236,124, 7, 26, 44,
|
||||
/* 0x03d0 */ 75,255,255,108, 40, 7, 0, 14, 64,130, 0, 0,248, 33,255,145,
|
||||
/* 0x03e0 */ 124, 8, 2,166, 57, 38, 0, 4,129, 6, 0, 4,124,167, 43,120,
|
||||
/* 0x03f0 */ 56,164,255,254, 56,131, 0, 2,137,131, 0, 0,248, 1, 0, 16,
|
||||
/* 0x0400 */ 121,139,232,194,121,140, 7, 96, 56, 96,250, 0,124, 99, 88, 54,
|
||||
/* 0x0410 */ 56, 99,241,100,124, 38, 11,120,124, 33, 26, 20,120, 33, 6,100,
|
||||
/* 0x0420 */ 56, 0, 0, 0,124,195, 51,120,144, 9, 0, 0,248, 3,255,249,
|
||||
/* 0x0430 */ 124, 33, 24, 64, 65,128,255,248,248,193, 0, 0,136, 4,255,255,
|
||||
/* 0x0440 */ 56,193, 0, 36, 56, 97, 0, 40,153,131, 0, 2,248,225, 0, 16,
|
||||
/* 0x0450 */ 249, 33, 0, 24,120, 11,225, 2,120, 0, 7, 32,153, 99, 0, 1,
|
||||
/* 0x0460 */ 152, 3, 0, 0,248, 33,255,145, 56, 33, 0,112,232,161, 0, 24,
|
||||
/* 0x0470 */ 232,225, 0, 16,128,165, 0, 0,232, 33, 0, 0,124,165, 58, 20,
|
||||
/* 0x0480 */ 232, 1, 0, 16, 56,165,255,255,232, 33, 0, 0,124, 8, 3,166,
|
||||
/* 0x0490 */ 166, 2, 8,124, 1, 0, 64, 57, 1, 0, 0, 72, 4, 0, 99, 59,
|
||||
/* 0x04a0 */ 2, 0,227, 59, 0, 4, 0, 56, 2, 0, 99,137, 48, 88, 75,125,
|
||||
/* 0x04b0 */ 255,255,107, 57, 32, 0,107,121, 96,255, 97,249, 1, 0, 99,137,
|
||||
@@ -296,7 +296,7 @@ unsigned char stub_powerpc64le_darwin_macho_entry[10439] = {
|
||||
/* 0x1010 */ 184,255,225,234,192,255, 1,235,200,255, 33,235,208,255, 65,235,
|
||||
/* 0x1020 */ 216,255, 97,235,224,255,129,235, 16, 0, 1,232,232,255,161,235,
|
||||
/* 0x1030 */ 166, 3, 8,124,240,255,193,235,248,255,225,235, 32, 0,128, 78,
|
||||
/* 0x1040 */ 0, 0, 0, 0, 0, 0, 0, 1, 9, 0, 0, 72,112, 12, 0, 72,
|
||||
/* 0x1040 */ 0, 0, 0, 0, 0, 0, 0, 1, 72, 0, 0, 9, 72, 0, 12,112,
|
||||
/* 0x1050 */ 120,255,225,249,112,255,193,249, 0, 0, 0, 56, 1, 0, 96, 57,
|
||||
/* 0x1060 */ 152,255, 97,250,144,255, 65,250, 4, 0, 99, 58,248,255,225,251,
|
||||
/* 0x1070 */ 240,255,193,251, 2, 0,227, 59,128,255, 1,250,136,255, 33,250,
|
||||
@@ -495,198 +495,198 @@ unsigned char stub_powerpc64le_darwin_macho_entry[10439] = {
|
||||
/* 0x1c80 */ 128,250,255, 75,126,217,254, 87, 80,248,254,127, 80,208,128,127,
|
||||
/* 0x1c90 */ 104,255, 1,250, 96,255, 1,234, 80, 80, 64,125, 46, 91,243,127,
|
||||
/* 0x1ca0 */ 32, 0,156,123, 32, 0, 74,121,152,254,255, 75, 0, 0,192, 58,
|
||||
/* 0x1cb0 */ 12,253,255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,230,232,
|
||||
/* 0x1cc0 */ 166, 3,168,125, 80, 24,100,124, 80, 40,135,124, 1, 0, 99, 56,
|
||||
/* 0x1cd0 */ 1, 0,132, 56, 0, 0,134,248, 31, 0,231, 96,108, 56, 0,124,
|
||||
/* 0x1ce0 */ 64, 40, 39,124,172, 63, 0,124, 32, 0,231, 56,240,255,128, 65,
|
||||
/* 0x1cf0 */ 172, 4, 0,124, 44, 1, 0, 76, 32, 0,128, 78,166, 2,104,125,
|
||||
/* 0x1d00 */ 12, 0,139,128,166, 3,137,124, 8, 0,203,128, 16, 0,235,136,
|
||||
/* 0x1d10 */ 20, 90,164,124, 20, 0,165, 56, 20, 90,102,124,192, 0, 99, 56,
|
||||
/* 0x1d20 */ 255,255, 5,140,255,255, 3,156,248,255, 32, 67,166, 3,233,127,
|
||||
/* 0x1d30 */ 128, 0,171, 56,248,255,193,248,248,255,193, 56,113,255, 33,248,
|
||||
/* 0x1d40 */ 32, 4,128, 78,166, 2,232,127,181,255,255, 75,128, 0, 0, 72,
|
||||
/* 0x1cb0 */ 12,253,255, 75, 0, 0, 0, 0, 0, 0, 0, 0,232,230, 0, 0,
|
||||
/* 0x1cc0 */ 125,168, 3,166,124,100, 24, 80,124,135, 40, 80, 56, 99, 0, 1,
|
||||
/* 0x1cd0 */ 56,132, 0, 1,248,134, 0, 0, 96,231, 0, 31,124, 0, 56,108,
|
||||
/* 0x1ce0 */ 124, 39, 40, 64,124, 0, 63,172, 56,231, 0, 32, 65,128,255,240,
|
||||
/* 0x1cf0 */ 124, 0, 4,172, 76, 0, 1, 44, 78,128, 0, 32,125,104, 2,166,
|
||||
/* 0x1d00 */ 128,139, 0, 12,124,137, 3,166,128,203, 0, 8,136,235, 0, 16,
|
||||
/* 0x1d10 */ 124,164, 90, 20, 56,165, 0, 20,124,102, 90, 20, 56, 99, 0,192,
|
||||
/* 0x1d20 */ 140, 5,255,255,156, 3,255,255, 67, 32,255,248,127,233, 3,166,
|
||||
/* 0x1d30 */ 56,171, 0,128,248,193,255,248, 56,193,255,248,248, 33,255,113,
|
||||
/* 0x1d40 */ 78,128, 4, 32,127,232, 2,166, 75,255,255,181, 72, 0, 0,128,
|
||||
/* 0x1d50 */ 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,
|
||||
/* 0x1d60 */ 101,108,102, 54, 52, 45,112,111,119,101,114,112, 99,108,101, 10,
|
||||
/* 0x1d70 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78,
|
||||
/* 0x1d80 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,
|
||||
/* 0x1d90 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1da0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32,
|
||||
/* 0x1db0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,
|
||||
/* 0x1dc0 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115,
|
||||
/* 0x1dd0 */ 10, 32, 32, 48, 32, 77, 65, 67, 79, 83, 48, 48, 48, 32, 32, 32,
|
||||
/* 0x1de0 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48,
|
||||
/* 0x1df0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x1e10 */ 32, 48, 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32,
|
||||
/* 0x1e20 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67,
|
||||
/* 0x1e30 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78,
|
||||
/* 0x1e40 */ 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48,
|
||||
/* 0x1e50 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1e80 */ 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
|
||||
/* 0x1e90 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
|
||||
/* 0x1ea0 */ 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1eb0 */ 48, 48, 48, 48, 48, 49, 53, 52, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1ed0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1ee0 */ 48, 48, 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
|
||||
/* 0x1ef0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82,
|
||||
/* 0x1f00 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50,
|
||||
/* 0x1f10 */ 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49,
|
||||
/* 0x1f20 */ 52, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f30 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f40 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 57, 56,
|
||||
/* 0x1f50 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x1f60 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76,
|
||||
/* 0x1f70 */ 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32,
|
||||
/* 0x1f80 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 56, 32, 32, 48, 48,
|
||||
/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1fb0 */ 32, 32, 48, 48, 48, 48, 48, 50,100, 99, 32, 32, 50, 42, 42, 48,
|
||||
/* 0x1fc0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79,
|
||||
/* 0x1fd0 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32,
|
||||
/* 0x1fe0 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48,
|
||||
/* 0x1ff0 */ 48, 48, 48, 48, 57, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2000 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x2020 */ 48, 51,100, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
|
||||
/* 0x2030 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65,
|
||||
/* 0x2040 */ 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68,
|
||||
/* 0x2050 */ 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 56,
|
||||
/* 0x2060 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2070 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2080 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 54, 56, 32, 32,
|
||||
/* 0x2090 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
|
||||
/* 0x20a0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77,
|
||||
/* 0x20b0 */ 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x20c0 */ 98, 98, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20d0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20e0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 57,
|
||||
/* 0x20f0 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
|
||||
/* 0x2100 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32,
|
||||
/* 0x2110 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48,
|
||||
/* 0x2120 */ 48, 48, 48, 99, 55, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2130 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x2150 */ 49, 48, 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
|
||||
/* 0x2160 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32,
|
||||
/* 0x2170 */ 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32,
|
||||
/* 0x2180 */ 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x21b0 */ 48, 48, 48, 49, 99, 98, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67,
|
||||
/* 0x21c0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76,
|
||||
/* 0x21d0 */ 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, 32, 32,
|
||||
/* 0x21e0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48,
|
||||
/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x2200 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2210 */ 32, 32, 48, 48, 48, 48, 49, 99,100, 56, 32, 32, 50, 42, 42, 48,
|
||||
/* 0x2220 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68,
|
||||
/* 0x2230 */ 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78,
|
||||
/* 0x2240 */ 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2250 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2260 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2270 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,102, 99, 32, 32, 50,
|
||||
/* 0x2280 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82,
|
||||
/* 0x2290 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77,
|
||||
/* 0x22a0 */ 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22b0 */ 53, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22c0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22d0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,102, 99,
|
||||
/* 0x22e0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
|
||||
/* 0x22f0 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79,
|
||||
/* 0x2300 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2320 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48,
|
||||
/* 0x2330 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90,
|
||||
/* 0x2340 */ 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2350 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2360 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95,
|
||||
/* 0x2380 */ 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2390 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76,
|
||||
/* 0x23a0 */ 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23b0 */ 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90,
|
||||
/* 0x23c0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23d0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 79, 83, 48,
|
||||
/* 0x23e0 */ 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23f0 */ 48, 48, 48, 32, 77, 65, 67, 79, 83, 48, 48, 48, 10, 48, 48, 48,
|
||||
/* 0x2400 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x2410 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48,
|
||||
/* 0x2420 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2430 */ 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2440 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2450 */ 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2460 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48,
|
||||
/* 0x2470 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2480 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48,
|
||||
/* 0x2490 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78,
|
||||
/* 0x24a0 */ 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24b0 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82,
|
||||
/* 0x24c0 */ 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24d0 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x24e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x24f0 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48,
|
||||
/* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2510 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x2520 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x2530 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48,
|
||||
/* 0x2540 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2550 */ 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x2560 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x2570 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48,
|
||||
/* 0x2580 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2590 */ 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x25a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x25b0 */ 32,100, 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x25c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85,
|
||||
/* 0x25d0 */ 83, 72, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x25e0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77,
|
||||
/* 0x25f0 */ 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2600 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48,
|
||||
/* 0x2610 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2620 */ 103, 32, 32, 32, 32, 32, 32, 32, 77, 65, 67, 79, 83, 48, 48, 48,
|
||||
/* 0x2630 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2640 */ 48, 32, 95,115,116, 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65,
|
||||
/* 0x2650 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82,
|
||||
/* 0x2660 */ 32, 91, 77, 65, 67, 79, 83, 48, 48, 48, 93, 58, 10, 79, 70, 70,
|
||||
/* 0x2670 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
|
||||
/* 0x2680 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2690 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x26a0 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82,
|
||||
/* 0x26b0 */ 69, 76, 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
|
||||
/* 0x26c0 */ 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x26d0 */ 48, 48, 52, 56, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
|
||||
/* 0x26e0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82,
|
||||
/* 0x26f0 */ 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32,
|
||||
/* 0x2700 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
|
||||
/* 0x2710 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
|
||||
/* 0x2720 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 48, 32,
|
||||
/* 0x2730 */ 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32,
|
||||
/* 0x2740 */ 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79,
|
||||
/* 0x2750 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70,
|
||||
/* 0x2760 */ 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83,
|
||||
/* 0x2770 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80,
|
||||
/* 0x2780 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86,
|
||||
/* 0x2790 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x27a0 */ 48, 48, 48, 99, 99, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69,
|
||||
/* 0x27b0 */ 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76,
|
||||
/* 0x27c0 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
|
||||
/* 0x27d0 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93,
|
||||
/* 0x27e0 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x27f0 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2800 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x2810 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 56, 32, 82, 95, 80, 80,
|
||||
/* 0x2820 */ 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82,
|
||||
/* 0x2830 */ 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
|
||||
/* 0x2840 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
|
||||
/* 0x2850 */ 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70,
|
||||
/* 0x2860 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
|
||||
/* 0x2870 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2880 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2890 */ 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82,
|
||||
/* 0x28a0 */ 69, 76, 49, 52, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69,
|
||||
/* 0x28b0 */ 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x28c0 */ 48, 48, 48, 48, 50, 56, 10
|
||||
/* 0x1d60 */ 101,108,102, 54, 52, 45,112,111,119,101,114,112, 99, 10, 10, 83,
|
||||
/* 0x1d70 */ 101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,
|
||||
/* 0x1d80 */ 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32,
|
||||
/* 0x1d90 */ 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1da0 */ 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1db0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,
|
||||
/* 0x1dc0 */ 102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32,
|
||||
/* 0x1dd0 */ 32, 48, 32, 77, 65, 67, 79, 83, 48, 48, 48, 32, 32, 32, 32, 32,
|
||||
/* 0x1de0 */ 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1df0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x1e10 */ 48, 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67,
|
||||
/* 0x1e20 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32,
|
||||
/* 0x1e30 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86,
|
||||
/* 0x1e40 */ 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x1e50 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e60 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1e70 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52,
|
||||
/* 0x1e80 */ 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
|
||||
/* 0x1e90 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32,
|
||||
/* 0x1ea0 */ 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48,
|
||||
/* 0x1eb0 */ 48, 48, 48, 49, 53, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1ed0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1ee0 */ 48, 48, 52, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
|
||||
/* 0x1ef0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65,
|
||||
/* 0x1f00 */ 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32,
|
||||
/* 0x1f10 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 52,
|
||||
/* 0x1f20 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f30 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x1f40 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 57, 56, 32, 32,
|
||||
/* 0x1f50 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
|
||||
/* 0x1f60 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x1f70 */ 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x1f80 */ 32, 32, 48, 48, 48, 48, 48, 48,102, 56, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x1fa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x1fb0 */ 48, 48, 48, 48, 48, 50,100, 99, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x1fc0 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44,
|
||||
/* 0x1fd0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90,
|
||||
/* 0x1fe0 */ 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x1ff0 */ 48, 48, 57, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2000 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2010 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51,
|
||||
/* 0x2020 */ 100, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x2030 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
|
||||
/* 0x2040 */ 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67,
|
||||
/* 0x2050 */ 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 56, 32, 32,
|
||||
/* 0x2060 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2070 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2080 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 54, 56, 32, 32, 50, 42,
|
||||
/* 0x2090 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
|
||||
/* 0x20a0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95,
|
||||
/* 0x20b0 */ 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 98, 98,
|
||||
/* 0x20c0 */ 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20d0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x20e0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, 57, 48, 32,
|
||||
/* 0x20f0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
|
||||
/* 0x2100 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90,
|
||||
/* 0x2110 */ 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x2120 */ 48, 99, 55, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2130 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 48,
|
||||
/* 0x2150 */ 52, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
|
||||
/* 0x2160 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57,
|
||||
/* 0x2170 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48,
|
||||
/* 0x2180 */ 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
|
||||
/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
|
||||
/* 0x21b0 */ 48, 49, 99, 98, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
|
||||
/* 0x21c0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10,
|
||||
/* 0x21d0 */ 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x21e0 */ 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48,
|
||||
/* 0x21f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
|
||||
/* 0x2200 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
|
||||
/* 0x2210 */ 48, 48, 48, 48, 49, 99,100, 56, 32, 32, 50, 42, 42, 48, 32, 32,
|
||||
/* 0x2220 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78,
|
||||
/* 0x2230 */ 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32,
|
||||
/* 0x2240 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
|
||||
/* 0x2250 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2260 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2270 */ 48, 32, 32, 48, 48, 48, 48, 49, 99,102, 99, 32, 32, 50, 42, 42,
|
||||
/* 0x2280 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65,
|
||||
/* 0x2290 */ 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x22a0 */ 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 53, 56,
|
||||
/* 0x22b0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22c0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x22d0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 99,102, 99, 32, 32,
|
||||
/* 0x22e0 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
|
||||
/* 0x22f0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32,
|
||||
/* 0x2300 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2320 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48,
|
||||
/* 0x2330 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65,
|
||||
/* 0x2340 */ 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2350 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2360 */ 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65,
|
||||
/* 0x2380 */ 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2390 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77,
|
||||
/* 0x23a0 */ 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23b0 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48,
|
||||
/* 0x23c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x23d0 */ 108, 32, 32, 32, 32,100, 32, 32, 77, 65, 67, 79, 83, 48, 48, 48,
|
||||
/* 0x23e0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x23f0 */ 48, 32, 77, 65, 67, 79, 83, 48, 48, 48, 10, 48, 48, 48, 48, 48,
|
||||
/* 0x2400 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
|
||||
/* 0x2410 */ 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48,
|
||||
/* 0x2420 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82,
|
||||
/* 0x2430 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2440 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
|
||||
/* 0x2450 */ 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2460 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48,
|
||||
/* 0x2470 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
|
||||
/* 0x2480 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48,
|
||||
/* 0x2490 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86,
|
||||
/* 0x24a0 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50,
|
||||
/* 0x24c0 */ 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24d0 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x24e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x24f0 */ 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48,
|
||||
/* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90,
|
||||
/* 0x2510 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2520 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2530 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48,
|
||||
/* 0x2540 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90,
|
||||
/* 0x2550 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2560 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x2570 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48,
|
||||
/* 0x2580 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90,
|
||||
/* 0x2590 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x25a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
|
||||
/* 0x25b0 */ 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x25c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, 83, 72,
|
||||
/* 0x25d0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x25e0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73,
|
||||
/* 0x25f0 */ 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2600 */ 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48,
|
||||
/* 0x2610 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
|
||||
/* 0x2620 */ 32, 32, 32, 32, 32, 32, 77, 65, 67, 79, 83, 48, 48, 48, 9, 48,
|
||||
/* 0x2630 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
|
||||
/* 0x2640 */ 95,115,116, 97,114,116, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73,
|
||||
/* 0x2650 */ 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91,
|
||||
/* 0x2660 */ 77, 65, 67, 79, 83, 48, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69,
|
||||
/* 0x2670 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69,
|
||||
/* 0x2680 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
|
||||
/* 0x2690 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x26a0 */ 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76,
|
||||
/* 0x26b0 */ 50, 52, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43,
|
||||
/* 0x26c0 */ 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x26d0 */ 52, 56, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82,
|
||||
/* 0x26e0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50,
|
||||
/* 0x26f0 */ 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2700 */ 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2710 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
|
||||
/* 0x2720 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 99, 48, 32, 82, 95,
|
||||
/* 0x2730 */ 80, 80, 67, 54, 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32,
|
||||
/* 0x2740 */ 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65,
|
||||
/* 0x2750 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82,
|
||||
/* 0x2760 */ 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84,
|
||||
/* 0x2770 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32,
|
||||
/* 0x2780 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
|
||||
/* 0x2790 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x27a0 */ 48, 99, 99, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76, 49,
|
||||
/* 0x27b0 */ 52, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10,
|
||||
/* 0x27c0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82,
|
||||
/* 0x27d0 */ 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10,
|
||||
/* 0x27e0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x27f0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
|
||||
/* 0x2800 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2810 */ 48, 48, 48, 48, 48, 48, 48, 57, 56, 32, 82, 95, 80, 80, 67, 54,
|
||||
/* 0x2820 */ 52, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 78, 82, 86, 95,
|
||||
/* 0x2830 */ 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
|
||||
/* 0x2840 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90,
|
||||
/* 0x2850 */ 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69,
|
||||
/* 0x2860 */ 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69,
|
||||
/* 0x2870 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
|
||||
/* 0x2880 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x2890 */ 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 54, 52, 95, 82, 69, 76,
|
||||
/* 0x28a0 */ 49, 52, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51,
|
||||
/* 0x28b0 */ 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
|
||||
/* 0x28c0 */ 48, 48, 50, 56, 10
|
||||
};
|
||||
+159
-158
@@ -1,5 +1,5 @@
|
||||
/* powerpc64le-darwin.macho-fold.h
|
||||
created from powerpc64le-darwin.macho-fold.bin, 6512 (0x1970) bytes
|
||||
/* powerpc64-darwin.macho-fold.h
|
||||
created from powerpc64-darwin.macho-fold.bin, 6520 (0x1978) bytes
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
@@ -31,159 +31,159 @@
|
||||
*/
|
||||
|
||||
|
||||
#define STUB_POWERPC64LE_DARWIN_MACHO_FOLD_SIZE 6512
|
||||
#define STUB_POWERPC64LE_DARWIN_MACHO_FOLD_ADLER32 0xe4f7c367
|
||||
#define STUB_POWERPC64LE_DARWIN_MACHO_FOLD_CRC32 0xd9c156f2
|
||||
#define STUB_POWERPC64_DARWIN_MACHO_FOLD_SIZE 6520
|
||||
#define STUB_POWERPC64_DARWIN_MACHO_FOLD_ADLER32 0x7e1ac4ee
|
||||
#define STUB_POWERPC64_DARWIN_MACHO_FOLD_CRC32 0xe895cd89
|
||||
|
||||
unsigned char stub_powerpc64le_darwin_macho_fold[6512] = {
|
||||
/* 0x0000 */ 8, 0,128,124,105, 0, 0, 72,208, 0, 6, 40, 32, 0,194, 76,
|
||||
/* 0x0010 */ 191,240,132, 84, 32, 0,194, 77, 16, 0, 0, 60, 64, 0, 4,124,
|
||||
/* 0x0020 */ 8, 0,128, 65,120, 3, 4,124, 32, 1,165, 56,120, 27,103,124,
|
||||
/* 0x0030 */ 252,255, 99, 56,166, 3,137,124, 28, 0, 0, 72,186, 2, 96, 85,
|
||||
/* 0x0040 */ 80, 0, 3,124, 20, 58, 0,124,186, 1, 11, 80, 0, 0, 99,145,
|
||||
/* 0x0050 */ 32, 0, 64, 79, 4, 0, 99,133,190, 85, 96, 85, 64, 40, 0,124,
|
||||
/* 0x0060 */ 220,255,194, 65,240,255, 32, 67, 32, 0,128, 78,144, 0, 33, 56,
|
||||
/* 0x0070 */ 0, 0, 32, 57,252,255, 33,149,120, 11, 41,124,166, 2, 8,125,
|
||||
/* 0x0080 */ 248,255,159,128, 80,248,100,124, 24, 0,195,128, 0, 8, 6, 40,
|
||||
/* 0x0090 */ 8, 0,129, 65, 0, 8,192, 56,120, 11, 61,124, 80, 8, 38,124,
|
||||
/* 0x00a0 */ 120, 11, 37,124,113,255, 33,248,120,251,231,127,105, 6, 0, 72,
|
||||
/* 0x00b0 */ 120,235,161,127, 0, 0, 3,128,166, 3, 9,124,136, 0, 3,128,
|
||||
/* 0x00c0 */ 32,241, 15,124,140, 0, 3,128,166, 3, 1,124,144, 0, 3,128,
|
||||
/* 0x00d0 */ 166, 3, 8,124, 24, 0,131,184, 8, 0, 3,128, 16, 0, 67,128,
|
||||
/* 0x00e0 */ 20, 0, 99,128, 32, 4,128, 78,120, 51,199,124, 0, 0,192, 56,
|
||||
/* 0x00f0 */ 153, 0, 0, 56, 16, 0, 0, 72,120, 67, 9,125, 0, 0, 0, 57,
|
||||
/* 0x0100 */ 197, 0, 0, 56, 2, 0, 0, 68,255,255, 96, 56, 32, 0,128, 78,
|
||||
/* 0x0110 */ 1, 0, 0, 56,240,255,255, 75, 3, 0, 0, 56,232,255,255, 75,
|
||||
/* 0x0120 */ 5, 0, 0, 56,224,255,255, 75, 6, 0, 0, 56,216,255,255, 75,
|
||||
/* 0x0130 */ 74, 0, 0, 56,208,255,255, 75,112,255,193,249,120,255,225,249,
|
||||
/* 0x0140 */ 128,255, 1,250,136,255, 33,250,144,255, 65,250,152,255, 97,250,
|
||||
/* 0x0150 */ 160,255,129,250,168,255,161,250,176,255,193,250,184,255,225,250,
|
||||
/* 0x0160 */ 192,255, 1,251,200,255, 33,251,208,255, 65,251,216,255, 97,251,
|
||||
/* 0x0170 */ 224,255,129,251,232,255,161,251,240,255,193,251,248,255,225,251,
|
||||
/* 0x0180 */ 16, 0, 1,248, 32, 0,128, 78,112,255,193,233,120,255,225,233,
|
||||
/* 0x0190 */ 128,255, 1,234,136,255, 33,234,144,255, 65,234,152,255, 97,234,
|
||||
/* 0x01a0 */ 160,255,129,234,168,255,161,234,176,255,193,234,184,255,225,234,
|
||||
/* 0x01b0 */ 192,255, 1,235,200,255, 33,235,208,255, 65,235,216,255, 97,235,
|
||||
/* 0x01c0 */ 224,255,129,235, 16, 0, 1,232,232,255,161,235,166, 3, 8,124,
|
||||
/* 0x01d0 */ 240,255,193,235,248,255,225,235, 32, 0,128, 78, 8, 0, 3,233,
|
||||
/* 0x01e0 */ 0, 0, 67,233, 64, 40,170,127, 40, 0,220, 65,255,255, 37, 57,
|
||||
/* 0x01f0 */ 255,255, 72, 57,255,255,132, 56, 20, 74, 40,125, 80, 72, 42,125,
|
||||
/* 0x0200 */ 166, 3, 41,125, 0, 0,165, 47, 32, 0,158, 64, 40, 0, 0, 72,
|
||||
/* 0x0210 */ 166, 2, 8,124, 16, 0, 1,248,145,255, 33,248,127, 0, 96, 56,
|
||||
/* 0x0220 */ 241,254,255, 75, 0, 0, 0, 96, 1, 0, 42,141, 1, 0, 36,157,
|
||||
/* 0x0230 */ 248,255, 0, 66, 8, 0, 35,233, 20, 42, 41,125, 8, 0, 35,249,
|
||||
/* 0x0240 */ 0, 0, 35,233, 80, 72,165,124, 0, 0,163,248, 32, 0,128, 78,
|
||||
/* 0x0250 */ 0, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,166, 2, 8,124,
|
||||
/* 0x0260 */ 16, 0, 1,248, 38, 0,128,125,224,255,129,251,232,255,161,251,
|
||||
/* 0x0270 */ 240,255,193,251,248,255,225,251, 8, 0,129,145, 97,255, 33,248,
|
||||
/* 0x0280 */ 0, 0, 36,233, 0, 0,169, 47, 92, 1,158, 65,120, 51,220,124,
|
||||
/* 0x0290 */ 120, 43,189,124,120, 35,159,124,120, 27,126,124, 0, 0, 38, 46,
|
||||
/* 0x02a0 */ 120,243,195,127,112, 0,129, 56, 12, 0,160, 56, 49,255,255, 75,
|
||||
/* 0x02b0 */ 112, 0, 33,129, 0, 0,169, 47, 40, 0,158, 64,116, 0, 33,129,
|
||||
/* 0x02c0 */ 88, 33, 64, 61, 85, 80, 74, 97, 0, 80,137,127, 32, 0,222, 64,
|
||||
/* 0x02d0 */ 0, 0, 62,233, 0, 0,169, 47, 12, 1,254, 65, 16, 0, 0, 72,
|
||||
/* 0x02e0 */ 116, 0,161,128, 0, 0,165, 47, 16, 0,254, 64,127, 0, 96, 56,
|
||||
/* 0x02f0 */ 33,254,255, 75, 0, 0, 0, 96, 64, 40,137,127,240,255,220, 65,
|
||||
/* 0x0300 */ 0, 0, 95,233, 64, 80,169,127,228,255,221, 65, 64, 40,137,127,
|
||||
/* 0x0310 */ 164, 0,157, 64,124, 0, 33,145, 8, 0,126,232,120, 43,164,124,
|
||||
/* 0x0320 */ 8, 0,191,232,124, 0,193, 56,120, 0,225,136, 40, 0, 65,248,
|
||||
/* 0x0330 */ 0, 0, 61,233, 16, 0,125,233,166, 3, 41,125, 8, 0, 93,232,
|
||||
/* 0x0340 */ 33, 4,128, 78, 40, 0, 65,232, 0, 0,163, 47,160,255,222, 64,
|
||||
/* 0x0350 */ 112, 0,129,128,124, 0, 33,129, 0, 32,137,127,144,255,222, 64,
|
||||
/* 0x0360 */ 121, 0,193,136, 0, 0,166, 47, 44, 0,158, 65, 40, 0,146, 65,
|
||||
/* 0x0370 */ 8, 0,127,232,122, 0,161,136, 40, 0, 65,248, 0, 0, 60,233,
|
||||
/* 0x0380 */ 16, 0,124,233,166, 3, 41,125, 8, 0, 92,232, 33, 4,128, 78,
|
||||
/* 0x0390 */ 40, 0, 65,232,116, 0, 1,129, 8, 0, 94,233, 20, 66, 74,125,
|
||||
/* 0x03a0 */ 8, 0, 94,249, 0, 0, 62,233, 80, 72, 40,125, 0, 0, 62,249,
|
||||
/* 0x03b0 */ 16, 0, 0, 72,120,243,195,127, 8, 0,159,232, 33,254,255, 75,
|
||||
/* 0x03c0 */ 112, 0, 1,129, 8, 0, 95,233, 20, 66, 74,125, 8, 0, 95,249,
|
||||
/* 0x03d0 */ 0, 0, 63,233, 80, 72, 40,125, 0, 0, 63,249, 0, 0,169, 47,
|
||||
/* 0x03e0 */ 192,254,158, 64,160, 0, 33, 56, 16, 0, 1,232, 8, 0,129,129,
|
||||
/* 0x03f0 */ 166, 3, 8,124,224,255,129,235,232,255,161,235,240,255,193,235,
|
||||
/* 0x0400 */ 248,255,225,235, 32,129,144,125, 32, 0,128, 78, 0, 0, 0, 0,
|
||||
/* 0x0410 */ 0, 0, 0, 3,128, 4, 0, 0,166, 2, 8,124, 16, 0, 1,248,
|
||||
/* 0x0420 */ 38, 0,128,125,120,255,225,249,128,255, 1,250,136,255, 33,250,
|
||||
/* 0x0430 */ 144,255, 65,250,152,255, 97,250,160,255,129,250,168,255,161,250,
|
||||
/* 0x0440 */ 176,255,193,250,184,255,225,250,192,255, 1,251,200,255, 33,251,
|
||||
/* 0x0450 */ 208,255, 65,251,216,255, 97,251,224,255,129,251,232,255,161,251,
|
||||
/* 0x0460 */ 240,255,193,251,248,255,225,251, 8, 0,129,145,241,254, 33,248,
|
||||
/* 0x0470 */ 120, 27,123,124,120, 75, 53,125, 28, 0,227, 59, 16, 0, 35,129,
|
||||
/* 0x0480 */ 0, 0,137, 47,140, 1,158, 65,120, 35,153,124,120, 43,184,124,
|
||||
/* 0x0490 */ 120, 51,215,124,120, 59,244,124,120, 67, 22,125, 0, 0,160, 59,
|
||||
/* 0x04a0 */ 0, 0, 96, 58, 0, 0, 37, 46, 0, 0, 64, 59, 0, 0,128, 59,
|
||||
/* 0x04b0 */ 18, 0, 64, 58, 0, 0, 95,129, 1, 0,138, 43, 12, 1,158, 64,
|
||||
/* 0x04c0 */ 36, 0, 63,129,112, 0, 33,249, 24, 0, 63,130,120, 0, 33,250,
|
||||
/* 0x04d0 */ 28, 0, 31,130, 20,130, 17,126,228, 4, 47,122, 32, 5, 49,122,
|
||||
/* 0x04e0 */ 21, 74, 49,126, 52, 1,130, 65, 16, 0,146, 64, 0, 0,169, 47,
|
||||
/* 0x04f0 */ 64, 1,158, 65, 48, 1, 0, 72,120,187,231,126, 0, 0,169, 47,
|
||||
/* 0x0500 */ 100, 1,158, 64,255,255,224, 56, 92, 1, 0, 72, 36, 0, 63,129,
|
||||
/* 0x0510 */ 0, 0,137, 47, 40, 0,158, 65, 32, 0, 63,129, 0, 0,137, 47,
|
||||
/* 0x0520 */ 8, 0,158, 64, 0, 0,244,249,120,195, 3,127,112, 0,129, 56,
|
||||
/* 0x0530 */ 120,179,197,126,120,171,166,126, 37,253,255, 75,208, 0,209,127,
|
||||
/* 0x0540 */ 33, 5,222,123, 24, 0,130, 65, 20,138, 47,125,255,255, 41, 57,
|
||||
/* 0x0550 */ 166, 3,201,127, 1, 0,137,159,252,255, 0, 66, 0, 0,177, 47,
|
||||
/* 0x0560 */ 44, 0,158, 65,120,123,227,125,120,139, 36,126, 46, 0,191,232,
|
||||
/* 0x0570 */ 193,251,255, 75, 0, 0, 0, 96, 0, 0,163, 47, 16, 0,254, 65,
|
||||
/* 0x0580 */ 127, 0, 96, 56,141,251,255, 75, 0, 0, 0, 96, 20,138,222,127,
|
||||
/* 0x0590 */ 20,242,239,125, 64,120,176,127, 88, 0,157, 64,120,123,227,125,
|
||||
/* 0x05a0 */ 80,128,143,124, 44, 0,191,128, 18, 16,192, 56,255,255,224, 56,
|
||||
/* 0x05b0 */ 120,211, 72,127, 69,251,255, 75, 0, 0, 0, 96, 0, 24,175,127,
|
||||
/* 0x05c0 */ 48, 0,254, 65,188,255,255, 75,252,255, 74, 57, 1, 0,138, 43,
|
||||
/* 0x05d0 */ 32, 0,157, 65, 8, 0, 63,129, 1, 0,137, 47, 20, 0,158, 64,
|
||||
/* 0x05e0 */ 12, 0, 63,129, 40, 0,137, 47, 8, 0,158, 64, 16, 0,127, 58,
|
||||
/* 0x05f0 */ 1, 0, 93, 57, 32, 0, 93,121, 4, 0, 63,129, 20, 74,255,127,
|
||||
/* 0x0600 */ 16, 0, 59,129, 64, 80,137,127,172,254,157, 65,156, 0, 0, 72,
|
||||
/* 0x0610 */ 0, 0, 96, 58,148, 0, 0, 72,124, 0,146, 64,120,211, 94,127,
|
||||
/* 0x0620 */ 108,255,255, 75,120,187,231,126,120,147, 70,126, 12, 0, 0, 72,
|
||||
/* 0x0630 */ 18, 16,192, 56,255,255,224, 56, 32, 0, 31,129, 20,202, 8,125,
|
||||
/* 0x0640 */ 120,123,227,125,120,139, 36,126, 3, 0,160, 56, 32, 0, 8,121,
|
||||
/* 0x0650 */ 169,250,255, 75, 0, 0, 0, 96, 0, 24,175,127,224,254,254, 65,
|
||||
/* 0x0660 */ 32,255,255, 75, 32, 0, 31,129, 20,202, 8,125,120,123,227,125,
|
||||
/* 0x0670 */ 120,139, 36,126, 3, 0,160, 56, 18, 16,192, 56, 32, 0, 8,121,
|
||||
/* 0x0680 */ 121,250,255, 75, 0, 0, 0, 96, 0, 24,175,127,128,254,254, 65,
|
||||
/* 0x0690 */ 240,254,255, 75, 36, 0, 63,129,120,211, 94,127, 0, 0,137, 47,
|
||||
/* 0x06a0 */ 188,254,158, 65,116,254,255, 75,120,155, 99,126, 16, 1, 33, 56,
|
||||
/* 0x06b0 */ 16, 0, 1,232, 8, 0,129,129,166, 3, 8,124,120,255,225,233,
|
||||
/* 0x06c0 */ 128,255, 1,234,136,255, 33,234,144,255, 65,234,152,255, 97,234,
|
||||
/* 0x06d0 */ 160,255,129,234,168,255,161,234,176,255,193,234,184,255,225,234,
|
||||
/* 0x06e0 */ 192,255, 1,235,200,255, 33,235,208,255, 65,235,216,255, 97,235,
|
||||
/* 0x06f0 */ 224,255,129,235,232,255,161,235,240,255,193,235,248,255,225,235,
|
||||
/* 0x0700 */ 32,129,144,125, 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 3,
|
||||
/* 0x0710 */ 128, 17, 0, 0,166, 2, 8,124, 16, 0, 1,248,216,255, 97,251,
|
||||
/* 0x0720 */ 224,255,129,251,232,255,161,251,240,255,193,251,248,255,225,251,
|
||||
/* 0x0730 */ 49,255, 33,248, 8, 1,129,248,120, 43,191,124,120, 51,222,124,
|
||||
/* 0x0740 */ 120, 59,253,124,120, 67, 28,125,120, 75, 59,125, 24, 0,195, 56,
|
||||
/* 0x0750 */ 120, 0,193,248, 8, 1, 65,233,232,255, 74, 57,112, 0, 65,249,
|
||||
/* 0x0760 */ 136, 0,161,248, 24, 0, 35,129,128, 0, 33,249,144, 0, 65,249,
|
||||
/* 0x0770 */ 152, 0,193,248,112, 0, 97, 56,128, 0,129, 56,120, 59,229,124,
|
||||
/* 0x0780 */ 0, 0,192, 56,217,250,255, 75,120,251,227,127, 0, 0,128, 56,
|
||||
/* 0x0790 */ 144, 0,161, 56,255,255,192, 56,120,219,103,127,120,235,168,127,
|
||||
/* 0x07a0 */ 120,227,137,127,117,252,255, 75,120, 27,124,124, 28, 0, 63, 57,
|
||||
/* 0x07b0 */ 16, 0, 31,129, 0, 0,168, 47, 64, 1,158, 65, 28, 0, 95,129,
|
||||
/* 0x07c0 */ 14, 0,138, 47, 40, 0,158, 65, 0, 0, 64, 57,255,255, 8, 57,
|
||||
/* 0x07d0 */ 32, 0, 8,121, 1, 0, 8, 57,166, 3, 9,125, 8, 1, 0, 72,
|
||||
/* 0x07e0 */ 0, 0, 9,129, 14, 0,136, 47,252, 0,158, 64, 8, 0,105,232,
|
||||
/* 0x07f0 */ 20, 26,105,124, 0, 0,128, 56, 0, 0,160, 56, 37,249,255, 75,
|
||||
/* 0x0800 */ 0, 0, 0, 96,120, 27,125,124, 0, 0,131, 47, 48, 0,220, 65,
|
||||
/* 0x0810 */ 0, 0,128, 59,254,202, 96, 63,190,186,123, 99,120,235,163,127,
|
||||
/* 0x0820 */ 120,251,228,127,120,243,197,127,120,227,134,127,189,248,255, 75,
|
||||
/* 0x0830 */ 0, 0, 0, 96, 0, 24,190,127, 16, 0,254, 65,127, 0, 96, 56,
|
||||
/* 0x0840 */ 209,248,255, 75, 0, 0, 0, 96, 0, 0, 63,129, 0,216,137,127,
|
||||
/* 0x0850 */ 96, 0,158, 64, 8, 0, 63, 57, 4, 0, 95,129, 0, 0,170, 47,
|
||||
/* 0x0860 */ 80, 0,158, 65, 8, 0, 31,129, 18, 0,136, 47, 28, 0,158, 64,
|
||||
/* 0x0870 */ 16, 0, 0, 72, 0, 0, 73,129, 18, 0,138, 47, 40, 0,158, 64,
|
||||
/* 0x0880 */ 8, 0,137,131,152,255,255, 75,255,255, 74, 57, 32, 0, 74,121,
|
||||
/* 0x0890 */ 100, 23, 72,121,228, 38, 74,121, 20, 82, 8,125, 28, 0, 8, 57,
|
||||
/* 0x08a0 */ 20, 66, 31,125, 20, 0, 41, 57, 64, 64,169,127,200,255,158, 64,
|
||||
/* 0x08b0 */ 120,251,227,127,120,227,132,127, 0, 0,160, 56,120,235,166,127,
|
||||
/* 0x08c0 */ 0, 0,224, 56, 0, 0, 0, 57, 0, 0, 32, 57, 77,251,255, 75,
|
||||
/* 0x08d0 */ 120, 27,124,124,120,235,163,127, 81,248,255, 75, 0, 0, 0, 96,
|
||||
/* 0x08e0 */ 24, 0, 0, 72, 1, 0, 74, 57, 32, 0, 74,121, 4, 0, 9,129,
|
||||
/* 0x08f0 */ 20, 66, 41,125,236,254, 0, 66,120,227,131,127,208, 0, 33, 56,
|
||||
/* 0x0900 */ 16, 0, 1,232,166, 3, 8,124,216,255, 97,235,224,255,129,235,
|
||||
/* 0x0910 */ 232,255,161,235,240,255,193,235,248,255,225,235, 32, 0,128, 78,
|
||||
/* 0x0920 */ 0, 0, 0, 0, 0, 0, 0, 1,128, 5, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0930 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
unsigned char stub_powerpc64_darwin_macho_fold[6520] = {
|
||||
/* 0x0000 */ 124,128, 0, 8, 72, 0, 0,105, 40, 6, 0,208, 76,194, 0, 32,
|
||||
/* 0x0010 */ 84,132,240,191, 77,194, 0, 32, 60, 0, 0, 16,124, 4, 0, 64,
|
||||
/* 0x0020 */ 65,128, 0, 8,124, 4, 3,120, 56,165, 1, 32,124,103, 27,120,
|
||||
/* 0x0030 */ 56, 99,255,252,124,137, 3,166, 72, 0, 0, 28, 85, 96, 2,186,
|
||||
/* 0x0040 */ 124, 3, 0, 80,124, 0, 58, 20, 80, 11, 1,186,145, 99, 0, 0,
|
||||
/* 0x0050 */ 79, 64, 0, 32,133, 99, 0, 4, 85, 96, 85,190,124, 0, 40, 64,
|
||||
/* 0x0060 */ 65,194,255,220, 67, 32,255,240, 78,128, 0, 32, 56, 33, 0,144,
|
||||
/* 0x0070 */ 57, 32, 0, 0,149, 33,255,252,124, 41, 11,120,125, 8, 2,166,
|
||||
/* 0x0080 */ 128,159,255,248,124,100,248, 80,128,195, 0, 24, 40, 6, 8, 0,
|
||||
/* 0x0090 */ 65,129, 0, 8, 56,192, 8, 0,124, 61, 11,120,124, 38, 8, 80,
|
||||
/* 0x00a0 */ 124, 37, 11,120,248, 33,255,113,127,231,251,120, 72, 0, 6,105,
|
||||
/* 0x00b0 */ 127,161,235,120,128, 3, 0, 0,124, 9, 3,166,128, 3, 0,136,
|
||||
/* 0x00c0 */ 124, 15,241, 32,128, 3, 0,140,124, 1, 3,166,128, 3, 0,144,
|
||||
/* 0x00d0 */ 124, 8, 3,166,184,131, 0, 24,128, 3, 0, 8,128, 67, 0, 16,
|
||||
/* 0x00e0 */ 128, 99, 0, 20, 78,128, 4, 32,124,199, 51,120, 56,192, 0, 0,
|
||||
/* 0x00f0 */ 56, 0, 0,153, 72, 0, 0, 16,125, 9, 67,120, 57, 0, 0, 0,
|
||||
/* 0x0100 */ 56, 0, 0,197, 68, 0, 0, 2, 56, 96,255,255, 78,128, 0, 32,
|
||||
/* 0x0110 */ 56, 0, 0, 1, 75,255,255,240, 56, 0, 0, 3, 75,255,255,232,
|
||||
/* 0x0120 */ 56, 0, 0, 5, 75,255,255,224, 56, 0, 0, 6, 75,255,255,216,
|
||||
/* 0x0130 */ 56, 0, 0, 74, 75,255,255,208,249,193,255,112,249,225,255,120,
|
||||
/* 0x0140 */ 250, 1,255,128,250, 33,255,136,250, 65,255,144,250, 97,255,152,
|
||||
/* 0x0150 */ 250,129,255,160,250,161,255,168,250,193,255,176,250,225,255,184,
|
||||
/* 0x0160 */ 251, 1,255,192,251, 33,255,200,251, 65,255,208,251, 97,255,216,
|
||||
/* 0x0170 */ 251,129,255,224,251,161,255,232,251,193,255,240,251,225,255,248,
|
||||
/* 0x0180 */ 248, 1, 0, 16, 78,128, 0, 32,233,193,255,112,233,225,255,120,
|
||||
/* 0x0190 */ 234, 1,255,128,234, 33,255,136,234, 65,255,144,234, 97,255,152,
|
||||
/* 0x01a0 */ 234,129,255,160,234,161,255,168,234,193,255,176,234,225,255,184,
|
||||
/* 0x01b0 */ 235, 1,255,192,235, 33,255,200,235, 65,255,208,235, 97,255,216,
|
||||
/* 0x01c0 */ 235,129,255,224,232, 1, 0, 16,235,161,255,232,124, 8, 3,166,
|
||||
/* 0x01d0 */ 235,193,255,240,235,225,255,248, 78,128, 0, 32,233, 3, 0, 8,
|
||||
/* 0x01e0 */ 233, 67, 0, 0,127,170, 40, 64, 65,220, 0, 40, 57, 37,255,255,
|
||||
/* 0x01f0 */ 57, 72,255,255, 56,132,255,255,125, 40, 74, 20,125, 42, 72, 80,
|
||||
/* 0x0200 */ 125, 41, 3,166, 47,165, 0, 0, 64,158, 0, 32, 72, 0, 0, 40,
|
||||
/* 0x0210 */ 124, 8, 2,166,248, 1, 0, 16,248, 33,255,145, 56, 96, 0,127,
|
||||
/* 0x0220 */ 75,255,254,241, 96, 0, 0, 0,141, 42, 0, 1,157, 36, 0, 1,
|
||||
/* 0x0230 */ 66, 0,255,248,233, 35, 0, 8,125, 41, 42, 20,249, 35, 0, 8,
|
||||
/* 0x0240 */ 233, 35, 0, 0,124,165, 72, 80,248,163, 0, 0, 78,128, 0, 32,
|
||||
/* 0x0250 */ 0, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,124, 8, 2,166,
|
||||
/* 0x0260 */ 248, 1, 0, 16,125,128, 0, 38,251,129,255,224,251,161,255,232,
|
||||
/* 0x0270 */ 251,193,255,240,251,225,255,248,145,129, 0, 8,248, 33,255, 97,
|
||||
/* 0x0280 */ 233, 36, 0, 0, 47,169, 0, 0, 65,158, 1, 92,124,220, 51,120,
|
||||
/* 0x0290 */ 124,189, 43,120,124,159, 35,120,124,126, 27,120, 46, 38, 0, 0,
|
||||
/* 0x02a0 */ 127,195,243,120, 56,129, 0,112, 56,160, 0, 12, 75,255,255, 49,
|
||||
/* 0x02b0 */ 129, 33, 0,112, 47,169, 0, 0, 64,158, 0, 40,129, 33, 0,116,
|
||||
/* 0x02c0 */ 61, 64, 33, 88, 97, 74, 80, 85,127,137, 80, 0, 64,222, 0, 32,
|
||||
/* 0x02d0 */ 233, 62, 0, 0, 47,169, 0, 0, 65,254, 1, 12, 72, 0, 0, 16,
|
||||
/* 0x02e0 */ 128,161, 0,116, 47,165, 0, 0, 64,254, 0, 16, 56, 96, 0,127,
|
||||
/* 0x02f0 */ 75,255,254, 33, 96, 0, 0, 0,127,137, 40, 64, 65,220,255,240,
|
||||
/* 0x0300 */ 233, 95, 0, 0,127,169, 80, 64, 65,221,255,228,127,137, 40, 64,
|
||||
/* 0x0310 */ 64,157, 0,164,145, 33, 0,124,232,126, 0, 8,124,164, 43,120,
|
||||
/* 0x0320 */ 232,191, 0, 8, 56,193, 0,124,136,225, 0,120,248, 65, 0, 40,
|
||||
/* 0x0330 */ 233, 61, 0, 0,233,125, 0, 16,125, 41, 3,166,232, 93, 0, 8,
|
||||
/* 0x0340 */ 78,128, 4, 33,232, 65, 0, 40, 47,163, 0, 0, 64,222,255,160,
|
||||
/* 0x0350 */ 128,129, 0,112,129, 33, 0,124,127,137, 32, 0, 64,222,255,144,
|
||||
/* 0x0360 */ 136,193, 0,121, 47,166, 0, 0, 65,158, 0, 44, 65,146, 0, 40,
|
||||
/* 0x0370 */ 232,127, 0, 8,136,161, 0,122,248, 65, 0, 40,233, 60, 0, 0,
|
||||
/* 0x0380 */ 233,124, 0, 16,125, 41, 3,166,232, 92, 0, 8, 78,128, 4, 33,
|
||||
/* 0x0390 */ 232, 65, 0, 40,129, 1, 0,116,233, 94, 0, 8,125, 74, 66, 20,
|
||||
/* 0x03a0 */ 249, 94, 0, 8,233, 62, 0, 0,125, 40, 72, 80,249, 62, 0, 0,
|
||||
/* 0x03b0 */ 72, 0, 0, 16,127,195,243,120,232,159, 0, 8, 75,255,254, 33,
|
||||
/* 0x03c0 */ 129, 1, 0,112,233, 95, 0, 8,125, 74, 66, 20,249, 95, 0, 8,
|
||||
/* 0x03d0 */ 233, 63, 0, 0,125, 40, 72, 80,249, 63, 0, 0, 47,169, 0, 0,
|
||||
/* 0x03e0 */ 64,158,254,192, 56, 33, 0,160,232, 1, 0, 16,129,129, 0, 8,
|
||||
/* 0x03f0 */ 124, 8, 3,166,235,129,255,224,235,161,255,232,235,193,255,240,
|
||||
/* 0x0400 */ 235,225,255,248,125,144,129, 32, 78,128, 0, 32, 0, 0, 0, 0,
|
||||
/* 0x0410 */ 0, 0, 0, 3,128, 4, 0, 0,124, 8, 2,166,248, 1, 0, 16,
|
||||
/* 0x0420 */ 125,128, 0, 38,249,225,255,120,250, 1,255,128,250, 33,255,136,
|
||||
/* 0x0430 */ 250, 65,255,144,250, 97,255,152,250,129,255,160,250,161,255,168,
|
||||
/* 0x0440 */ 250,193,255,176,250,225,255,184,251, 1,255,192,251, 33,255,200,
|
||||
/* 0x0450 */ 251, 65,255,208,251, 97,255,216,251,129,255,224,251,161,255,232,
|
||||
/* 0x0460 */ 251,193,255,240,251,225,255,248,145,129, 0, 8,248, 33,254,241,
|
||||
/* 0x0470 */ 124,123, 27,120,125, 53, 75,120, 59,227, 0, 28,129, 35, 0, 16,
|
||||
/* 0x0480 */ 47,137, 0, 0, 65,158, 1,140,124,153, 35,120,124,184, 43,120,
|
||||
/* 0x0490 */ 124,215, 51,120,124,244, 59,120,125, 22, 67,120, 59,160, 0, 0,
|
||||
/* 0x04a0 */ 58, 96, 0, 0, 46, 37, 0, 0, 59, 64, 0, 0, 59,128, 0, 0,
|
||||
/* 0x04b0 */ 58, 64, 0, 18,129, 95, 0, 0, 43,138, 0, 1, 64,158, 1, 12,
|
||||
/* 0x04c0 */ 129, 63, 0, 36,249, 33, 0,112,130, 63, 0, 24,250, 33, 0,120,
|
||||
/* 0x04d0 */ 130, 31, 0, 28,126, 17,130, 20,122, 47, 4,228,122, 49, 5, 32,
|
||||
/* 0x04e0 */ 126, 49, 74, 21, 65,130, 1, 52, 64,146, 0, 16, 47,169, 0, 0,
|
||||
/* 0x04f0 */ 65,158, 1, 64, 72, 0, 1, 48,126,231,187,120, 47,169, 0, 0,
|
||||
/* 0x0500 */ 64,158, 1,100, 56,224,255,255, 72, 0, 1, 92,129, 63, 0, 36,
|
||||
/* 0x0510 */ 47,137, 0, 0, 65,158, 0, 40,129, 63, 0, 32, 47,137, 0, 0,
|
||||
/* 0x0520 */ 64,158, 0, 8,249,244, 0, 0,127, 3,195,120, 56,129, 0,112,
|
||||
/* 0x0530 */ 126,197,179,120,126,166,171,120, 75,255,253, 37,127,209, 0,208,
|
||||
/* 0x0540 */ 123,222, 5, 33, 65,130, 0, 24,125, 47,138, 20, 57, 41,255,255,
|
||||
/* 0x0550 */ 127,201, 3,166,159,137, 0, 1, 66, 0,255,252, 47,177, 0, 0,
|
||||
/* 0x0560 */ 65,158, 0, 44,125,227,123,120,126, 36,139,120,232,191, 0, 46,
|
||||
/* 0x0570 */ 75,255,251,193, 96, 0, 0, 0, 47,163, 0, 0, 65,254, 0, 16,
|
||||
/* 0x0580 */ 56, 96, 0,127, 75,255,251,141, 96, 0, 0, 0,127,222,138, 20,
|
||||
/* 0x0590 */ 125,239,242, 20,127,176,120, 64, 64,157, 0, 88,125,227,123,120,
|
||||
/* 0x05a0 */ 124,143,128, 80,128,191, 0, 44, 56,192, 16, 18, 56,224,255,255,
|
||||
/* 0x05b0 */ 127, 72,211,120, 75,255,251, 69, 96, 0, 0, 0,127,175, 24, 0,
|
||||
/* 0x05c0 */ 65,254, 0, 48, 75,255,255,188, 57, 74,255,252, 43,138, 0, 1,
|
||||
/* 0x05d0 */ 65,157, 0, 32,129, 63, 0, 8, 47,137, 0, 1, 64,158, 0, 20,
|
||||
/* 0x05e0 */ 129, 63, 0, 12, 47,137, 0, 40, 64,158, 0, 8, 58,127, 0, 16,
|
||||
/* 0x05f0 */ 57, 93, 0, 1,121, 93, 0, 32,129, 63, 0, 4,127,255, 74, 20,
|
||||
/* 0x0600 */ 129, 59, 0, 16,127,137, 80, 64, 65,157,254,172, 72, 0, 0,156,
|
||||
/* 0x0610 */ 58, 96, 0, 0, 72, 0, 0,148, 64,146, 0,124,127, 94,211,120,
|
||||
/* 0x0620 */ 75,255,255,108,126,231,187,120,126, 70,147,120, 72, 0, 0, 12,
|
||||
/* 0x0630 */ 56,192, 16, 18, 56,224,255,255,129, 31, 0, 32,125, 8,202, 20,
|
||||
/* 0x0640 */ 125,227,123,120,126, 36,139,120, 56,160, 0, 3,121, 8, 0, 32,
|
||||
/* 0x0650 */ 75,255,250,169, 96, 0, 0, 0,127,175, 24, 0, 65,254,254,224,
|
||||
/* 0x0660 */ 75,255,255, 32,129, 31, 0, 32,125, 8,202, 20,125,227,123,120,
|
||||
/* 0x0670 */ 126, 36,139,120, 56,160, 0, 3, 56,192, 16, 18,121, 8, 0, 32,
|
||||
/* 0x0680 */ 75,255,250,121, 96, 0, 0, 0,127,175, 24, 0, 65,254,254,128,
|
||||
/* 0x0690 */ 75,255,254,240,129, 63, 0, 36,127, 94,211,120, 47,137, 0, 0,
|
||||
/* 0x06a0 */ 65,158,254,188, 75,255,254,116,126, 99,155,120, 56, 33, 1, 16,
|
||||
/* 0x06b0 */ 232, 1, 0, 16,129,129, 0, 8,124, 8, 3,166,233,225,255,120,
|
||||
/* 0x06c0 */ 234, 1,255,128,234, 33,255,136,234, 65,255,144,234, 97,255,152,
|
||||
/* 0x06d0 */ 234,129,255,160,234,161,255,168,234,193,255,176,234,225,255,184,
|
||||
/* 0x06e0 */ 235, 1,255,192,235, 33,255,200,235, 65,255,208,235, 97,255,216,
|
||||
/* 0x06f0 */ 235,129,255,224,235,161,255,232,235,193,255,240,235,225,255,248,
|
||||
/* 0x0700 */ 125,144,129, 32, 78,128, 0, 32, 0, 0, 0, 0, 0, 0, 0, 3,
|
||||
/* 0x0710 */ 128, 17, 0, 0,124, 8, 2,166,248, 1, 0, 16,251, 97,255,216,
|
||||
/* 0x0720 */ 251,129,255,224,251,161,255,232,251,193,255,240,251,225,255,248,
|
||||
/* 0x0730 */ 248, 33,255, 49,248,129, 1, 8,124,191, 43,120,124,222, 51,120,
|
||||
/* 0x0740 */ 124,253, 59,120,125, 28, 67,120,125, 59, 75,120, 57, 35, 0, 24,
|
||||
/* 0x0750 */ 249, 33, 0,120,233, 65, 1, 8, 57, 74,255,232,249, 65, 0,112,
|
||||
/* 0x0760 */ 248,161, 0,136,129, 35, 0, 24,249, 33, 0,128,233, 65, 0,112,
|
||||
/* 0x0770 */ 233, 97, 0,120,249, 65, 0,144,249, 97, 0,152, 56, 97, 0,112,
|
||||
/* 0x0780 */ 56,129, 0,128,124,229, 59,120, 56,192, 0, 0, 75,255,250,209,
|
||||
/* 0x0790 */ 127,227,251,120, 56,128, 0, 0, 56,161, 0,144, 56,192,255,255,
|
||||
/* 0x07a0 */ 127,103,219,120,127,168,235,120,127,137,227,120, 75,255,252,109,
|
||||
/* 0x07b0 */ 124,124, 27,120, 57, 63, 0, 28,129, 31, 0, 16, 47,168, 0, 0,
|
||||
/* 0x07c0 */ 65,158, 1, 64,129, 95, 0, 28, 47,138, 0, 14, 65,158, 0, 40,
|
||||
/* 0x07d0 */ 57, 64, 0, 0, 57, 8,255,255,121, 8, 0, 32, 57, 8, 0, 1,
|
||||
/* 0x07e0 */ 125, 9, 3,166, 72, 0, 1, 8,129, 9, 0, 0, 47,136, 0, 14,
|
||||
/* 0x07f0 */ 64,158, 0,252,232,105, 0, 8,124,105, 26, 20, 56,128, 0, 0,
|
||||
/* 0x0800 */ 56,160, 0, 0, 75,255,249, 29, 96, 0, 0, 0,124,125, 27,120,
|
||||
/* 0x0810 */ 47,131, 0, 0, 65,220, 0, 48, 59,128, 0, 0, 63, 96,202,254,
|
||||
/* 0x0820 */ 99,123,186,190,127,163,235,120,127,228,251,120,127,197,243,120,
|
||||
/* 0x0830 */ 127,134,227,120, 75,255,248,181, 96, 0, 0, 0,127,190, 24, 0,
|
||||
/* 0x0840 */ 65,254, 0, 16, 56, 96, 0,127, 75,255,248,201, 96, 0, 0, 0,
|
||||
/* 0x0850 */ 129, 63, 0, 0,127,137,216, 0, 64,158, 0, 96, 57, 63, 0, 8,
|
||||
/* 0x0860 */ 129, 95, 0, 4, 47,170, 0, 0, 65,158, 0, 80,129, 31, 0, 8,
|
||||
/* 0x0870 */ 47,136, 0, 18, 64,158, 0, 28, 72, 0, 0, 16,129, 73, 0, 0,
|
||||
/* 0x0880 */ 47,138, 0, 18, 64,158, 0, 40,131,137, 0, 8, 75,255,255,152,
|
||||
/* 0x0890 */ 57, 74,255,255,121, 74, 0, 32,121, 72, 23,100,121, 74, 38,228,
|
||||
/* 0x08a0 */ 125, 8, 82, 20, 57, 8, 0, 28,125, 31, 66, 20, 57, 41, 0, 20,
|
||||
/* 0x08b0 */ 127,169, 64, 64, 64,158,255,200,127,227,251,120,127,132,227,120,
|
||||
/* 0x08c0 */ 56,160, 0, 0,127,166,235,120, 56,224, 0, 0, 57, 0, 0, 0,
|
||||
/* 0x08d0 */ 57, 32, 0, 0, 75,255,251, 69,124,124, 27,120,127,163,235,120,
|
||||
/* 0x08e0 */ 75,255,248, 73, 96, 0, 0, 0, 72, 0, 0, 24, 57, 74, 0, 1,
|
||||
/* 0x08f0 */ 121, 74, 0, 32,129, 9, 0, 4,125, 41, 66, 20, 66, 0,254,236,
|
||||
/* 0x0900 */ 127,131,227,120, 56, 33, 0,208,232, 1, 0, 16,124, 8, 3,166,
|
||||
/* 0x0910 */ 235, 97,255,216,235,129,255,224,235,161,255,232,235,193,255,240,
|
||||
/* 0x0920 */ 235,225,255,248, 78,128, 0, 32, 0, 0, 0, 0, 0, 0, 0, 1,
|
||||
/* 0x0930 */ 128, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0940 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0950 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x0960 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
@@ -439,8 +439,9 @@ unsigned char stub_powerpc64le_darwin_macho_fold[6512] = {
|
||||
/* 0x1900 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1910 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1920 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
/* 0x1930 */ 220,129, 4, 8, 0, 0, 0, 0, 0, 25, 5, 8, 0, 0, 0, 0,
|
||||
/* 0x1940 */ 92,130, 4, 8, 0, 0, 0, 0, 0, 25, 5, 8, 0, 0, 0, 0,
|
||||
/* 0x1950 */ 24,132, 4, 8, 0, 0, 0, 0, 0, 25, 5, 8, 0, 0, 0, 0,
|
||||
/* 0x1960 */ 20,135, 4, 8, 0, 0, 0, 0, 0, 25, 5, 8, 0, 0, 0, 0
|
||||
/* 0x1930 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 4,129,220,
|
||||
/* 0x1940 */ 0, 0, 0, 0, 8, 5, 25, 0, 0, 0, 0, 0, 8, 4,130, 92,
|
||||
/* 0x1950 */ 0, 0, 0, 0, 8, 5, 25, 0, 0, 0, 0, 0, 8, 4,132, 24,
|
||||
/* 0x1960 */ 0, 0, 0, 0, 8, 5, 25, 0, 0, 0, 0, 0, 8, 4,135, 20,
|
||||
/* 0x1970 */ 0, 0, 0, 0, 8, 5, 25, 0
|
||||
};
|
||||
@@ -1,2 +1,354 @@
|
||||
#define BIG_ENDIAN 1
|
||||
#include "powerpc64le-darwin.dylib-entry.S"
|
||||
/*
|
||||
* powerpc64le-darwin.dylib-entry.S -- program entry point & decompress (PowerPC64 dylib)
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 2005-2021 John F. Reiser
|
||||
* 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.
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BIG_ENDIAN //{
|
||||
#define BIG_ENDIAN 1 /* Apple on PowerPC* is BIG_ENDIAN */
|
||||
#endif //}
|
||||
NBPW= 8 // Number of Bytes Per Word
|
||||
|
||||
#include "arch/powerpc/64le/macros.S"
|
||||
#include "arch/powerpc/64le/ppc_regs.h"
|
||||
|
||||
/*************************************************************************
|
||||
// We have been CALLed as a subroutine from dyld; C-language rules apply.
|
||||
// -4*4+_start: .long offset(user_init_function)
|
||||
// -3*4+_start: .long offset(b_info of compressed Mach_headers)
|
||||
// -2*4+_start: .long length(compressed __TEXT)
|
||||
// -1*4+_start: .long 8+ total_length # 8+ number of preceding bytes in file
|
||||
**************************************************************************/
|
||||
|
||||
section MACOS000
|
||||
_start: .globl _start
|
||||
mflr r2
|
||||
call main # must be exactly 1 instruction; link_register= &decompress
|
||||
decompress:
|
||||
section NRV_HEAD
|
||||
SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
|
||||
/* PowerPC has no 'cmplis': compare logical [unsigned] immediate shifted [by 16] */
|
||||
#define hibit r0 /* holds 0x80000000 during decompress */
|
||||
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/powerpc/64le/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/powerpc/64le/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/powerpc/64le/nrv2b_d.S"
|
||||
|
||||
#include "arch/powerpc/64le/lzma_d.S"
|
||||
|
||||
#undef off
|
||||
#undef len
|
||||
#undef bits
|
||||
#undef disp
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
ld dst0,0(ldst) // original dst
|
||||
mtlr t3 // return address
|
||||
subf a0,lsrc,src
|
||||
subf tmp,dst0,dst // -1+ dst length
|
||||
addi a0,a0,1 // return 0: good; else: bad [+1: correct for lbzu]
|
||||
addi tmp,tmp,1 // dst length
|
||||
std tmp,0(ldst)
|
||||
#undef tmp
|
||||
|
||||
// CACHELINE=32 is the observed minimum line size of any cache.
|
||||
// Some caches may have larger lines, but it is cumbersome to lookup
|
||||
// {AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE: /usr/include/elf.h},
|
||||
// then save the correct size in a variable {where to put it?}, or to modify
|
||||
// the two instructions here. If a cache has larger lines, then we expect
|
||||
// that the second dcbst (or icbi) on a the same line will be fast.
|
||||
// If not, then too bad.
|
||||
|
||||
section CFLUSH // In: a2=dst= &highest stored byte; a4=dst0= &lowest stored byte
|
||||
CACHELINE=32
|
||||
ori dst0,dst0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,dst0 // initiate store (modified) cacheline to memory
|
||||
cmpld cr0,dst0,dst // did we cover the highest-addressed byte?
|
||||
icbi 0,dst0 // discard instructions from cacheline
|
||||
addi dst0,dst0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
#undef dst0
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
ret
|
||||
|
||||
section ELFMAINY
|
||||
// IDENTSTR goes here
|
||||
|
||||
section ELFMAINZ
|
||||
sz_l_info= 12
|
||||
sz_p_info= 12
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
b_ftid= 9
|
||||
b_cto8= 10
|
||||
|
||||
// register numbers during entry
|
||||
#define f_unc 31
|
||||
#define f_uini 30
|
||||
#define l_unm 29
|
||||
#define a_unm 28
|
||||
#define r_unc 27
|
||||
#define r_cpr 26
|
||||
#define s_unc 25
|
||||
#define s_cpr 24
|
||||
#define l_unc 23
|
||||
#define l_cpr 22
|
||||
#define t_h 21 /* temporary */
|
||||
|
||||
PROT_NONE =0x00
|
||||
PROT_READ =0x01
|
||||
PROT_WRITE =0x02
|
||||
PROT_EXEC =0x04
|
||||
|
||||
MAP_SHARED =0x1
|
||||
MAP_PRIVATE =0x2
|
||||
MAP_ANON =0x1000
|
||||
|
||||
SYS_mmap =197
|
||||
SYS_munmap= 73
|
||||
SYS_mprotect= 74
|
||||
|
||||
main2:
|
||||
//teq r0,r0 // debugging
|
||||
stdu r2,-8*(1+ 32-a0)(sp) # retaddr
|
||||
// stmw a0,4*1(sp)
|
||||
std 3,3*8-8*2(sp)
|
||||
std 4,4*8-8*2(sp)
|
||||
std 5,5*8-8*2(sp)
|
||||
std 6,6*8-8*2(sp)
|
||||
std 7,7*8-8*2(sp)
|
||||
std 8,8*8-8*2(sp)
|
||||
std 9,9*8-8*2(sp)
|
||||
std 10,10*8-8*2(sp)
|
||||
std 11,11*8-8*2(sp)
|
||||
std 12,12*8-8*2(sp)
|
||||
std 13,13*8-8*2(sp)
|
||||
std 14,14*8-8*2(sp)
|
||||
std 15,15*8-8*2(sp)
|
||||
std 16,16*8-8*2(sp)
|
||||
std 17,17*8-8*2(sp)
|
||||
std 18,18*8-8*2(sp)
|
||||
std 19,19*8-8*2(sp)
|
||||
std 20,20*8-8*2(sp)
|
||||
std 21,21*8-8*2(sp)
|
||||
std 22,22*8-8*2(sp)
|
||||
std 23,23*8-8*2(sp)
|
||||
std 24,24*8-8*2(sp)
|
||||
std 25,25*8-8*2(sp)
|
||||
std 26,26*8-8*2(sp)
|
||||
std 27,27*8-8*2(sp)
|
||||
std 28,28*8-8*2(sp)
|
||||
std 29,29*8-8*2(sp)
|
||||
std 30,30*8-8*2(sp)
|
||||
std 31,31*8-8*2(sp)
|
||||
|
||||
mflr f_unc # f_unc= &decompress
|
||||
lwz t_h, -4*1(f_unc) # "call main" at _start
|
||||
lwz l_unm,-4*1+ _start - decompress(f_unc) # 4+ offset(_start)
|
||||
rlwinm t_h,t_h,0,6,29 # 4+ main - decompress
|
||||
add l_unm,l_unm,t_h # offset(main); ASSUMES (8+_start)==decompress
|
||||
addi t_h,t_h,-4 # main - decompress
|
||||
|
||||
li a0,0 # addr
|
||||
mr a1,l_unm # length for munmap
|
||||
li a2,PROT_READ|PROT_WRITE
|
||||
li a3,MAP_ANON|MAP_PRIVATE
|
||||
li a4,-1
|
||||
li a5,0 # hi32(offset)
|
||||
li a6,0 # lo32(offset)
|
||||
li 0,SYS_mmap
|
||||
sc
|
||||
li a0,-1 # failure
|
||||
mr a_unm,a0 # address for munmap
|
||||
|
||||
|
||||
li a2,main - movup2
|
||||
mtctr a2
|
||||
add a1,a0 ,l_unm # lwa(dst); new_page + offset(main)
|
||||
add a0,t_h,f_unc # lwa(src); &main
|
||||
movup1: # descending copy [moveup2, main)
|
||||
lbzu r0,-1(a0)
|
||||
stbu r0,-1(a1)
|
||||
bdnz+ movup1
|
||||
|
||||
subf a2,a2,l_unm # offset(movup2)
|
||||
mtlr a1 # &copied movup2
|
||||
mtctr a2 # offset(movup2)
|
||||
blr # goto the copied code
|
||||
|
||||
movup2: # descending copy [base, movup2)
|
||||
lbzu r0,-1(a0)
|
||||
stbu r0,-1(a1)
|
||||
bdnz+ movup2
|
||||
|
||||
lwz f_uini,-4*4+ _start - decompress(f_unc) # offset(user_init_fn)
|
||||
subf f_unc,a0,f_unc
|
||||
add f_unc,a1,f_unc # relocated decompress
|
||||
add f_uini,f_uini,a0
|
||||
|
||||
lwz t1,-4*3+ _start - decompress(f_unc) # offset(b_info)
|
||||
add r_cpr,a1,t1 # &b_info
|
||||
add r_unc,a0,t1 # &b_info
|
||||
addi r_unc,r_unc,-sz_l_info -sz_p_info
|
||||
|
||||
// skip compressed Mach headers
|
||||
lwz t1,sz_cpr(r_cpr)
|
||||
addi r_cpr,r_cpr,sz_b_info
|
||||
add r_cpr,r_cpr,t1
|
||||
dy_uncpr:
|
||||
mr s_cpr,r_cpr
|
||||
mr s_unc,r_unc
|
||||
addi a0,r_cpr,sz_unc
|
||||
call get4; beq dy_done
|
||||
add r_unc,r_unc,a0
|
||||
mr l_unc,a0
|
||||
addi a0,r_cpr,sz_cpr
|
||||
call get4
|
||||
add r_cpr,r_cpr,a0
|
||||
mr l_cpr,a0
|
||||
addi r_cpr,r_cpr,sz_b_info
|
||||
|
||||
stdu l_unc,-8(sp) # keep stack 8-byte aligned
|
||||
mtlr f_unc
|
||||
addi a0,s_cpr,sz_b_info # src
|
||||
mr a1,l_cpr
|
||||
mr a2,s_unc # dst
|
||||
mr a3,sp # &l_dst
|
||||
lbz a4,b_method(s_cpr)
|
||||
stdu sp,-SZ_FRAME(sp)
|
||||
blrl # uncompress
|
||||
la sp,8+SZ_FRAME(sp)
|
||||
// FIXME: check status
|
||||
|
||||
lbz a3,b_ftid(s_cpr)
|
||||
cmplwi cr0,a3,0
|
||||
beq dy_uncpr
|
||||
lbz a2,b_cto8(s_cpr)
|
||||
ld a1,sz_unc(s_cpr)
|
||||
mr a0,s_unc
|
||||
bl unfilter
|
||||
b dy_uncpr
|
||||
|
||||
dy_done:
|
||||
bl dy_done2
|
||||
dy_done1: # escape hatch
|
||||
sc # munmap
|
||||
li a0,~0 # failure
|
||||
// lmw r0,0(sp)
|
||||
ld 2,2*8-8*2(sp)
|
||||
ld 3,3*8-8*2(sp)
|
||||
ld 4,4*8-8*2(sp)
|
||||
ld 5,5*8-8*2(sp)
|
||||
ld 6,6*8-8*2(sp)
|
||||
ld 7,7*8-8*2(sp)
|
||||
ld 8,8*8-8*2(sp)
|
||||
ld 9,9*8-8*2(sp)
|
||||
ld 10,10*8-8*2(sp)
|
||||
ld 11,11*8-8*2(sp)
|
||||
ld 12,12*8-8*2(sp)
|
||||
ld 13,13*8-8*2(sp)
|
||||
ld 14,14*8-8*2(sp)
|
||||
ld 15,15*8-8*2(sp)
|
||||
ld 16,16*8-8*2(sp)
|
||||
ld 17,17*8-8*2(sp)
|
||||
ld 18,18*8-8*2(sp)
|
||||
ld 19,19*8-8*2(sp)
|
||||
ld 20,20*8-8*2(sp)
|
||||
ld 21,21*8-8*2(sp)
|
||||
ld 22,22*8-8*2(sp)
|
||||
ld 23,23*8-8*2(sp)
|
||||
ld 24,24*8-8*2(sp)
|
||||
ld 25,25*8-8*2(sp)
|
||||
ld 26,26*8-8*2(sp)
|
||||
ld 27,27*8-8*2(sp)
|
||||
ld 28,28*8-8*2(sp)
|
||||
ld 29,29*8-8*2(sp)
|
||||
ld 30,30*8-8*2(sp)
|
||||
ld 31,31*8-8*2(sp)
|
||||
addi sp,sp,8*(32-r0)
|
||||
mtlr r0 # &continuation in dyld
|
||||
bctr # goto user_init_function
|
||||
dy_done2:
|
||||
li r0,(dy_done2 - dy_done1)/4
|
||||
mflr a0
|
||||
la a0,dy_done2 - dy_done1(a0)
|
||||
mtctr r0
|
||||
dy_done3:
|
||||
lwzu r0,-4(a0)
|
||||
stwu r0,-4(s_unc)
|
||||
bdnz+ dy_done3
|
||||
|
||||
mtlr s_unc
|
||||
mtctr f_uini # user_init_function
|
||||
mr a0,a_unm
|
||||
mr a1,l_unm
|
||||
li 0,SYS_munmap
|
||||
blr # goto relocated dy_done1
|
||||
|
||||
get4:
|
||||
lbz t1,3(a0)
|
||||
lbz t2,2(a0)
|
||||
rlwimi t1,t2, 8,16,23
|
||||
lbz t2,1(a0)
|
||||
rlwimi t1,t2,16, 8,15
|
||||
lbz t2,0(a0)
|
||||
rlwimi t1,t2,24, 0, 7
|
||||
mr. a0,t1 # set condition codes
|
||||
blr
|
||||
|
||||
unfilter:
|
||||
#include "arch/powerpc/64le/bxx.S"
|
||||
|
||||
main:
|
||||
b main2
|
||||
dy_top:
|
||||
len_top = dy_top - main
|
||||
|
||||
/* vim:set ts=8 sw=8 et: */
|
||||
|
||||
@@ -1,2 +1,151 @@
|
||||
#define BIG_ENDIAN 1
|
||||
#include "powerpc64le-darwin.macho-entry.S"
|
||||
/*
|
||||
* powerpc64le-darwin.macho-entry.S -- program entry point & decompressor (PowerPC32 Mach-o)
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 2005-2021 John F. Reiser
|
||||
* 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.
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BIG_ENDIAN //{
|
||||
#define BIG_ENDIAN 1 /* Apple on PowerPC* is BIG_ENDIAN */
|
||||
#endif //}
|
||||
NBPW= 8 // Number of Bytes Per Word
|
||||
|
||||
#include "arch/powerpc/64le/macros.S"
|
||||
#include "arch/powerpc/64le/ppc_regs.h"
|
||||
LINKAREA= 6*8
|
||||
|
||||
section MACOS000
|
||||
_start: .globl _start
|
||||
call main # must be exactly 1 instruction; link_register= &decompress
|
||||
|
||||
section NRV_HEAD
|
||||
SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
|
||||
/* PowerPC has no 'cmplis': compare logical [unsigned] immediate shifted [by 16] */
|
||||
#define hibit r0 /* holds 0x80000000 during decompress */
|
||||
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/powerpc/64le/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/powerpc/64le/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/powerpc/64le/nrv2b_d.S"
|
||||
|
||||
#include "arch/powerpc/64le/lzma_d.S"
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
ld dst0,0(ldst) // original dst
|
||||
mtlr t3 // return address
|
||||
subf a0,lsrc,src
|
||||
subf tmp,dst0,dst // -1+ dst length
|
||||
addi a0,a0,1 // return 0: good; else: bad [+1: correct for lbzu]
|
||||
addi tmp,tmp,1 // dst length
|
||||
std tmp,0(ldst)
|
||||
#undef tmp
|
||||
|
||||
// CACHELINE=32 is the observed minimum line size of any cache.
|
||||
// Some caches may have larger lines, but it is cumbersome to lookup
|
||||
// {AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE: /usr/include/elf.h},
|
||||
// then save the correct size in a variable {where to put it?}, or to modify
|
||||
// the two instructions here. If a cache has larger lines, then we expect
|
||||
// that the second dcbst (or icbi) on a the same line will be fast.
|
||||
// If not, then too bad.
|
||||
|
||||
section CFLUSH // In: a2=dst= &highest stored byte; a4=dst0= &lowest stored byte
|
||||
CACHELINE=32
|
||||
ori dst0,dst0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,dst0 // initiate store (modified) cacheline to memory
|
||||
cmpld cr0,dst0,dst // did we cover the highest-addressed byte?
|
||||
icbi 0,dst0 // discard instructions from cacheline
|
||||
addi dst0,dst0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
#undef dst0
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
ret
|
||||
|
||||
section ELFMAINY
|
||||
// IDENTSTR goes here
|
||||
|
||||
section ELFMAINZ
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
|
||||
/* Decompress the rest of this loader, and jump to it. */
|
||||
unfold:
|
||||
mflr t1 # -(L105-L100)+ &{ b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...}
|
||||
//lwz t2,4(t1) // O_BINFO
|
||||
//stdu t2,-8(sp)
|
||||
|
||||
lwz lsrc,L105-L100+sz_cpr(t1)
|
||||
mtctr lsrc # length to copy (and decompress)
|
||||
lwz ldst,L105-L100+sz_unc(t1)
|
||||
lbz meth,L105-L100+b_method(t1)
|
||||
add dst,lsrc,t1
|
||||
addi dst,dst,L105-L100+sz_b_info
|
||||
add src,ldst,t1
|
||||
addi src,src,GAP+64 # defend against prefetch and overlap
|
||||
movup: # descending copy moves folded_loader to higher address
|
||||
lbzu r0,-1(dst)
|
||||
stbu r0,-1(src)
|
||||
bdnz+ movup # typical count is about 0x4cb(1227) bytes
|
||||
|
||||
mtctr r31 # &decompress
|
||||
addi dst,t1,GAP # &unfolded result
|
||||
std ldst,-8(sp) # LZMA needs for EOF
|
||||
la ldst,-8(sp) # &sz_result
|
||||
stdu sp,-SZ_FRAME(sp) // ABI convention (for lzma compiled by gcc)
|
||||
bctr # call decompress: branch to counter register, return to link register
|
||||
|
||||
main:
|
||||
//// teq r0,r0 // debugging
|
||||
mflr r31 # r31= &decompress
|
||||
call unfold
|
||||
L100: GAP= 128 # > farthest_prefetch; must match ../p_mach.cpp
|
||||
b GAP+L100 # 'isync' has trouble on Macintosh G4?
|
||||
.long 0 // O_BINFO
|
||||
L105:
|
||||
/* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */
|
||||
|
||||
/* vim:set ts=8 sw=8 et: */
|
||||
|
||||
@@ -1,2 +1,136 @@
|
||||
#define BIG_ENDIAN 1
|
||||
#include "powerpc64le-darwin.macho-fold.S"
|
||||
/* powerpc-darwin.macho-fold.S -- linkage to C code to process Mach-o binary
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 1996-2021 Markus Franz Xaver Johannes Oberhumer
|
||||
* Copyright (C) 1996-2021 Laszlo Molnar
|
||||
* Copyright (C) 2000-2021 John F. Reiser
|
||||
* 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
|
||||
* <markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "arch/powerpc/64le/macros.S"
|
||||
#include "arch/powerpc/64le/ppc_regs.h"
|
||||
retaddr = 2*8
|
||||
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
|
||||
sz_l_info= 12
|
||||
sz_p_info= 12
|
||||
|
||||
/* Mach_ppc_thread_state */
|
||||
srr0 = 0*4
|
||||
srr1 = 1*4
|
||||
reg0 = 2*4
|
||||
|
||||
reg_cr = 34*4
|
||||
reg_xer = 35*4
|
||||
reg_lr = 36*4
|
||||
reg_ctr = 37*4
|
||||
reg_mq = 38*4
|
||||
reg_vrsave = 39*4
|
||||
|
||||
|
||||
_start: .globl _start # ignored, but silence "cannot find entry symbol _start" from ld
|
||||
/* In:
|
||||
r31= &decompress; also 8+ (char *)&(offset to {l_info; p_info; b_info})
|
||||
*/
|
||||
fold_begin:
|
||||
teq r0,r0 // this code has not been converted to 64-bit!!
|
||||
call L90
|
||||
#include "arch/powerpc/32/bxx.S"
|
||||
|
||||
L90:
|
||||
la sp,SZ_FRAME(sp) // trim save area used by decompressor
|
||||
li a6,0
|
||||
stwu a6,-4(sp) # _push_ default value for dyld
|
||||
movr a6,sp # &mhdrp
|
||||
mflr a5 # &ppcbxx: f_unfilter
|
||||
|
||||
lwz a1,-8(r31) # offset to {l_info; p_info; b_info}
|
||||
subf a0,a1,r31 # &l_info
|
||||
lwz a3,sz_unc+sz_p_info+sz_l_info(a0) # sz_mach_headers
|
||||
cmplwi cr0,a3,2048; bgt L100; li a3,2048 # at least 2 KiB for /usr/lib/dyld
|
||||
L100:
|
||||
movr r29,sp # remember for restoring later
|
||||
subf sp,a3,sp # alloca
|
||||
movr a2,sp # &temp char[sz_mach_headers]
|
||||
stdu sp,-SZ_FRAME(sp) # ABI convention
|
||||
movr a4,r31 # f_decompress
|
||||
call upx_main # Out: a0= &Mach_ppc_thread_state of dyld
|
||||
|
||||
movr sp,r29 # restore stack pointer
|
||||
lwz r0, srr0(a0); mtctr r0 # entry address
|
||||
/* Next 3 lines probably are not needed, but ... */
|
||||
lwz r0, reg_cr(a0); mtcr r0 # condition code
|
||||
lwz r0,reg_xer(a0); mtxer r0 # extended error reg (CArry, etc.)
|
||||
lwz r0, reg_lr(a0); mtlr r0 # link register
|
||||
|
||||
lmw 4,4*4+reg0(3) # reg 4 thru 31
|
||||
lwz 0,0*4+reg0(3)
|
||||
lwz 2,2*4+reg0(3)
|
||||
lwz 3,3*4+reg0(3)
|
||||
bctr # goto dyld
|
||||
|
||||
SYS_exit =1
|
||||
SYS_fork =2
|
||||
SYS_read =3
|
||||
SYS_write =4
|
||||
SYS_open =5
|
||||
SYS_close =6
|
||||
|
||||
SYS_pread =153
|
||||
SYS_mmap =197
|
||||
SYS_mprotect= 74
|
||||
|
||||
/* SYS_mmap takes a 64-bit off_t, but gcc-3.4.1-20040827 passes long long
|
||||
in wrong registers. So change C interface to use size_t (32-bits) instead
|
||||
of off_t (64 bits), and convert here.
|
||||
*/
|
||||
pread: .globl pread
|
||||
movr a4,a3; li a3,0 # zero extend 4th arg size_t to off_t
|
||||
li 0,SYS_pread; b sysgo
|
||||
mmap: .globl mmap
|
||||
movr a6,a5; li a5,0 # zero extend 6th arg size_t to off_t
|
||||
li 0,SYS_mmap
|
||||
sysgo:
|
||||
sc
|
||||
li a0,-1 # failure return
|
||||
ret
|
||||
|
||||
exit: .globl exit
|
||||
li 0,SYS_exit; b sysgo
|
||||
read: .globl read
|
||||
li 0,SYS_read; b sysgo
|
||||
open: .globl open
|
||||
li 0,SYS_open; b sysgo
|
||||
close: .globl close
|
||||
li 0,SYS_close; b sysgo
|
||||
mprotect: .globl mprotect
|
||||
li 0,SYS_mprotect; b sysgo
|
||||
|
||||
#include "powerpc64-savegpr0.S"
|
||||
|
||||
/* vim:set ts=8 sw=8 et: */
|
||||
|
||||
@@ -1,2 +1,457 @@
|
||||
#define BIG_ENDIAN 1
|
||||
#include "powerpc64le-darwin.macho-main.c"
|
||||
/* powerpc64le-darwin.macho-main.c -- loader stub for Mach-o PowerPC64LE
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2021 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2021 Laszlo Molnar
|
||||
Copyright (C) 2000-2021 John F. Reiser
|
||||
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
|
||||
<markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define __WORDSIZE 64
|
||||
#include "include/darwin.h"
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// configuration section
|
||||
**************************************************************************/
|
||||
|
||||
// In order to make it much easier to move this code at runtime and execute
|
||||
// it at an address different from it load address: there must be no
|
||||
// static data, and no string constants.
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// "file" util
|
||||
**************************************************************************/
|
||||
|
||||
typedef struct {
|
||||
size_t size; // must be first to match size[0] uncompressed size
|
||||
char *buf;
|
||||
} Extent;
|
||||
|
||||
|
||||
static void
|
||||
xread(Extent *x, char *buf, size_t count)
|
||||
{
|
||||
char *p=x->buf, *q=buf;
|
||||
size_t j;
|
||||
if (x->size < count) {
|
||||
exit(127);
|
||||
}
|
||||
for (j = count; 0!=j--; ++p, ++q) {
|
||||
*q = *p;
|
||||
}
|
||||
x->buf += count;
|
||||
x->size -= count;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// util
|
||||
**************************************************************************/
|
||||
|
||||
#if 1 //{ save space
|
||||
#define ERR_LAB error: exit(127);
|
||||
#define err_exit(a) goto error
|
||||
#else //}{ save debugging time
|
||||
#define ERR_LAB /*empty*/
|
||||
static void
|
||||
err_exit(int a)
|
||||
{
|
||||
(void)a; // debugging convenience
|
||||
exit(127);
|
||||
}
|
||||
#endif //}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// UPX & NRV stuff
|
||||
**************************************************************************/
|
||||
|
||||
struct l_info { // 12-byte trailer for loader (after macho headers)
|
||||
unsigned l_checksum;
|
||||
unsigned l_magic; // UPX_MAGIC_LE32
|
||||
unsigned short l_lsize;
|
||||
unsigned char l_version;
|
||||
unsigned char l_format;
|
||||
};
|
||||
struct p_info { // 12-byte packed program header
|
||||
unsigned p_progid;
|
||||
unsigned p_filesize;
|
||||
unsigned p_blocksize;
|
||||
};
|
||||
|
||||
struct b_info { // 12-byte header before each compressed block
|
||||
unsigned sz_unc; // uncompressed_size
|
||||
unsigned sz_cpr; // compressed_size
|
||||
unsigned char b_method; // compression algorithm
|
||||
unsigned char b_ftid; // filter id
|
||||
unsigned char b_cto8; // filter parameter
|
||||
unsigned char b_unused;
|
||||
};
|
||||
|
||||
typedef void f_unfilter(
|
||||
nrv_byte *, // also addvalue
|
||||
nrv_uint,
|
||||
unsigned cto8, // junk in high 24 bits
|
||||
unsigned ftid
|
||||
);
|
||||
typedef int f_expand(
|
||||
const nrv_byte *, nrv_uint,
|
||||
nrv_byte *, nrv_uint *, unsigned );
|
||||
|
||||
static void
|
||||
unpackExtent(
|
||||
Extent *const xi, // input
|
||||
Extent *const xo, // output
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *f_unf
|
||||
)
|
||||
{
|
||||
while (xo->size) {
|
||||
struct b_info h;
|
||||
// Note: if h.sz_unc == h.sz_cpr then the block was not
|
||||
// compressible and is stored in its uncompressed form.
|
||||
|
||||
// Read and check block sizes.
|
||||
xread(xi, (char *)&h, sizeof(h));
|
||||
if (h.sz_unc == 0) { // uncompressed size 0 -> EOF
|
||||
if (h.sz_cpr != UPX_MAGIC_LE32) // h.sz_cpr must be h->magic
|
||||
err_exit(2);
|
||||
if (xi->size != 0) // all bytes must be written
|
||||
err_exit(3);
|
||||
break;
|
||||
}
|
||||
if (h.sz_cpr <= 0) {
|
||||
err_exit(4);
|
||||
ERR_LAB
|
||||
}
|
||||
if (h.sz_cpr > h.sz_unc
|
||||
|| h.sz_unc > xo->size ) {
|
||||
err_exit(5);
|
||||
}
|
||||
// Now we have:
|
||||
// assert(h.sz_cpr <= h.sz_unc);
|
||||
// assert(h.sz_unc > 0 && h.sz_unc <= blocksize);
|
||||
// assert(h.sz_cpr > 0 && h.sz_cpr <= blocksize);
|
||||
|
||||
if (h.sz_cpr < h.sz_unc) { // Decompress block
|
||||
nrv_uint out_len = h.sz_unc; // EOF for lzma
|
||||
int const j = (*f_decompress)((const unsigned char *)xi->buf, h.sz_cpr,
|
||||
(unsigned char *)xo->buf, &out_len, h.b_method);
|
||||
if (j != 0 || out_len != (nrv_uint)h.sz_unc)
|
||||
err_exit(7);
|
||||
if (h.b_ftid!=0 && f_unf) { // have filter
|
||||
(*f_unf)((unsigned char *)xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
}
|
||||
xi->buf += h.sz_cpr;
|
||||
xi->size -= h.sz_cpr;
|
||||
}
|
||||
else { // copy literal block
|
||||
xread(xi, xo->buf, h.sz_cpr);
|
||||
}
|
||||
xo->buf += h.sz_unc;
|
||||
xo->size -= h.sz_unc;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
upx_bzero(char *p, size_t len)
|
||||
{
|
||||
if (len) do {
|
||||
*p++= 0;
|
||||
} while (--len);
|
||||
}
|
||||
#define bzero upx_bzero
|
||||
|
||||
|
||||
// The PF_* and PROT_* bits are {1,2,4}; the conversion table fits in 32 bits.
|
||||
#define REP8(x) \
|
||||
((x)|((x)<<4)|((x)<<8)|((x)<<12)|((x)<<16)|((x)<<20)|((x)<<24)|((x)<<28))
|
||||
#define EXP8(y) \
|
||||
((1&(y)) ? 0xf0f0f0f0 : (2&(y)) ? 0xff00ff00 : (4&(y)) ? 0xffff0000 : 0)
|
||||
#define PF_TO_PROT(pf) \
|
||||
((PROT_READ|PROT_WRITE|PROT_EXEC) & ( \
|
||||
( (REP8(PROT_EXEC ) & EXP8(PF_X)) \
|
||||
|(REP8(PROT_READ ) & EXP8(PF_R)) \
|
||||
|(REP8(PROT_WRITE) & EXP8(PF_W)) \
|
||||
) >> ((pf & (PF_R|PF_W|PF_X))<<2) ))
|
||||
|
||||
typedef struct {
|
||||
unsigned magic;
|
||||
unsigned nfat_arch;
|
||||
} Fat_header;
|
||||
typedef struct {
|
||||
unsigned cputype;
|
||||
unsigned cpusubtype;
|
||||
unsigned offset;
|
||||
unsigned size;
|
||||
unsigned align; /* power of 2 */
|
||||
} Fat_arch;
|
||||
enum e8 {
|
||||
FAT_MAGIC = 0xcafebabe
|
||||
};
|
||||
enum e9 {
|
||||
CPU_TYPE_I386 = 7,
|
||||
CPU_TYPE_POWERPC = 0x00000012,
|
||||
CPU_TYPE_POWERPC64 = 0x01000012
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned magic;
|
||||
unsigned cputype;
|
||||
unsigned cpysubtype;
|
||||
unsigned filetype;
|
||||
unsigned ncmds;
|
||||
unsigned sizeofcmds;
|
||||
unsigned flags;
|
||||
} Mach_header;
|
||||
enum e0 {
|
||||
MH_MAGIC = 0xfeedface
|
||||
};
|
||||
enum e2 {
|
||||
MH_EXECUTE = 2
|
||||
};
|
||||
enum e3 {
|
||||
MH_NOUNDEFS = 1
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd;
|
||||
unsigned cmdsize;
|
||||
} Mach_load_command;
|
||||
enum e4 {
|
||||
LC_SEGMENT = 0x1,
|
||||
LC_THREAD = 0x4,
|
||||
LC_UNIXTHREAD = 0x5,
|
||||
LC_LOAD_DYLINKER = 0xe
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd;
|
||||
unsigned cmdsize;
|
||||
char segname[16];
|
||||
unsigned vmaddr;
|
||||
unsigned vmsize;
|
||||
unsigned fileoff;
|
||||
unsigned filesize;
|
||||
unsigned maxprot;
|
||||
unsigned initprot;
|
||||
unsigned nsects;
|
||||
unsigned flags;
|
||||
} Mach_segment_command;
|
||||
enum e5 {
|
||||
VM_PROT_READ = 1,
|
||||
VM_PROT_WRITE = 2,
|
||||
VM_PROT_EXECUTE = 4
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned srr0; /* Instruction address register (PC; entry addr) */
|
||||
unsigned srr1; /* Machine state register (supervisor) */
|
||||
unsigned r0, r1, r2, r3, r4, r5, r6, r7;
|
||||
unsigned r8, r9,r10,r11,r12,r13,r14,r15;
|
||||
unsigned r16,r17,r18,r19,r20,r21,r22,r23;
|
||||
unsigned r24,r25,r26,r27,r28,r29,r30,r31;
|
||||
|
||||
unsigned cr; /* Condition register */
|
||||
unsigned xer; /* User's integer exception register */
|
||||
unsigned lr; /* Link register */
|
||||
unsigned ctr; /* Count register */
|
||||
unsigned mq; /* MQ register (601 only) */
|
||||
|
||||
unsigned vrsave; /* Vector Save Register */
|
||||
} Mach_ppcle_thread_state64;
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd; /* LC_THREAD or LC_UNIXTHREAD */
|
||||
unsigned cmdsize; /* total size of this command */
|
||||
unsigned flavor;
|
||||
unsigned count; /* sizeof(following_thread_state)/4 */
|
||||
Mach_ppcle_thread_state64 state;
|
||||
} Mach_thread_command;
|
||||
enum e6 {
|
||||
PPC_THREAD_STATE = 1
|
||||
};
|
||||
enum e7 {
|
||||
PPC_THREAD_STATE_COUNT = sizeof(Mach_ppcle_thread_state64)/4
|
||||
};
|
||||
|
||||
typedef union {
|
||||
unsigned long offset; /* from start of load command to string */
|
||||
char *ptr;
|
||||
} Mach_lc_str;
|
||||
|
||||
#define MAP_FIXED 0x10
|
||||
#define MAP_PRIVATE 0x02
|
||||
#define MAP_ANON 0x1000
|
||||
#define PROT_READ 1
|
||||
#define PROT_WRITE 2
|
||||
#define PROT_EXEC 4
|
||||
|
||||
/* bug in crosstool/powerpc-750-linux-gnu/gcc-3.4.1-glibc-20040827:
|
||||
unsigned long long off_t goes into registers (9,10) instead of (8,9).
|
||||
Adjust in mmap(), pread(), and include/darwin.h .
|
||||
*/
|
||||
extern char *mmap(char *, size_t, unsigned, unsigned, int, off_t_upx_stub);
|
||||
ssize_t pread(int, void *, size_t, off_t_upx_stub);
|
||||
|
||||
static Mach_ppcle_thread_state64 const *
|
||||
do_xmap(
|
||||
Mach_header const *const mhdr,
|
||||
off_t_upx_stub const fat_offset,
|
||||
Extent *const xi,
|
||||
int const fdi,
|
||||
Mach_header **mhdrpp,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf
|
||||
)
|
||||
{
|
||||
Mach_segment_command const *sc = (Mach_segment_command const *)(1+ mhdr);
|
||||
Mach_ppcle_thread_state64 const *entry = 0;
|
||||
unsigned j;
|
||||
|
||||
for ( j=0; j < mhdr->ncmds; ++j,
|
||||
(sc = (Mach_segment_command const *)(void const *)(sc->cmdsize + (char const *)sc))
|
||||
) if (LC_SEGMENT==sc->cmd) {
|
||||
Extent xo;
|
||||
size_t mlen = xo.size = sc->filesize;
|
||||
char *addr = xo.buf = (char *)(long)sc->vmaddr;
|
||||
char *haddr = sc->vmsize + addr;
|
||||
size_t frag = (long)addr &~ PAGE_MASK;
|
||||
addr -= frag;
|
||||
mlen += frag;
|
||||
|
||||
if (0!=mlen && addr != mmap(addr, mlen, VM_PROT_READ | VM_PROT_WRITE,
|
||||
MAP_FIXED | MAP_PRIVATE |
|
||||
((xi || 0==sc->filesize) ? MAP_ANON : 0),
|
||||
((0==sc->filesize) ? -1 : fdi), sc->fileoff + fat_offset) ) {
|
||||
err_exit(8);
|
||||
}
|
||||
if (xi && 0!=sc->filesize) {
|
||||
if (0==sc->fileoff /*&& 0!=mhdrpp*/) {
|
||||
*mhdrpp = (Mach_header *)(void *)addr;
|
||||
}
|
||||
unpackExtent(xi, &xo, f_decompress, f_unf);
|
||||
}
|
||||
/*bzero(addr, frag);*/ // fragment at lo end
|
||||
frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary
|
||||
bzero(mlen+addr, frag); // fragment at hi end
|
||||
if (0!=mlen && 0!=mprotect(addr, mlen, sc->initprot)) {
|
||||
err_exit(10);
|
||||
ERR_LAB
|
||||
}
|
||||
addr += mlen + frag; /* page boundary on hi end */
|
||||
if (addr < haddr) { // need pages for .bss
|
||||
if (addr != mmap(addr, haddr - addr, sc->initprot,
|
||||
MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0 ) ) {
|
||||
err_exit(9);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd) {
|
||||
Mach_thread_command const *const thrc = (Mach_thread_command const *)sc;
|
||||
if (PPC_THREAD_STATE ==thrc->flavor
|
||||
&& PPC_THREAD_STATE_COUNT==thrc->count ) {
|
||||
entry = &thrc->state;
|
||||
}
|
||||
}
|
||||
return entry;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// upx_main - called by our entry code
|
||||
//
|
||||
**************************************************************************/
|
||||
|
||||
Mach_ppcle_thread_state64 const *
|
||||
upx_main(
|
||||
struct l_info const *const li,
|
||||
size_t volatile sz_compressed, // total length
|
||||
Mach_header *const mhdr, // temp char[sz_mhdr] for decompressing
|
||||
size_t const sz_mhdr,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf,
|
||||
Mach_header **const mhdrpp // Out: *mhdrpp= &real Mach_header
|
||||
)
|
||||
{
|
||||
Mach_ppcle_thread_state64 const *entry;
|
||||
off_t_upx_stub fat_offset = 0;
|
||||
Extent xi, xo, xi0;
|
||||
xi.buf = CONST_CAST(char *, 1+ (struct p_info const *)(1+ li)); // &b_info
|
||||
xi.size = sz_compressed - (sizeof(struct l_info) + sizeof(struct p_info));
|
||||
xo.buf = (char *)mhdr;
|
||||
xo.size = ((struct b_info const *)(void const *)xi.buf)->sz_unc;
|
||||
xi0 = xi;
|
||||
|
||||
// Uncompress Macho headers
|
||||
unpackExtent(&xi, &xo, f_decompress, 0); // never filtered?
|
||||
|
||||
entry = do_xmap(mhdr, fat_offset, &xi0, -1, mhdrpp, f_decompress, f_unf);
|
||||
|
||||
{ // Map dyld dynamic loader
|
||||
Mach_load_command const *lc = (Mach_load_command const *)(1+ mhdr);
|
||||
unsigned j;
|
||||
|
||||
for (j=0; j < mhdr->ncmds; ++j,
|
||||
(lc = (Mach_load_command const *)(void const *)(lc->cmdsize + (char const *)lc))
|
||||
) if (LC_LOAD_DYLINKER==lc->cmd) {
|
||||
char const *const dyld_name = ((Mach_lc_str const *)(void const *)(1+ lc))->offset +
|
||||
(char const *)lc;
|
||||
int const fdi = open(dyld_name, O_RDONLY, 0);
|
||||
if (0 > fdi) {
|
||||
err_exit(18);
|
||||
}
|
||||
fat:
|
||||
if ((ssize_t)sz_mhdr!=pread(fdi, (void *)mhdr, sz_mhdr, fat_offset)) {
|
||||
ERR_LAB
|
||||
err_exit(19);
|
||||
}
|
||||
switch (mhdr->magic) {
|
||||
case MH_MAGIC: break;
|
||||
case FAT_MAGIC: {
|
||||
// stupid Apple: waste code and a page fault on EVERY execve
|
||||
Fat_header const *const fh = (Fat_header const *)mhdr;
|
||||
Fat_arch const *fa = (Fat_arch const *)(1+ fh);
|
||||
for (j= 0; j < fh->nfat_arch; ++j, ++fa) {
|
||||
if (CPU_TYPE_POWERPC==fa->cputype) {
|
||||
fat_offset= fa->offset;
|
||||
goto fat;
|
||||
}
|
||||
}
|
||||
} break;
|
||||
} // switch
|
||||
entry = do_xmap(mhdr, fat_offset, 0, fdi, 0, 0, 0);
|
||||
close(fdi);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return entry;
|
||||
}
|
||||
|
||||
/* vim:set ts=4 sw=4 et: */
|
||||
|
||||
@@ -1,354 +0,0 @@
|
||||
/*
|
||||
* powerpc64le-darwin.dylib-entry.S -- program entry point & decompress (PowerPC64 dylib)
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 2005-2022 John F. Reiser
|
||||
* 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.
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BIG_ENDIAN //{
|
||||
#define BIG_ENDIAN 1 /* Apple on PowerPC* is BIG_ENDIAN */
|
||||
#endif //}
|
||||
NBPW= 8 // Number of Bytes Per Word
|
||||
|
||||
#include "arch/powerpc/64le/macros.S"
|
||||
#include "arch/powerpc/64le/ppc_regs.h"
|
||||
|
||||
/*************************************************************************
|
||||
// We have been CALLed as a subroutine from dyld; C-language rules apply.
|
||||
// -4*4+_start: .long offset(user_init_function)
|
||||
// -3*4+_start: .long offset(b_info of compressed Mach_headers)
|
||||
// -2*4+_start: .long length(compressed __TEXT)
|
||||
// -1*4+_start: .long 8+ total_length # 8+ number of preceding bytes in file
|
||||
**************************************************************************/
|
||||
|
||||
section MACOS000
|
||||
_start: .globl _start
|
||||
mflr r2
|
||||
call main # must be exactly 1 instruction; link_register= &decompress
|
||||
decompress:
|
||||
section NRV_HEAD
|
||||
SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
|
||||
/* PowerPC has no 'cmplis': compare logical [unsigned] immediate shifted [by 16] */
|
||||
#define hibit r0 /* holds 0x80000000 during decompress */
|
||||
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/powerpc/64le/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/powerpc/64le/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/powerpc/64le/nrv2b_d.S"
|
||||
|
||||
#include "arch/powerpc/64le/lzma_d.S"
|
||||
|
||||
#undef off
|
||||
#undef len
|
||||
#undef bits
|
||||
#undef disp
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
ld dst0,0(ldst) // original dst
|
||||
mtlr t3 // return address
|
||||
subf a0,lsrc,src
|
||||
subf tmp,dst0,dst // -1+ dst length
|
||||
addi a0,a0,1 // return 0: good; else: bad [+1: correct for lbzu]
|
||||
addi tmp,tmp,1 // dst length
|
||||
std tmp,0(ldst)
|
||||
#undef tmp
|
||||
|
||||
// CACHELINE=32 is the observed minimum line size of any cache.
|
||||
// Some caches may have larger lines, but it is cumbersome to lookup
|
||||
// {AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE: /usr/include/elf.h},
|
||||
// then save the correct size in a variable {where to put it?}, or to modify
|
||||
// the two instructions here. If a cache has larger lines, then we expect
|
||||
// that the second dcbst (or icbi) on a the same line will be fast.
|
||||
// If not, then too bad.
|
||||
|
||||
section CFLUSH // In: a2=dst= &highest stored byte; a4=dst0= &lowest stored byte
|
||||
CACHELINE=32
|
||||
ori dst0,dst0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,dst0 // initiate store (modified) cacheline to memory
|
||||
cmpld cr0,dst0,dst // did we cover the highest-addressed byte?
|
||||
icbi 0,dst0 // discard instructions from cacheline
|
||||
addi dst0,dst0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
#undef dst0
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
ret
|
||||
|
||||
section ELFMAINY
|
||||
// IDENTSTR goes here
|
||||
|
||||
section ELFMAINZ
|
||||
sz_l_info= 12
|
||||
sz_p_info= 12
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
b_ftid= 9
|
||||
b_cto8= 10
|
||||
|
||||
// register numbers during entry
|
||||
#define f_unc 31
|
||||
#define f_uini 30
|
||||
#define l_unm 29
|
||||
#define a_unm 28
|
||||
#define r_unc 27
|
||||
#define r_cpr 26
|
||||
#define s_unc 25
|
||||
#define s_cpr 24
|
||||
#define l_unc 23
|
||||
#define l_cpr 22
|
||||
#define t_h 21 /* temporary */
|
||||
|
||||
PROT_NONE =0x00
|
||||
PROT_READ =0x01
|
||||
PROT_WRITE =0x02
|
||||
PROT_EXEC =0x04
|
||||
|
||||
MAP_SHARED =0x1
|
||||
MAP_PRIVATE =0x2
|
||||
MAP_ANON =0x1000
|
||||
|
||||
SYS_mmap =197
|
||||
SYS_munmap= 73
|
||||
SYS_mprotect= 74
|
||||
|
||||
main2:
|
||||
//teq r0,r0 // debugging
|
||||
stdu r2,-8*(1+ 32-a0)(sp) # retaddr
|
||||
// stmw a0,4*1(sp)
|
||||
std 3,3*8-8*2(sp)
|
||||
std 4,4*8-8*2(sp)
|
||||
std 5,5*8-8*2(sp)
|
||||
std 6,6*8-8*2(sp)
|
||||
std 7,7*8-8*2(sp)
|
||||
std 8,8*8-8*2(sp)
|
||||
std 9,9*8-8*2(sp)
|
||||
std 10,10*8-8*2(sp)
|
||||
std 11,11*8-8*2(sp)
|
||||
std 12,12*8-8*2(sp)
|
||||
std 13,13*8-8*2(sp)
|
||||
std 14,14*8-8*2(sp)
|
||||
std 15,15*8-8*2(sp)
|
||||
std 16,16*8-8*2(sp)
|
||||
std 17,17*8-8*2(sp)
|
||||
std 18,18*8-8*2(sp)
|
||||
std 19,19*8-8*2(sp)
|
||||
std 20,20*8-8*2(sp)
|
||||
std 21,21*8-8*2(sp)
|
||||
std 22,22*8-8*2(sp)
|
||||
std 23,23*8-8*2(sp)
|
||||
std 24,24*8-8*2(sp)
|
||||
std 25,25*8-8*2(sp)
|
||||
std 26,26*8-8*2(sp)
|
||||
std 27,27*8-8*2(sp)
|
||||
std 28,28*8-8*2(sp)
|
||||
std 29,29*8-8*2(sp)
|
||||
std 30,30*8-8*2(sp)
|
||||
std 31,31*8-8*2(sp)
|
||||
|
||||
mflr f_unc # f_unc= &decompress
|
||||
lwz t_h, -4*1(f_unc) # "call main" at _start
|
||||
lwz l_unm,-4*1+ _start - decompress(f_unc) # 4+ offset(_start)
|
||||
rlwinm t_h,t_h,0,6,29 # 4+ main - decompress
|
||||
add l_unm,l_unm,t_h # offset(main); ASSUMES (8+_start)==decompress
|
||||
addi t_h,t_h,-4 # main - decompress
|
||||
|
||||
li a0,0 # addr
|
||||
mr a1,l_unm # length for munmap
|
||||
li a2,PROT_READ|PROT_WRITE
|
||||
li a3,MAP_ANON|MAP_PRIVATE
|
||||
li a4,-1
|
||||
li a5,0 # hi32(offset)
|
||||
li a6,0 # lo32(offset)
|
||||
li 0,SYS_mmap
|
||||
sc
|
||||
li a0,-1 # failure
|
||||
mr a_unm,a0 # address for munmap
|
||||
|
||||
|
||||
li a2,main - movup2
|
||||
mtctr a2
|
||||
add a1,a0 ,l_unm # lwa(dst); new_page + offset(main)
|
||||
add a0,t_h,f_unc # lwa(src); &main
|
||||
movup1: # descending copy [moveup2, main)
|
||||
lbzu r0,-1(a0)
|
||||
stbu r0,-1(a1)
|
||||
bdnz+ movup1
|
||||
|
||||
subf a2,a2,l_unm # offset(movup2)
|
||||
mtlr a1 # &copied movup2
|
||||
mtctr a2 # offset(movup2)
|
||||
blr # goto the copied code
|
||||
|
||||
movup2: # descending copy [base, movup2)
|
||||
lbzu r0,-1(a0)
|
||||
stbu r0,-1(a1)
|
||||
bdnz+ movup2
|
||||
|
||||
lwz f_uini,-4*4+ _start - decompress(f_unc) # offset(user_init_fn)
|
||||
subf f_unc,a0,f_unc
|
||||
add f_unc,a1,f_unc # relocated decompress
|
||||
add f_uini,f_uini,a0
|
||||
|
||||
lwz t1,-4*3+ _start - decompress(f_unc) # offset(b_info)
|
||||
add r_cpr,a1,t1 # &b_info
|
||||
add r_unc,a0,t1 # &b_info
|
||||
addi r_unc,r_unc,-sz_l_info -sz_p_info
|
||||
|
||||
// skip compressed Mach headers
|
||||
lwz t1,sz_cpr(r_cpr)
|
||||
addi r_cpr,r_cpr,sz_b_info
|
||||
add r_cpr,r_cpr,t1
|
||||
dy_uncpr:
|
||||
mr s_cpr,r_cpr
|
||||
mr s_unc,r_unc
|
||||
addi a0,r_cpr,sz_unc
|
||||
call get4; beq dy_done
|
||||
add r_unc,r_unc,a0
|
||||
mr l_unc,a0
|
||||
addi a0,r_cpr,sz_cpr
|
||||
call get4
|
||||
add r_cpr,r_cpr,a0
|
||||
mr l_cpr,a0
|
||||
addi r_cpr,r_cpr,sz_b_info
|
||||
|
||||
stdu l_unc,-8(sp) # keep stack 8-byte aligned
|
||||
mtlr f_unc
|
||||
addi a0,s_cpr,sz_b_info # src
|
||||
mr a1,l_cpr
|
||||
mr a2,s_unc # dst
|
||||
mr a3,sp # &l_dst
|
||||
lbz a4,b_method(s_cpr)
|
||||
stdu sp,-SZ_FRAME(sp)
|
||||
blrl # uncompress
|
||||
la sp,8+SZ_FRAME(sp)
|
||||
// FIXME: check status
|
||||
|
||||
lbz a3,b_ftid(s_cpr)
|
||||
cmplwi cr0,a3,0
|
||||
beq dy_uncpr
|
||||
lbz a2,b_cto8(s_cpr)
|
||||
ld a1,sz_unc(s_cpr)
|
||||
mr a0,s_unc
|
||||
bl unfilter
|
||||
b dy_uncpr
|
||||
|
||||
dy_done:
|
||||
bl dy_done2
|
||||
dy_done1: # escape hatch
|
||||
sc # munmap
|
||||
li a0,~0 # failure
|
||||
// lmw r0,0(sp)
|
||||
ld 2,2*8-8*2(sp)
|
||||
ld 3,3*8-8*2(sp)
|
||||
ld 4,4*8-8*2(sp)
|
||||
ld 5,5*8-8*2(sp)
|
||||
ld 6,6*8-8*2(sp)
|
||||
ld 7,7*8-8*2(sp)
|
||||
ld 8,8*8-8*2(sp)
|
||||
ld 9,9*8-8*2(sp)
|
||||
ld 10,10*8-8*2(sp)
|
||||
ld 11,11*8-8*2(sp)
|
||||
ld 12,12*8-8*2(sp)
|
||||
ld 13,13*8-8*2(sp)
|
||||
ld 14,14*8-8*2(sp)
|
||||
ld 15,15*8-8*2(sp)
|
||||
ld 16,16*8-8*2(sp)
|
||||
ld 17,17*8-8*2(sp)
|
||||
ld 18,18*8-8*2(sp)
|
||||
ld 19,19*8-8*2(sp)
|
||||
ld 20,20*8-8*2(sp)
|
||||
ld 21,21*8-8*2(sp)
|
||||
ld 22,22*8-8*2(sp)
|
||||
ld 23,23*8-8*2(sp)
|
||||
ld 24,24*8-8*2(sp)
|
||||
ld 25,25*8-8*2(sp)
|
||||
ld 26,26*8-8*2(sp)
|
||||
ld 27,27*8-8*2(sp)
|
||||
ld 28,28*8-8*2(sp)
|
||||
ld 29,29*8-8*2(sp)
|
||||
ld 30,30*8-8*2(sp)
|
||||
ld 31,31*8-8*2(sp)
|
||||
addi sp,sp,8*(32-r0)
|
||||
mtlr r0 # &continuation in dyld
|
||||
bctr # goto user_init_function
|
||||
dy_done2:
|
||||
li r0,(dy_done2 - dy_done1)/4
|
||||
mflr a0
|
||||
la a0,dy_done2 - dy_done1(a0)
|
||||
mtctr r0
|
||||
dy_done3:
|
||||
lwzu r0,-4(a0)
|
||||
stwu r0,-4(s_unc)
|
||||
bdnz+ dy_done3
|
||||
|
||||
mtlr s_unc
|
||||
mtctr f_uini # user_init_function
|
||||
mr a0,a_unm
|
||||
mr a1,l_unm
|
||||
li 0,SYS_munmap
|
||||
blr # goto relocated dy_done1
|
||||
|
||||
get4:
|
||||
lbz t1,3(a0)
|
||||
lbz t2,2(a0)
|
||||
rlwimi t1,t2, 8,16,23
|
||||
lbz t2,1(a0)
|
||||
rlwimi t1,t2,16, 8,15
|
||||
lbz t2,0(a0)
|
||||
rlwimi t1,t2,24, 0, 7
|
||||
mr. a0,t1 # set condition codes
|
||||
blr
|
||||
|
||||
unfilter:
|
||||
#include "arch/powerpc/64le/bxx.S"
|
||||
|
||||
main:
|
||||
b main2
|
||||
dy_top:
|
||||
len_top = dy_top - main
|
||||
|
||||
/* vim:set ts=8 sw=8 et: */
|
||||
@@ -1,151 +0,0 @@
|
||||
/*
|
||||
* powerpc64le-darwin.macho-entry.S -- program entry point & decompressor (PowerPC32 Mach-o)
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 2005-2022 John F. Reiser
|
||||
* 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.
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef BIG_ENDIAN //{
|
||||
#define BIG_ENDIAN 1 /* Apple on PowerPC* is BIG_ENDIAN */
|
||||
#endif //}
|
||||
NBPW= 8 // Number of Bytes Per Word
|
||||
|
||||
#include "arch/powerpc/64le/macros.S"
|
||||
#include "arch/powerpc/64le/ppc_regs.h"
|
||||
LINKAREA= 6*8
|
||||
|
||||
section MACOS000
|
||||
_start: .globl _start
|
||||
call main # must be exactly 1 instruction; link_register= &decompress
|
||||
|
||||
section NRV_HEAD
|
||||
SZ_DLINE=128 # size of data cache line in Apple G5
|
||||
|
||||
/* PowerPC has no 'cmplis': compare logical [unsigned] immediate shifted [by 16] */
|
||||
#define hibit r0 /* holds 0x80000000 during decompress */
|
||||
|
||||
#define src a0
|
||||
#define lsrc a1
|
||||
#define dst a2
|
||||
#define ldst a3 /* Out: actually a reference: &len_dst */
|
||||
#define meth a4
|
||||
|
||||
#define off a4
|
||||
#define len a5
|
||||
#define bits a6
|
||||
#define disp a7
|
||||
|
||||
section NRV2E
|
||||
#include "arch/powerpc/64le/nrv2e_d.S"
|
||||
|
||||
section NRV2D
|
||||
#include "arch/powerpc/64le/nrv2d_d.S"
|
||||
|
||||
section NRV2B
|
||||
#include "arch/powerpc/64le/nrv2b_d.S"
|
||||
|
||||
#include "arch/powerpc/64le/lzma_d.S"
|
||||
|
||||
section NRV_TAIL
|
||||
eof_nrv:
|
||||
#define dst0 a4
|
||||
#define tmp a1
|
||||
ld dst0,0(ldst) // original dst
|
||||
mtlr t3 // return address
|
||||
subf a0,lsrc,src
|
||||
subf tmp,dst0,dst // -1+ dst length
|
||||
addi a0,a0,1 // return 0: good; else: bad [+1: correct for lbzu]
|
||||
addi tmp,tmp,1 // dst length
|
||||
std tmp,0(ldst)
|
||||
#undef tmp
|
||||
|
||||
// CACHELINE=32 is the observed minimum line size of any cache.
|
||||
// Some caches may have larger lines, but it is cumbersome to lookup
|
||||
// {AT_DCACHEBSIZE, AT_ICACHEBSIZE, AT_UCACHEBSIZE: /usr/include/elf.h},
|
||||
// then save the correct size in a variable {where to put it?}, or to modify
|
||||
// the two instructions here. If a cache has larger lines, then we expect
|
||||
// that the second dcbst (or icbi) on a the same line will be fast.
|
||||
// If not, then too bad.
|
||||
|
||||
section CFLUSH // In: a2=dst= &highest stored byte; a4=dst0= &lowest stored byte
|
||||
CACHELINE=32
|
||||
ori dst0,dst0,-1+ CACHELINE // highest addr on cache line
|
||||
cfl_nrv:
|
||||
dcbst 0,dst0 // initiate store (modified) cacheline to memory
|
||||
cmpld cr0,dst0,dst // did we cover the highest-addressed byte?
|
||||
icbi 0,dst0 // discard instructions from cacheline
|
||||
addi dst0,dst0,CACHELINE // highest addr on next line
|
||||
blt cr0,cfl_nrv // not done yet
|
||||
#undef dst0
|
||||
sync // wait for all memory operations to finish
|
||||
isync // discard prefetched instructions (if any)
|
||||
cfl_ret:
|
||||
ret
|
||||
|
||||
section ELFMAINY
|
||||
// IDENTSTR goes here
|
||||
|
||||
section ELFMAINZ
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
b_method= 8
|
||||
|
||||
/* Decompress the rest of this loader, and jump to it. */
|
||||
unfold:
|
||||
mflr t1 # -(L105-L100)+ &{ b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...}
|
||||
//lwz t2,4(t1) // O_BINFO
|
||||
//stdu t2,-8(sp)
|
||||
|
||||
lwz lsrc,L105-L100+sz_cpr(t1)
|
||||
mtctr lsrc # length to copy (and decompress)
|
||||
lwz ldst,L105-L100+sz_unc(t1)
|
||||
lbz meth,L105-L100+b_method(t1)
|
||||
add dst,lsrc,t1
|
||||
addi dst,dst,L105-L100+sz_b_info
|
||||
add src,ldst,t1
|
||||
addi src,src,GAP+64 # defend against prefetch and overlap
|
||||
movup: # descending copy moves folded_loader to higher address
|
||||
lbzu r0,-1(dst)
|
||||
stbu r0,-1(src)
|
||||
bdnz+ movup # typical count is about 0x4cb(1227) bytes
|
||||
|
||||
mtctr r31 # &decompress
|
||||
addi dst,t1,GAP # &unfolded result
|
||||
std ldst,-8(sp) # LZMA needs for EOF
|
||||
la ldst,-8(sp) # &sz_result
|
||||
stdu sp,-SZ_FRAME(sp) // ABI convention (for lzma compiled by gcc)
|
||||
bctr # call decompress: branch to counter register, return to link register
|
||||
|
||||
main:
|
||||
//// teq r0,r0 // debugging
|
||||
mflr r31 # r31= &decompress
|
||||
call unfold
|
||||
L100: GAP= 128 # > farthest_prefetch; must match ../p_mach.cpp
|
||||
b GAP+L100 # 'isync' has trouble on Macintosh G4?
|
||||
.long 0 // O_BINFO
|
||||
L105:
|
||||
/* { b_info={sz_unc, sz_cpr, {4 char}}, folded_loader...} */
|
||||
|
||||
/* vim:set ts=8 sw=8 et: */
|
||||
@@ -1,136 +0,0 @@
|
||||
/* powerpc-darwin.macho-fold.S -- linkage to C code to process Mach-o binary
|
||||
*
|
||||
* This file is part of the UPX executable compressor.
|
||||
*
|
||||
* Copyright (C) 1996-2022 Markus Franz Xaver Johannes Oberhumer
|
||||
* Copyright (C) 1996-2022 Laszlo Molnar
|
||||
* Copyright (C) 2000-2022 John F. Reiser
|
||||
* 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
|
||||
* <markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
*
|
||||
* John F. Reiser
|
||||
* <jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
#include "arch/powerpc/64le/macros.S"
|
||||
#include "arch/powerpc/64le/ppc_regs.h"
|
||||
retaddr = 2*8
|
||||
|
||||
sz_b_info= 12
|
||||
sz_unc= 0
|
||||
sz_cpr= 4
|
||||
|
||||
sz_l_info= 12
|
||||
sz_p_info= 12
|
||||
|
||||
/* Mach_ppc_thread_state */
|
||||
srr0 = 0*4
|
||||
srr1 = 1*4
|
||||
reg0 = 2*4
|
||||
|
||||
reg_cr = 34*4
|
||||
reg_xer = 35*4
|
||||
reg_lr = 36*4
|
||||
reg_ctr = 37*4
|
||||
reg_mq = 38*4
|
||||
reg_vrsave = 39*4
|
||||
|
||||
|
||||
_start: .globl _start # ignored, but silence "cannot find entry symbol _start" from ld
|
||||
/* In:
|
||||
r31= &decompress; also 8+ (char *)&(offset to {l_info; p_info; b_info})
|
||||
*/
|
||||
fold_begin:
|
||||
teq r0,r0 // this code has not been converted to 64-bit!!
|
||||
call L90
|
||||
#include "arch/powerpc/32/bxx.S"
|
||||
|
||||
L90:
|
||||
la sp,SZ_FRAME(sp) // trim save area used by decompressor
|
||||
li a6,0
|
||||
stwu a6,-4(sp) # _push_ default value for dyld
|
||||
movr a6,sp # &mhdrp
|
||||
mflr a5 # &ppcbxx: f_unfilter
|
||||
|
||||
lwz a1,-8(r31) # offset to {l_info; p_info; b_info}
|
||||
subf a0,a1,r31 # &l_info
|
||||
lwz a3,sz_unc+sz_p_info+sz_l_info(a0) # sz_mach_headers
|
||||
cmplwi cr0,a3,2048; bgt L100; li a3,2048 # at least 2 KiB for /usr/lib/dyld
|
||||
L100:
|
||||
movr r29,sp # remember for restoring later
|
||||
subf sp,a3,sp # alloca
|
||||
movr a2,sp # &temp char[sz_mach_headers]
|
||||
stdu sp,-SZ_FRAME(sp) # ABI convention
|
||||
movr a4,r31 # f_decompress
|
||||
call upx_main # Out: a0= &Mach_ppc_thread_state of dyld
|
||||
|
||||
movr sp,r29 # restore stack pointer
|
||||
lwz r0, srr0(a0); mtctr r0 # entry address
|
||||
/* Next 3 lines probably are not needed, but ... */
|
||||
lwz r0, reg_cr(a0); mtcr r0 # condition code
|
||||
lwz r0,reg_xer(a0); mtxer r0 # extended error reg (CArry, etc.)
|
||||
lwz r0, reg_lr(a0); mtlr r0 # link register
|
||||
|
||||
lmw 4,4*4+reg0(3) # reg 4 thru 31
|
||||
lwz 0,0*4+reg0(3)
|
||||
lwz 2,2*4+reg0(3)
|
||||
lwz 3,3*4+reg0(3)
|
||||
bctr # goto dyld
|
||||
|
||||
SYS_exit =1
|
||||
SYS_fork =2
|
||||
SYS_read =3
|
||||
SYS_write =4
|
||||
SYS_open =5
|
||||
SYS_close =6
|
||||
|
||||
SYS_pread =153
|
||||
SYS_mmap =197
|
||||
SYS_mprotect= 74
|
||||
|
||||
/* SYS_mmap takes a 64-bit off_t, but gcc-3.4.1-20040827 passes long long
|
||||
in wrong registers. So change C interface to use size_t (32-bits) instead
|
||||
of off_t (64 bits), and convert here.
|
||||
*/
|
||||
pread: .globl pread
|
||||
movr a4,a3; li a3,0 # zero extend 4th arg size_t to off_t
|
||||
li 0,SYS_pread; b sysgo
|
||||
mmap: .globl mmap
|
||||
movr a6,a5; li a5,0 # zero extend 6th arg size_t to off_t
|
||||
li 0,SYS_mmap
|
||||
sysgo:
|
||||
sc
|
||||
li a0,-1 # failure return
|
||||
ret
|
||||
|
||||
exit: .globl exit
|
||||
li 0,SYS_exit; b sysgo
|
||||
read: .globl read
|
||||
li 0,SYS_read; b sysgo
|
||||
open: .globl open
|
||||
li 0,SYS_open; b sysgo
|
||||
close: .globl close
|
||||
li 0,SYS_close; b sysgo
|
||||
mprotect: .globl mprotect
|
||||
li 0,SYS_mprotect; b sysgo
|
||||
|
||||
#include "powerpc64-savegpr0.S"
|
||||
|
||||
/* vim:set ts=8 sw=8 et: */
|
||||
@@ -1,457 +0,0 @@
|
||||
/* powerpc64le-darwin.macho-main.c -- loader stub for Mach-o PowerPC64LE
|
||||
|
||||
This file is part of the UPX executable compressor.
|
||||
|
||||
Copyright (C) 1996-2022 Markus Franz Xaver Johannes Oberhumer
|
||||
Copyright (C) 1996-2022 Laszlo Molnar
|
||||
Copyright (C) 2000-2022 John F. Reiser
|
||||
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
|
||||
<markus@oberhumer.com> <ezerotven+github@gmail.com>
|
||||
|
||||
John F. Reiser
|
||||
<jreiser@users.sourceforge.net>
|
||||
*/
|
||||
|
||||
|
||||
#define __WORDSIZE 64
|
||||
#include "include/darwin.h"
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// configuration section
|
||||
**************************************************************************/
|
||||
|
||||
// In order to make it much easier to move this code at runtime and execute
|
||||
// it at an address different from it load address: there must be no
|
||||
// static data, and no string constants.
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// "file" util
|
||||
**************************************************************************/
|
||||
|
||||
typedef struct {
|
||||
size_t size; // must be first to match size[0] uncompressed size
|
||||
char *buf;
|
||||
} Extent;
|
||||
|
||||
|
||||
static void
|
||||
xread(Extent *x, char *buf, size_t count)
|
||||
{
|
||||
char *p=x->buf, *q=buf;
|
||||
size_t j;
|
||||
if (x->size < count) {
|
||||
exit(127);
|
||||
}
|
||||
for (j = count; 0!=j--; ++p, ++q) {
|
||||
*q = *p;
|
||||
}
|
||||
x->buf += count;
|
||||
x->size -= count;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// util
|
||||
**************************************************************************/
|
||||
|
||||
#if 1 //{ save space
|
||||
#define ERR_LAB error: exit(127);
|
||||
#define err_exit(a) goto error
|
||||
#else //}{ save debugging time
|
||||
#define ERR_LAB /*empty*/
|
||||
static void
|
||||
err_exit(int a)
|
||||
{
|
||||
(void)a; // debugging convenience
|
||||
exit(127);
|
||||
}
|
||||
#endif //}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// UPX & NRV stuff
|
||||
**************************************************************************/
|
||||
|
||||
struct l_info { // 12-byte trailer for loader (after macho headers)
|
||||
unsigned l_checksum;
|
||||
unsigned l_magic; // UPX_MAGIC_LE32
|
||||
unsigned short l_lsize;
|
||||
unsigned char l_version;
|
||||
unsigned char l_format;
|
||||
};
|
||||
struct p_info { // 12-byte packed program header
|
||||
unsigned p_progid;
|
||||
unsigned p_filesize;
|
||||
unsigned p_blocksize;
|
||||
};
|
||||
|
||||
struct b_info { // 12-byte header before each compressed block
|
||||
unsigned sz_unc; // uncompressed_size
|
||||
unsigned sz_cpr; // compressed_size
|
||||
unsigned char b_method; // compression algorithm
|
||||
unsigned char b_ftid; // filter id
|
||||
unsigned char b_cto8; // filter parameter
|
||||
unsigned char b_unused;
|
||||
};
|
||||
|
||||
typedef void f_unfilter(
|
||||
nrv_byte *, // also addvalue
|
||||
nrv_uint,
|
||||
unsigned cto8, // junk in high 24 bits
|
||||
unsigned ftid
|
||||
);
|
||||
typedef int f_expand(
|
||||
const nrv_byte *, nrv_uint,
|
||||
nrv_byte *, nrv_uint *, unsigned );
|
||||
|
||||
static void
|
||||
unpackExtent(
|
||||
Extent *const xi, // input
|
||||
Extent *const xo, // output
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *f_unf
|
||||
)
|
||||
{
|
||||
while (xo->size) {
|
||||
struct b_info h;
|
||||
// Note: if h.sz_unc == h.sz_cpr then the block was not
|
||||
// compressible and is stored in its uncompressed form.
|
||||
|
||||
// Read and check block sizes.
|
||||
xread(xi, (char *)&h, sizeof(h));
|
||||
if (h.sz_unc == 0) { // uncompressed size 0 -> EOF
|
||||
if (h.sz_cpr != UPX_MAGIC_LE32) // h.sz_cpr must be h->magic
|
||||
err_exit(2);
|
||||
if (xi->size != 0) // all bytes must be written
|
||||
err_exit(3);
|
||||
break;
|
||||
}
|
||||
if (h.sz_cpr <= 0) {
|
||||
err_exit(4);
|
||||
ERR_LAB
|
||||
}
|
||||
if (h.sz_cpr > h.sz_unc
|
||||
|| h.sz_unc > xo->size ) {
|
||||
err_exit(5);
|
||||
}
|
||||
// Now we have:
|
||||
// assert(h.sz_cpr <= h.sz_unc);
|
||||
// assert(h.sz_unc > 0 && h.sz_unc <= blocksize);
|
||||
// assert(h.sz_cpr > 0 && h.sz_cpr <= blocksize);
|
||||
|
||||
if (h.sz_cpr < h.sz_unc) { // Decompress block
|
||||
nrv_uint out_len = h.sz_unc; // EOF for lzma
|
||||
int const j = (*f_decompress)((const unsigned char *)xi->buf, h.sz_cpr,
|
||||
(unsigned char *)xo->buf, &out_len, h.b_method);
|
||||
if (j != 0 || out_len != (nrv_uint)h.sz_unc)
|
||||
err_exit(7);
|
||||
if (h.b_ftid!=0 && f_unf) { // have filter
|
||||
(*f_unf)((unsigned char *)xo->buf, out_len, h.b_cto8, h.b_ftid);
|
||||
}
|
||||
xi->buf += h.sz_cpr;
|
||||
xi->size -= h.sz_cpr;
|
||||
}
|
||||
else { // copy literal block
|
||||
xread(xi, xo->buf, h.sz_cpr);
|
||||
}
|
||||
xo->buf += h.sz_unc;
|
||||
xo->size -= h.sz_unc;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
upx_bzero(char *p, size_t len)
|
||||
{
|
||||
if (len) do {
|
||||
*p++= 0;
|
||||
} while (--len);
|
||||
}
|
||||
#define bzero upx_bzero
|
||||
|
||||
|
||||
// The PF_* and PROT_* bits are {1,2,4}; the conversion table fits in 32 bits.
|
||||
#define REP8(x) \
|
||||
((x)|((x)<<4)|((x)<<8)|((x)<<12)|((x)<<16)|((x)<<20)|((x)<<24)|((x)<<28))
|
||||
#define EXP8(y) \
|
||||
((1&(y)) ? 0xf0f0f0f0 : (2&(y)) ? 0xff00ff00 : (4&(y)) ? 0xffff0000 : 0)
|
||||
#define PF_TO_PROT(pf) \
|
||||
((PROT_READ|PROT_WRITE|PROT_EXEC) & ( \
|
||||
( (REP8(PROT_EXEC ) & EXP8(PF_X)) \
|
||||
|(REP8(PROT_READ ) & EXP8(PF_R)) \
|
||||
|(REP8(PROT_WRITE) & EXP8(PF_W)) \
|
||||
) >> ((pf & (PF_R|PF_W|PF_X))<<2) ))
|
||||
|
||||
typedef struct {
|
||||
unsigned magic;
|
||||
unsigned nfat_arch;
|
||||
} Fat_header;
|
||||
typedef struct {
|
||||
unsigned cputype;
|
||||
unsigned cpusubtype;
|
||||
unsigned offset;
|
||||
unsigned size;
|
||||
unsigned align; /* power of 2 */
|
||||
} Fat_arch;
|
||||
enum e8 {
|
||||
FAT_MAGIC = 0xcafebabe
|
||||
};
|
||||
enum e9 {
|
||||
CPU_TYPE_I386 = 7,
|
||||
CPU_TYPE_POWERPC = 0x00000012,
|
||||
CPU_TYPE_POWERPC64 = 0x01000012
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned magic;
|
||||
unsigned cputype;
|
||||
unsigned cpysubtype;
|
||||
unsigned filetype;
|
||||
unsigned ncmds;
|
||||
unsigned sizeofcmds;
|
||||
unsigned flags;
|
||||
} Mach_header;
|
||||
enum e0 {
|
||||
MH_MAGIC = 0xfeedface
|
||||
};
|
||||
enum e2 {
|
||||
MH_EXECUTE = 2
|
||||
};
|
||||
enum e3 {
|
||||
MH_NOUNDEFS = 1
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd;
|
||||
unsigned cmdsize;
|
||||
} Mach_load_command;
|
||||
enum e4 {
|
||||
LC_SEGMENT = 0x1,
|
||||
LC_THREAD = 0x4,
|
||||
LC_UNIXTHREAD = 0x5,
|
||||
LC_LOAD_DYLINKER = 0xe
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd;
|
||||
unsigned cmdsize;
|
||||
char segname[16];
|
||||
unsigned vmaddr;
|
||||
unsigned vmsize;
|
||||
unsigned fileoff;
|
||||
unsigned filesize;
|
||||
unsigned maxprot;
|
||||
unsigned initprot;
|
||||
unsigned nsects;
|
||||
unsigned flags;
|
||||
} Mach_segment_command;
|
||||
enum e5 {
|
||||
VM_PROT_READ = 1,
|
||||
VM_PROT_WRITE = 2,
|
||||
VM_PROT_EXECUTE = 4
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
unsigned srr0; /* Instruction address register (PC; entry addr) */
|
||||
unsigned srr1; /* Machine state register (supervisor) */
|
||||
unsigned r0, r1, r2, r3, r4, r5, r6, r7;
|
||||
unsigned r8, r9,r10,r11,r12,r13,r14,r15;
|
||||
unsigned r16,r17,r18,r19,r20,r21,r22,r23;
|
||||
unsigned r24,r25,r26,r27,r28,r29,r30,r31;
|
||||
|
||||
unsigned cr; /* Condition register */
|
||||
unsigned xer; /* User's integer exception register */
|
||||
unsigned lr; /* Link register */
|
||||
unsigned ctr; /* Count register */
|
||||
unsigned mq; /* MQ register (601 only) */
|
||||
|
||||
unsigned vrsave; /* Vector Save Register */
|
||||
} Mach_ppcle_thread_state64;
|
||||
|
||||
typedef struct {
|
||||
unsigned cmd; /* LC_THREAD or LC_UNIXTHREAD */
|
||||
unsigned cmdsize; /* total size of this command */
|
||||
unsigned flavor;
|
||||
unsigned count; /* sizeof(following_thread_state)/4 */
|
||||
Mach_ppcle_thread_state64 state;
|
||||
} Mach_thread_command;
|
||||
enum e6 {
|
||||
PPC_THREAD_STATE = 1
|
||||
};
|
||||
enum e7 {
|
||||
PPC_THREAD_STATE_COUNT = sizeof(Mach_ppcle_thread_state64)/4
|
||||
};
|
||||
|
||||
typedef union {
|
||||
unsigned long offset; /* from start of load command to string */
|
||||
char *ptr;
|
||||
} Mach_lc_str;
|
||||
|
||||
#define MAP_FIXED 0x10
|
||||
#define MAP_PRIVATE 0x02
|
||||
#define MAP_ANON 0x1000
|
||||
#define PROT_READ 1
|
||||
#define PROT_WRITE 2
|
||||
#define PROT_EXEC 4
|
||||
|
||||
/* bug in crosstool/powerpc-750-linux-gnu/gcc-3.4.1-glibc-20040827:
|
||||
unsigned long long off_t goes into registers (9,10) instead of (8,9).
|
||||
Adjust in mmap(), pread(), and include/darwin.h .
|
||||
*/
|
||||
extern char *mmap(char *, size_t, unsigned, unsigned, int, off_t_upx_stub);
|
||||
ssize_t pread(int, void *, size_t, off_t_upx_stub);
|
||||
|
||||
static Mach_ppcle_thread_state64 const *
|
||||
do_xmap(
|
||||
Mach_header const *const mhdr,
|
||||
off_t_upx_stub const fat_offset,
|
||||
Extent *const xi,
|
||||
int const fdi,
|
||||
Mach_header **mhdrpp,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf
|
||||
)
|
||||
{
|
||||
Mach_segment_command const *sc = (Mach_segment_command const *)(1+ mhdr);
|
||||
Mach_ppcle_thread_state64 const *entry = 0;
|
||||
unsigned j;
|
||||
|
||||
for ( j=0; j < mhdr->ncmds; ++j,
|
||||
(sc = (Mach_segment_command const *)(void const *)(sc->cmdsize + (char const *)sc))
|
||||
) if (LC_SEGMENT==sc->cmd) {
|
||||
Extent xo;
|
||||
size_t mlen = xo.size = sc->filesize;
|
||||
char *addr = xo.buf = (char *)(long)sc->vmaddr;
|
||||
char *haddr = sc->vmsize + addr;
|
||||
size_t frag = (long)addr &~ PAGE_MASK;
|
||||
addr -= frag;
|
||||
mlen += frag;
|
||||
|
||||
if (0!=mlen && addr != mmap(addr, mlen, VM_PROT_READ | VM_PROT_WRITE,
|
||||
MAP_FIXED | MAP_PRIVATE |
|
||||
((xi || 0==sc->filesize) ? MAP_ANON : 0),
|
||||
((0==sc->filesize) ? -1 : fdi), sc->fileoff + fat_offset) ) {
|
||||
err_exit(8);
|
||||
}
|
||||
if (xi && 0!=sc->filesize) {
|
||||
if (0==sc->fileoff /*&& 0!=mhdrpp*/) {
|
||||
*mhdrpp = (Mach_header *)(void *)addr;
|
||||
}
|
||||
unpackExtent(xi, &xo, f_decompress, f_unf);
|
||||
}
|
||||
/*bzero(addr, frag);*/ // fragment at lo end
|
||||
frag = (-mlen) &~ PAGE_MASK; // distance to next page boundary
|
||||
bzero(mlen+addr, frag); // fragment at hi end
|
||||
if (0!=mlen && 0!=mprotect(addr, mlen, sc->initprot)) {
|
||||
err_exit(10);
|
||||
ERR_LAB
|
||||
}
|
||||
addr += mlen + frag; /* page boundary on hi end */
|
||||
if (addr < haddr) { // need pages for .bss
|
||||
if (addr != mmap(addr, haddr - addr, sc->initprot,
|
||||
MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0 ) ) {
|
||||
err_exit(9);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (LC_UNIXTHREAD==sc->cmd || LC_THREAD==sc->cmd) {
|
||||
Mach_thread_command const *const thrc = (Mach_thread_command const *)sc;
|
||||
if (PPC_THREAD_STATE ==thrc->flavor
|
||||
&& PPC_THREAD_STATE_COUNT==thrc->count ) {
|
||||
entry = &thrc->state;
|
||||
}
|
||||
}
|
||||
return entry;
|
||||
}
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// upx_main - called by our entry code
|
||||
//
|
||||
**************************************************************************/
|
||||
|
||||
Mach_ppcle_thread_state64 const *
|
||||
upx_main(
|
||||
struct l_info const *const li,
|
||||
size_t volatile sz_compressed, // total length
|
||||
Mach_header *const mhdr, // temp char[sz_mhdr] for decompressing
|
||||
size_t const sz_mhdr,
|
||||
f_expand *const f_decompress,
|
||||
f_unfilter *const f_unf,
|
||||
Mach_header **const mhdrpp // Out: *mhdrpp= &real Mach_header
|
||||
)
|
||||
{
|
||||
Mach_ppcle_thread_state64 const *entry;
|
||||
off_t_upx_stub fat_offset = 0;
|
||||
Extent xi, xo, xi0;
|
||||
xi.buf = CONST_CAST(char *, 1+ (struct p_info const *)(1+ li)); // &b_info
|
||||
xi.size = sz_compressed - (sizeof(struct l_info) + sizeof(struct p_info));
|
||||
xo.buf = (char *)mhdr;
|
||||
xo.size = ((struct b_info const *)(void const *)xi.buf)->sz_unc;
|
||||
xi0 = xi;
|
||||
|
||||
// Uncompress Macho headers
|
||||
unpackExtent(&xi, &xo, f_decompress, 0); // never filtered?
|
||||
|
||||
entry = do_xmap(mhdr, fat_offset, &xi0, -1, mhdrpp, f_decompress, f_unf);
|
||||
|
||||
{ // Map dyld dynamic loader
|
||||
Mach_load_command const *lc = (Mach_load_command const *)(1+ mhdr);
|
||||
unsigned j;
|
||||
|
||||
for (j=0; j < mhdr->ncmds; ++j,
|
||||
(lc = (Mach_load_command const *)(void const *)(lc->cmdsize + (char const *)lc))
|
||||
) if (LC_LOAD_DYLINKER==lc->cmd) {
|
||||
char const *const dyld_name = ((Mach_lc_str const *)(void const *)(1+ lc))->offset +
|
||||
(char const *)lc;
|
||||
int const fdi = open(dyld_name, O_RDONLY, 0);
|
||||
if (0 > fdi) {
|
||||
err_exit(18);
|
||||
}
|
||||
fat:
|
||||
if ((ssize_t)sz_mhdr!=pread(fdi, (void *)mhdr, sz_mhdr, fat_offset)) {
|
||||
ERR_LAB
|
||||
err_exit(19);
|
||||
}
|
||||
switch (mhdr->magic) {
|
||||
case MH_MAGIC: break;
|
||||
case FAT_MAGIC: {
|
||||
// stupid Apple: waste code and a page fault on EVERY execve
|
||||
Fat_header const *const fh = (Fat_header const *)mhdr;
|
||||
Fat_arch const *fa = (Fat_arch const *)(1+ fh);
|
||||
for (j= 0; j < fh->nfat_arch; ++j, ++fa) {
|
||||
if (CPU_TYPE_POWERPC==fa->cputype) {
|
||||
fat_offset= fa->offset;
|
||||
goto fat;
|
||||
}
|
||||
}
|
||||
} break;
|
||||
} // switch
|
||||
entry = do_xmap(mhdr, fat_offset, 0, fdi, 0, 0, 0);
|
||||
close(fdi);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return entry;
|
||||
}
|
||||
|
||||
/* vim:set ts=4 sw=4 et: */
|
||||
@@ -1,52 +0,0 @@
|
||||
file format elf64-powerpcle
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 MACOS000 00000008 0000000000000000 0000000000000000 00000040 2**0 CONTENTS, RELOC, READONLY
|
||||
1 NRV_HEAD 00000000 0000000000000000 0000000000000000 00000048 2**0 CONTENTS, READONLY
|
||||
2 NRV2E 00000154 0000000000000000 0000000000000000 00000048 2**0 CONTENTS, RELOC, READONLY
|
||||
3 NRV2D 00000144 0000000000000000 0000000000000000 0000019c 2**0 CONTENTS, RELOC, READONLY
|
||||
4 NRV2B 000000f8 0000000000000000 0000000000000000 000002e0 2**0 CONTENTS, RELOC, READONLY
|
||||
5 LZMA_ELF00 00000094 0000000000000000 0000000000000000 000003d8 2**0 CONTENTS, RELOC, READONLY
|
||||
6 LZMA_DEC30 00000028 0000000000000000 0000000000000000 0000046c 2**0 CONTENTS, READONLY
|
||||
7 LZMA_DEC10 00000bb8 0000000000000000 0000000000000000 00000494 2**0 CONTENTS, READONLY
|
||||
8 LZMA_DEC20 00000c74 0000000000000000 0000000000000000 0000104c 2**0 CONTENTS, READONLY
|
||||
9 NRV_TAIL 0000001c 0000000000000000 0000000000000000 00001cc0 2**0 CONTENTS, READONLY
|
||||
10 CFLUSH 00000024 0000000000000000 0000000000000000 00001cdc 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINY 00000000 0000000000000000 0000000000000000 00001d00 2**0 CONTENTS, READONLY
|
||||
12 ELFMAINZ 000002e8 0000000000000000 0000000000000000 00001d00 2**0 CONTENTS, READONLY
|
||||
SYMBOL TABLE:
|
||||
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
|
||||
0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL
|
||||
0000000000000000 l d ELFMAINZ 0000000000000000 ELFMAINZ
|
||||
0000000000000000 l d MACOS000 0000000000000000 MACOS000
|
||||
0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD
|
||||
0000000000000000 l d NRV2E 0000000000000000 NRV2E
|
||||
0000000000000000 l d NRV2D 0000000000000000 NRV2D
|
||||
0000000000000000 l d NRV2B 0000000000000000 NRV2B
|
||||
0000000000000000 l d LZMA_ELF00 0000000000000000 LZMA_ELF00
|
||||
0000000000000000 l d LZMA_DEC10 0000000000000000 LZMA_DEC10
|
||||
0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20
|
||||
0000000000000000 l d CFLUSH 0000000000000000 CFLUSH
|
||||
0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY
|
||||
0000000000000000 g MACOS000 0000000000000000 _start
|
||||
|
||||
RELOCATION RECORDS FOR [MACOS000]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000004 R_PPC64_REL24 ELFMAINZ+0x00000000000002e4
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2E]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000000000c0 R_PPC64_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2D]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000000000cc R_PPC64_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2B]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000098 R_PPC64_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [LZMA_ELF00]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000004 R_PPC64_REL14 LZMA_DEC30+0x0000000000000028
|
||||
@@ -1,52 +0,0 @@
|
||||
file format elf64-powerpcle
|
||||
|
||||
Sections:
|
||||
Idx Name Size VMA LMA File off Algn Flags
|
||||
0 MACOS000 00000004 0000000000000000 0000000000000000 00000040 2**0 CONTENTS, RELOC, READONLY
|
||||
1 NRV_HEAD 00000000 0000000000000000 0000000000000000 00000044 2**0 CONTENTS, READONLY
|
||||
2 NRV2E 00000154 0000000000000000 0000000000000000 00000044 2**0 CONTENTS, RELOC, READONLY
|
||||
3 NRV2D 00000144 0000000000000000 0000000000000000 00000198 2**0 CONTENTS, RELOC, READONLY
|
||||
4 NRV2B 000000f8 0000000000000000 0000000000000000 000002dc 2**0 CONTENTS, RELOC, READONLY
|
||||
5 LZMA_ELF00 00000094 0000000000000000 0000000000000000 000003d4 2**0 CONTENTS, RELOC, READONLY
|
||||
6 LZMA_DEC30 00000028 0000000000000000 0000000000000000 00000468 2**0 CONTENTS, READONLY
|
||||
7 LZMA_DEC10 00000bb8 0000000000000000 0000000000000000 00000490 2**0 CONTENTS, READONLY
|
||||
8 LZMA_DEC20 00000c74 0000000000000000 0000000000000000 00001048 2**0 CONTENTS, READONLY
|
||||
9 NRV_TAIL 0000001c 0000000000000000 0000000000000000 00001cbc 2**0 CONTENTS, READONLY
|
||||
10 CFLUSH 00000024 0000000000000000 0000000000000000 00001cd8 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINY 00000000 0000000000000000 0000000000000000 00001cfc 2**0 CONTENTS, READONLY
|
||||
12 ELFMAINZ 00000058 0000000000000000 0000000000000000 00001cfc 2**0 CONTENTS, READONLY
|
||||
SYMBOL TABLE:
|
||||
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
|
||||
0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL
|
||||
0000000000000000 l d ELFMAINZ 0000000000000000 ELFMAINZ
|
||||
0000000000000000 l d MACOS000 0000000000000000 MACOS000
|
||||
0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD
|
||||
0000000000000000 l d NRV2E 0000000000000000 NRV2E
|
||||
0000000000000000 l d NRV2D 0000000000000000 NRV2D
|
||||
0000000000000000 l d NRV2B 0000000000000000 NRV2B
|
||||
0000000000000000 l d LZMA_ELF00 0000000000000000 LZMA_ELF00
|
||||
0000000000000000 l d LZMA_DEC10 0000000000000000 LZMA_DEC10
|
||||
0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20
|
||||
0000000000000000 l d CFLUSH 0000000000000000 CFLUSH
|
||||
0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY
|
||||
0000000000000000 g MACOS000 0000000000000000 _start
|
||||
|
||||
RELOCATION RECORDS FOR [MACOS000]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000000 R_PPC64_REL24 ELFMAINZ+0x0000000000000048
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2E]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000000000c0 R_PPC64_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2D]:
|
||||
OFFSET TYPE VALUE
|
||||
00000000000000cc R_PPC64_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [NRV2B]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000098 R_PPC64_REL14 NRV_TAIL
|
||||
|
||||
RELOCATION RECORDS FOR [LZMA_ELF00]:
|
||||
OFFSET TYPE VALUE
|
||||
0000000000000004 R_PPC64_REL14 LZMA_DEC30+0x0000000000000028
|
||||
-344
@@ -1,344 +0,0 @@
|
||||
|
||||
Memory Configuration
|
||||
|
||||
Name Origin Length Attributes
|
||||
*default* 0x0000000000000000 0xffffffffffffffff
|
||||
|
||||
Linker script and memory map
|
||||
|
||||
TARGET(elf64-powerpcle)
|
||||
LOAD tmp/powerpc64le-darwin.macho-fold.o
|
||||
LOAD tmp/powerpc64le-darwin.macho-main.o
|
||||
[!provide] PROVIDE (__executable_start, 0x8048000)
|
||||
0x0000000008048000 . = (0x8048000 + SIZEOF_HEADERS)
|
||||
|
||||
.interp
|
||||
*(.interp)
|
||||
|
||||
.note.gnu.build-id
|
||||
*(.note.gnu.build-id)
|
||||
|
||||
.hash
|
||||
*(.hash)
|
||||
|
||||
.gnu.hash
|
||||
*(.gnu.hash)
|
||||
|
||||
.dynsym
|
||||
*(.dynsym)
|
||||
|
||||
.dynstr
|
||||
*(.dynstr)
|
||||
|
||||
.gnu.version
|
||||
*(.gnu.version)
|
||||
|
||||
.gnu.version_d
|
||||
*(.gnu.version_d)
|
||||
|
||||
.gnu.version_r
|
||||
*(.gnu.version_r)
|
||||
|
||||
.rel.dyn
|
||||
*(.rel.init)
|
||||
*(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
|
||||
*(.rel.fini)
|
||||
*(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
|
||||
*(.rel.data.rel.ro .rel.data.rel.ro.* .rel.gnu.linkonce.d.rel.ro.*)
|
||||
*(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
|
||||
*(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
|
||||
*(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
|
||||
*(.rel.ctors)
|
||||
*(.rel.dtors)
|
||||
*(.rel.got)
|
||||
*(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
|
||||
*(.rel.ifunc)
|
||||
|
||||
.rel.plt 0x0000000008048000 0x0
|
||||
*(.rel.plt)
|
||||
[!provide] PROVIDE (__rel_iplt_start, .)
|
||||
*(.rel.iplt)
|
||||
[!provide] PROVIDE (__rel_iplt_end, .)
|
||||
|
||||
.init
|
||||
*(SORT(.init))
|
||||
|
||||
.plt
|
||||
*(.plt)
|
||||
*(.iplt)
|
||||
|
||||
.plt.got
|
||||
*(.plt.got)
|
||||
|
||||
.text 0x0000000008048000 0x92c
|
||||
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
||||
*(.text.exit .text.exit.*)
|
||||
*(.text.startup .text.startup.*)
|
||||
*(.text.hot .text.hot.*)
|
||||
*(.text .stub .text.* .gnu.linkonce.t.*)
|
||||
.text 0x0000000008048000 0x1dc tmp/powerpc64le-darwin.macho-fold.o
|
||||
0x0000000008048000 _start
|
||||
0x00000000080480e8 pread
|
||||
0x00000000080480f8 mmap
|
||||
0x0000000008048110 exit
|
||||
0x0000000008048118 read
|
||||
0x0000000008048120 open
|
||||
0x0000000008048128 close
|
||||
0x0000000008048130 mprotect
|
||||
0x0000000008048138 _savegpr0_14
|
||||
0x000000000804813c _savegpr0_15
|
||||
0x0000000008048140 _savegpr0_16
|
||||
0x0000000008048144 _savegpr0_17
|
||||
0x0000000008048148 _savegpr0_18
|
||||
0x000000000804814c _savegpr0_19
|
||||
0x0000000008048150 _savegpr0_20
|
||||
0x0000000008048154 _savegpr0_21
|
||||
0x0000000008048158 _savegpr0_22
|
||||
0x000000000804815c _savegpr0_23
|
||||
0x0000000008048160 _savegpr0_24
|
||||
0x0000000008048164 _savegpr0_25
|
||||
0x0000000008048168 _savegpr0_26
|
||||
0x000000000804816c _savegpr0_27
|
||||
0x0000000008048170 _savegpr0_28
|
||||
0x0000000008048174 _savegpr0_29
|
||||
0x0000000008048188 _restgpr0_14
|
||||
0x000000000804818c _restgpr0_15
|
||||
0x0000000008048190 _restgpr0_16
|
||||
0x0000000008048194 _restgpr0_17
|
||||
0x0000000008048198 _restgpr0_18
|
||||
0x000000000804819c _restgpr0_19
|
||||
0x00000000080481a0 _restgpr0_20
|
||||
0x00000000080481a4 _restgpr0_21
|
||||
0x00000000080481a8 _restgpr0_22
|
||||
0x00000000080481ac _restgpr0_23
|
||||
0x00000000080481b0 _restgpr0_24
|
||||
0x00000000080481b4 _restgpr0_25
|
||||
0x00000000080481b8 _restgpr0_26
|
||||
0x00000000080481bc _restgpr0_27
|
||||
0x00000000080481c0 _restgpr0_28
|
||||
0x00000000080481c4 _restgpr0_29
|
||||
.text 0x00000000080481dc 0x750 tmp/powerpc64le-darwin.macho-main.o
|
||||
*(.gnu.warning)
|
||||
|
||||
.fini
|
||||
*(SORT(.fini))
|
||||
[!provide] PROVIDE (__etext, .)
|
||||
[!provide] PROVIDE (_etext, .)
|
||||
[!provide] PROVIDE (etext, .)
|
||||
|
||||
.rodata
|
||||
*(.rodata .rodata.* .gnu.linkonce.r.*)
|
||||
|
||||
.rodata1
|
||||
*(.rodata1)
|
||||
|
||||
.eh_frame_hdr
|
||||
*(.eh_frame_hdr)
|
||||
*(.eh_frame_entry .eh_frame_entry.*)
|
||||
|
||||
.eh_frame
|
||||
*(.eh_frame)
|
||||
*(.eh_frame.*)
|
||||
|
||||
.gcc_except_table
|
||||
*(.gcc_except_table .gcc_except_table.*)
|
||||
|
||||
.gnu_extab
|
||||
*(.gnu_extab*)
|
||||
|
||||
.exception_ranges
|
||||
*(.exception_ranges .exception_ranges*)
|
||||
0x000000000804992c . = DATA_SEGMENT_ALIGN (0x1000, 0x1000)
|
||||
|
||||
.eh_frame
|
||||
*(.eh_frame)
|
||||
*(.eh_frame.*)
|
||||
|
||||
.gnu_extab
|
||||
*(.gnu_extab)
|
||||
|
||||
.gcc_except_table
|
||||
*(.gcc_except_table .gcc_except_table.*)
|
||||
|
||||
.exception_ranges
|
||||
*(.exception_ranges .exception_ranges*)
|
||||
|
||||
.tdata
|
||||
*(.tdata .tdata.* .gnu.linkonce.td.*)
|
||||
|
||||
.tbss
|
||||
*(.tbss .tbss.* .gnu.linkonce.tb.*)
|
||||
*(.tcommon)
|
||||
|
||||
.preinit_array 0x000000000804992c 0x0
|
||||
[!provide] PROVIDE (__preinit_array_start, .)
|
||||
*(.preinit_array)
|
||||
[!provide] PROVIDE (__preinit_array_end, .)
|
||||
|
||||
.init_array 0x000000000804992c 0x0
|
||||
[!provide] PROVIDE (__init_array_start, .)
|
||||
*(SORT(.init_array.*) SORT(.ctors.*))
|
||||
*(.init_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .ctors)
|
||||
[!provide] PROVIDE (__init_array_end, .)
|
||||
|
||||
.fini_array 0x000000000804992c 0x0
|
||||
[!provide] PROVIDE (__fini_array_start, .)
|
||||
*(SORT(.fini_array.*) SORT(.dtors.*))
|
||||
*(.fini_array EXCLUDE_FILE(*crtend?.o *crtend.o *crtbegin?.o *crtbegin.o) .dtors)
|
||||
[!provide] PROVIDE (__fini_array_end, .)
|
||||
|
||||
.ctors
|
||||
*crtbegin.o(.ctors)
|
||||
*crtbegin?.o(.ctors)
|
||||
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
|
||||
*(SORT(.ctors.*))
|
||||
*(.ctors)
|
||||
|
||||
.dtors
|
||||
*crtbegin.o(.dtors)
|
||||
*crtbegin?.o(.dtors)
|
||||
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
|
||||
*(SORT(.dtors.*))
|
||||
*(.dtors)
|
||||
|
||||
.jcr
|
||||
*(.jcr)
|
||||
|
||||
.data.rel.ro
|
||||
*(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
|
||||
*(.data.rel.ro .data.rel.ro.* .gnu.linkonce.d.rel.ro.*)
|
||||
|
||||
.dynamic
|
||||
*(.dynamic)
|
||||
|
||||
.got
|
||||
*(.got)
|
||||
*(.igot)
|
||||
0x000000000804992c . = DATA_SEGMENT_RELRO_END (., (SIZEOF (.got.plt) >= 0xc)?0xc:0x0)
|
||||
|
||||
.got.plt 0x000000000804992c 0x0
|
||||
*(.got.plt)
|
||||
*(.igot.plt)
|
||||
|
||||
.data 0x000000000804992c 0x0
|
||||
*(.data .data.* .gnu.linkonce.d.*)
|
||||
.data 0x000000000804992c 0x0 tmp/powerpc64le-darwin.macho-fold.o
|
||||
.data 0x000000000804992c 0x0 tmp/powerpc64le-darwin.macho-main.o
|
||||
|
||||
.toc 0x000000000804992c 0x0
|
||||
.toc 0x000000000804992c 0x0 tmp/powerpc64le-darwin.macho-main.o
|
||||
|
||||
.opd 0x0000000008049930 0x40
|
||||
.opd 0x0000000008049930 0x40 tmp/powerpc64le-darwin.macho-main.o
|
||||
0x0000000008049960 upx_main
|
||||
|
||||
.data1
|
||||
*(.data1)
|
||||
0x0000000008049970 _edata = .
|
||||
[!provide] PROVIDE (edata, .)
|
||||
0x0000000008049970 . = .
|
||||
0x0000000008049970 __bss_start = .
|
||||
|
||||
.bss 0x0000000008049970 0x0
|
||||
*(.dynbss)
|
||||
*(.bss .bss.* .gnu.linkonce.b.*)
|
||||
.bss 0x0000000008049970 0x0 tmp/powerpc64le-darwin.macho-fold.o
|
||||
.bss 0x0000000008049970 0x0 tmp/powerpc64le-darwin.macho-main.o
|
||||
*(COMMON)
|
||||
0x0000000008049970 . = ALIGN ((. != 0x0)?0x4:0x1)
|
||||
0x0000000008049970 . = ALIGN (0x4)
|
||||
0x0000000008049970 . = SEGMENT_START ("ldata-segment", .)
|
||||
0x0000000008049970 . = ALIGN (0x4)
|
||||
0x0000000008049970 _end = .
|
||||
[!provide] PROVIDE (end, .)
|
||||
0x0000000008049970 . = DATA_SEGMENT_END (.)
|
||||
|
||||
.stab
|
||||
*(.stab)
|
||||
|
||||
.stabstr
|
||||
*(.stabstr)
|
||||
|
||||
.stab.excl
|
||||
*(.stab.excl)
|
||||
|
||||
.stab.exclstr
|
||||
*(.stab.exclstr)
|
||||
|
||||
.stab.index
|
||||
*(.stab.index)
|
||||
|
||||
.stab.indexstr
|
||||
*(.stab.indexstr)
|
||||
|
||||
.comment
|
||||
*(.comment)
|
||||
|
||||
.debug
|
||||
*(.debug)
|
||||
|
||||
.line
|
||||
*(.line)
|
||||
|
||||
.debug_srcinfo
|
||||
*(.debug_srcinfo)
|
||||
|
||||
.debug_sfnames
|
||||
*(.debug_sfnames)
|
||||
|
||||
.debug_aranges
|
||||
*(.debug_aranges)
|
||||
|
||||
.debug_pubnames
|
||||
*(.debug_pubnames)
|
||||
|
||||
.debug_info
|
||||
*(.debug_info .gnu.linkonce.wi.*)
|
||||
|
||||
.debug_abbrev
|
||||
*(.debug_abbrev)
|
||||
|
||||
.debug_line
|
||||
*(.debug_line .debug_line.* .debug_line_end)
|
||||
|
||||
.debug_frame
|
||||
*(.debug_frame)
|
||||
|
||||
.debug_str
|
||||
*(.debug_str)
|
||||
|
||||
.debug_loc
|
||||
*(.debug_loc)
|
||||
|
||||
.debug_macinfo
|
||||
*(.debug_macinfo)
|
||||
|
||||
.debug_weaknames
|
||||
*(.debug_weaknames)
|
||||
|
||||
.debug_funcnames
|
||||
*(.debug_funcnames)
|
||||
|
||||
.debug_typenames
|
||||
*(.debug_typenames)
|
||||
|
||||
.debug_varnames
|
||||
*(.debug_varnames)
|
||||
|
||||
.debug_pubtypes
|
||||
*(.debug_pubtypes)
|
||||
|
||||
.debug_ranges
|
||||
*(.debug_ranges)
|
||||
|
||||
.debug_macro
|
||||
*(.debug_macro)
|
||||
|
||||
.gnu.attributes
|
||||
*(.gnu.attributes)
|
||||
|
||||
/DISCARD/
|
||||
*(.note.GNU-stack)
|
||||
*(.gnu_debuglink)
|
||||
*(.gnu.lto_*)
|
||||
OUTPUT(tmp/powerpc64le-darwin.macho-fold.bin binary)
|
||||
Reference in New Issue
Block a user