(except r1, r2, and input args!) So, r12 .e_entry for musl must copy from a saved register. [qemu-ppc64 doesn't trash registers!] modified: ../.github/travis_testsuite_1.sh modified: p_lx_elf.cpp modified: stub/src/amd64-linux.elf-main.c modified: stub/src/powerpc64le-linux.elf-fold.S also .h .fold.map
175 lines
12 KiB
C
175 lines
12 KiB
C
/* amd64-linux.elf-fold.h
|
|
created from amd64-linux.elf-fold.bin, 2148 (0x864) bytes
|
|
|
|
This file is part of the UPX executable compressor.
|
|
|
|
Copyright (C) 1996-2017 Markus Franz Xaver Johannes Oberhumer
|
|
Copyright (C) 1996-2017 Laszlo Molnar
|
|
Copyright (C) 2000-2017 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 STUB_AMD64_LINUX_ELF_FOLD_SIZE 2148
|
|
#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x00ad254f
|
|
#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x43dc8ba8
|
|
|
|
unsigned char stub_amd64_linux_elf_fold[2148] = {
|
|
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0,
|
|
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
|
|
/* 0x0060 */ 100, 8, 0, 0, 0, 0, 0, 0,100, 8, 0, 0, 0, 0, 0, 0,
|
|
/* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 0x0080 */ 100, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
|
/* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
|
|
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 74, 0, 0,
|
|
/* 0x00c0 */ 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55,253, 94, 86, 91,
|
|
/* 0x00d0 */ 235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128,114, 10, 60,143,
|
|
/* 0x00e0 */ 119, 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,
|
|
/* 0x00f0 */ 206,115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216,
|
|
/* 0x0100 */ 171, 72, 57,206,115, 3,172,235,223, 91,195, 88, 65, 86, 65, 87,
|
|
/* 0x0110 */ 80, 72,137,230, 72,129,236, 0, 16, 0, 0, 84, 95,106, 9, 89,
|
|
/* 0x0120 */ 243, 72,165, 72,131, 62, 0, 72,165,117,248, 73,137,254, 72,171,
|
|
/* 0x0130 */ 72,131, 62, 0, 72,165,117,248, 73,137,252, 72,131, 62, 0, 72,
|
|
/* 0x0140 */ 165, 72,165,117,246, 73,137,255, 73,137,245, 77, 41,252,186,255,
|
|
/* 0x0150 */ 15, 0, 0, 87, 94, 72,141,123,237,106, 89, 88, 15, 5,133,192,
|
|
/* 0x0160 */ 121, 5, 87, 94,106, 15, 88,145,253, 73,141,125,255,176, 0,170,
|
|
/* 0x0170 */ 72,141,116, 14,255,243,164, 72,131,239, 3,199, 7, 32, 32, 32,
|
|
/* 0x0180 */ 61, 73,137, 62, 72,131,231,248, 76,137,249, 72, 41,225,137,200,
|
|
/* 0x0190 */ 49,248,131,224, 8, 72, 41,199, 73,137,254, 72,131,239, 8, 73,
|
|
/* 0x01a0 */ 141,119,248, 72,193,233, 3,243, 72,165, 72,141,103, 8,252, 75,
|
|
/* 0x01b0 */ 141, 12, 38,139, 67,252,131,224, 1, 72, 1,193, 65, 89, 94, 95,
|
|
/* 0x01c0 */ 88, 72,129,236, 0, 8, 0, 0, 72,137,226, 80, 73,137,232,232,
|
|
/* 0x01d0 */ 72, 5, 0, 0, 72,129,196, 8, 8, 0, 0, 72,137, 68, 36, 24,
|
|
/* 0x01e0 */ 91, 69, 41,201, 65,137,216,106, 2, 65, 90,106, 1, 90,190, 0,
|
|
/* 0x01f0 */ 16, 0, 0,106, 0, 95,106, 9, 88, 15, 5,137,223,106, 3, 88,
|
|
/* 0x0200 */ 15, 5, 95, 94,106, 11, 88, 65,255,102,248,176, 9, 73,137,202,
|
|
/* 0x0210 */ 15,182,192, 15, 5, 72, 61, 0,240,255,255,114, 4, 72,131,200,
|
|
/* 0x0220 */ 255,195,176, 60,235, 2,176, 12,235, 2,176, 3,235, 2,176, 2,
|
|
/* 0x0230 */ 235, 2,176, 11,235, 2,176, 10,235, 2,176, 1,235, 2,176, 0,
|
|
/* 0x0240 */ 235,206, 0, 0, 81, 72, 57, 23, 76,139, 71, 8, 72,141, 74,255,
|
|
/* 0x0250 */ 115, 10,191,127, 0, 0, 0,232,198,255,255,255, 72,131,249,255,
|
|
/* 0x0260 */ 116, 17, 65, 15,182, 0, 72,255,201, 73,255,192,136, 6, 72,255,
|
|
/* 0x0270 */ 198,235,233, 72, 1, 87, 8, 72, 41, 23, 88,195, 65, 85, 73,137,
|
|
/* 0x0280 */ 213, 65, 84, 73,137,204, 85, 72,137,253, 83, 72,137,243, 72,131,
|
|
/* 0x0290 */ 236, 40, 72,131, 62, 0, 15,132,230, 0, 0, 0, 72,141,116, 36,
|
|
/* 0x02a0 */ 16,186, 12, 0, 0, 0, 72,137,239,232,150,255,255,255,139, 68,
|
|
/* 0x02b0 */ 36, 16,139,116, 36, 20,133,192,117, 21,129,254, 85, 80, 88, 33,
|
|
/* 0x02c0 */ 117, 17, 72,131,125, 0, 0, 15,132,181, 0, 0, 0,235, 4,133,
|
|
/* 0x02d0 */ 246,117, 10,191,127, 0, 0, 0,232, 69,255,255,255, 57,198,119,
|
|
/* 0x02e0 */ 242,137,194, 72, 59, 19,119,235, 57,198, 72,139, 67, 8,115,108,
|
|
/* 0x02f0 */ 72,137, 84, 36, 8, 72,139,125, 8, 72,141, 76, 36, 8, 68,139,
|
|
/* 0x0300 */ 68, 36, 24, 72,137,194, 65,255,213,133,192,117,198,139, 68, 36,
|
|
/* 0x0310 */ 16, 72,139,116, 36, 8, 72, 57,198,117,184, 15,182, 76, 36, 25,
|
|
/* 0x0320 */ 132,201, 15,149,194, 49,192, 77,133,228, 15,149,192,133,194,116,
|
|
/* 0x0330 */ 29, 72,129,254, 0, 2, 0, 0,119, 5, 72, 57, 51,117, 15, 15,
|
|
/* 0x0340 */ 182, 84, 36, 26, 15,182,201, 72,139,123, 8, 65,255,212,139, 68,
|
|
/* 0x0350 */ 36, 20, 72, 1, 69, 8, 72, 41, 69, 0,235, 13,137,242, 72,137,
|
|
/* 0x0360 */ 239, 72,137,198,232,219,254,255,255,139, 84, 36, 16, 72,139, 3,
|
|
/* 0x0370 */ 72, 1, 83, 8, 72, 41,208, 72,133,192, 72,137, 3,233, 20,255,
|
|
/* 0x0380 */ 255,255, 72,131,196, 40, 91, 93, 65, 92, 65, 93,195, 72,133,255,
|
|
/* 0x0390 */ 73,137,208,116, 47, 64,246,199, 1,117, 41, 72,139, 7,137,241,
|
|
/* 0x03a0 */ 72, 57,200,116, 17, 72,255,200, 15,148,194, 49,192,133,246, 15,
|
|
/* 0x03b0 */ 149,192,133,194,116, 8, 72,137, 15, 76,137, 71, 8,195, 72,131,
|
|
/* 0x03c0 */ 199, 16,235,215,195, 65, 87,184, 0, 0, 0, 0, 65, 86, 73,137,
|
|
/* 0x03d0 */ 254, 65, 85, 65, 84, 73,137,252, 85, 83, 72,131,236, 88, 76, 3,
|
|
/* 0x03e0 */ 103, 32,102,131,127, 16, 3, 72,137, 76, 36, 32,185, 16, 0, 0,
|
|
/* 0x03f0 */ 0, 76,137, 68, 36, 24, 72,137,116, 36, 48,137, 84, 36, 44, 76,
|
|
/* 0x0400 */ 137, 76, 36, 16, 15,183, 87, 56, 15, 68,200, 72,139,132, 36,144,
|
|
/* 0x0410 */ 0, 0, 0, 76,137,230, 72,131,205,255, 49,219, 49,255,131,193,
|
|
/* 0x0420 */ 34, 76,139, 0,255,202,120, 33,131, 62, 1,117, 22, 72,139, 70,
|
|
/* 0x0430 */ 16, 72, 57,232, 72, 15, 66,232, 72, 3, 70, 40, 72, 57,195, 72,
|
|
/* 0x0440 */ 15, 66,216, 72,131,198, 56,235,219, 72,129,229, 0,240,255,255,
|
|
/* 0x0450 */ 72, 41,235, 72,129,195,255, 15, 0, 0, 72,129,227, 0,240,255,
|
|
/* 0x0460 */ 255,246,193, 16,116, 5, 72,137,239,235, 19, 72,133,237,117, 14,
|
|
/* 0x0470 */ 137,200, 76,137,199,131,200, 16, 77,133,192, 15, 69,200, 69, 49,
|
|
/* 0x0480 */ 201, 65,131,200,255, 49,210, 72,137,222,232,124,253,255,255, 72,
|
|
/* 0x0490 */ 137,199, 72,141, 4, 3,199, 68, 36, 12, 0, 0, 0, 0, 73,137,
|
|
/* 0x04a0 */ 253, 73, 41,237,102, 65,131,126, 56, 0, 72,137, 68, 36, 56, 15,
|
|
/* 0x04b0 */ 132, 70, 2, 0, 0, 72,131,124, 36, 48, 0,116, 35, 65,131, 60,
|
|
/* 0x04c0 */ 36, 6,117, 28, 73,139, 84, 36, 16, 72,139,124, 36, 32,190, 3,
|
|
/* 0x04d0 */ 0, 0, 0, 76, 1,234,232,178,254,255,255,233, 4, 2, 0, 0,
|
|
/* 0x04e0 */ 65,131, 60, 36, 1, 15,133,249, 1, 0, 0, 72,131,124, 36, 48,
|
|
/* 0x04f0 */ 0,116, 75, 73,131,124, 36, 8, 0,117, 67, 73,139, 84, 36, 16,
|
|
/* 0x0500 */ 72,139,124, 36, 32,190, 3, 0, 0, 0, 76, 1,234, 73, 3, 86,
|
|
/* 0x0510 */ 32,232,119,254,255,255, 73, 15,183, 86, 56, 72,139,124, 36, 32,
|
|
/* 0x0520 */ 190, 5, 0, 0, 0,232, 99,254,255,255, 73, 15,183, 86, 54, 72,
|
|
/* 0x0530 */ 139,124, 36, 32,190, 4, 0, 0, 0,232, 79,254,255,255, 73,139,
|
|
/* 0x0540 */ 68, 36, 16, 65,139, 76, 36, 4, 65,131,200,255,199, 68, 36, 8,
|
|
/* 0x0550 */ 64, 98, 81,115, 73,139, 84, 36, 32, 76, 1,232,131,225, 7, 72,
|
|
/* 0x0560 */ 137,197, 72,137, 68, 36, 72, 73,139, 68, 36, 40, 72,137,235,193,
|
|
/* 0x0570 */ 225, 2,211,108, 36, 8,129,227,255, 15, 0, 0,131,100, 36, 8,
|
|
/* 0x0580 */ 7, 72,137, 84, 36, 64, 72, 1,232, 72, 41,221, 76,141, 60, 26,
|
|
/* 0x0590 */ 72,137, 4, 36,185, 50, 0, 0, 0, 73,139, 68, 36, 8, 72, 41,
|
|
/* 0x05a0 */ 216, 72,131,124, 36, 48, 0,117, 7, 68,139, 68, 36, 44,177, 18,
|
|
/* 0x05b0 */ 139, 84, 36, 8, 73,137,193, 76,137,254, 72,137,239,131,202, 2,
|
|
/* 0x05c0 */ 72,131,124, 36, 48, 0, 15, 68, 84, 36, 8,232, 59,252,255,255,
|
|
/* 0x05d0 */ 72, 57,197, 15,133,207, 0, 0, 0, 72,131,124, 36, 48, 0,116,
|
|
/* 0x05e0 */ 25, 72,139, 76, 36, 16, 72,139, 84, 36, 24, 72,141,116, 36, 64,
|
|
/* 0x05f0 */ 72,139,124, 36, 48,232,130,252,255,255, 76,137,251, 72,247,219,
|
|
/* 0x0600 */ 129,227,255, 15, 0, 0,246, 68, 36, 8, 2,116, 13, 74,141,124,
|
|
/* 0x0610 */ 61, 0, 49,192, 72,137,217,252,243,170, 72,131,124, 36, 48, 0,
|
|
/* 0x0620 */ 15,132,140, 0, 0, 0, 72,184,255,255,255,255, 1, 0, 0, 0,
|
|
/* 0x0630 */ 73, 35, 4, 36, 72,186, 1, 0, 0, 0, 1, 0, 0, 0, 72, 57,
|
|
/* 0x0640 */ 208,117, 82, 73,139, 84, 36, 40, 73,139,116, 36, 16, 73, 59, 84,
|
|
/* 0x0650 */ 36, 32, 72,141, 4, 50, 74,141, 12, 40,117, 14,137,200,247,216,
|
|
/* 0x0660 */ 37,255, 15, 0, 0,131,248, 3,119, 13, 73,131,124, 36, 8, 0,
|
|
/* 0x0670 */ 74,141, 76, 46, 12,117, 30, 72,133,201,199, 1, 15, 5,195,144,
|
|
/* 0x0680 */ 116, 19, 72,139,124, 36, 32, 72,137,202, 49,246, 72,131,231,254,
|
|
/* 0x0690 */ 232,248,252,255,255,139, 84, 36, 8, 76,137,254, 72,137,239,232,
|
|
/* 0x06a0 */ 146,251,255,255,133,192,116, 10,191,127, 0, 0, 0,232,112,251,
|
|
/* 0x06b0 */ 255,255, 73,141, 4, 31, 72, 1,197, 72, 59, 44, 36,115, 37, 72,
|
|
/* 0x06c0 */ 41, 44, 36,139, 84, 36, 8, 69, 49,201, 72,139, 52, 36, 65,131,
|
|
/* 0x06d0 */ 200,255,185, 50, 0, 0, 0, 72,137,239,232, 44,251,255,255, 72,
|
|
/* 0x06e0 */ 57,197,117,196,255, 68, 36, 12, 65, 15,183, 70, 56, 73,131,196,
|
|
/* 0x06f0 */ 56, 57, 68, 36, 12, 15,140,186,253,255,255, 72,139,132, 36,144,
|
|
/* 0x0700 */ 0, 0, 0, 76,137, 40, 77, 3,110, 24, 72,131,196, 88, 91, 93,
|
|
/* 0x0710 */ 65, 92, 76,137,232, 65, 93, 65, 94, 65, 95,195, 65, 87, 65, 86,
|
|
/* 0x0720 */ 73,137,206, 49,201, 65, 85, 65, 84, 77,137,204, 85, 72,137,213,
|
|
/* 0x0730 */ 76,141,109, 64, 83, 76,137,195, 72,131,236, 72,139, 7, 72,137,
|
|
/* 0x0740 */ 124, 36, 24, 72,137,124, 36, 40, 76,141,188, 36,128, 0, 0, 0,
|
|
/* 0x0750 */ 72,137,116, 36, 32, 72,141,116, 36, 48, 72,137, 84, 36, 56, 76,
|
|
/* 0x0760 */ 137,194, 72,137, 68, 36, 48,139, 71, 4, 72,141,124, 36, 16, 72,
|
|
/* 0x0770 */ 131,192, 12, 72,137, 68, 36, 16,232,255,250,255,255, 65, 83, 77,
|
|
/* 0x0780 */ 137,225, 49,210, 73,137,216, 76,137,241, 72,137,239, 72,141,116,
|
|
/* 0x0790 */ 36, 40, 65, 87,232, 44,252,255,255,190, 9, 0, 0, 0, 72,137,
|
|
/* 0x07a0 */ 194, 76,137,247, 73,137,196,232,225,251,255,255, 65, 89, 65, 90,
|
|
/* 0x07b0 */ 102,131,125, 56, 0,199, 68, 36, 12, 0, 0, 0, 0, 15,132,143,
|
|
/* 0x07c0 */ 0, 0, 0, 65,131,125, 0, 3,117,114, 73,139, 63, 73, 3,125,
|
|
/* 0x07d0 */ 16, 49,210, 49,246,232, 84,250,255,255,133,192,137,195,120, 23,
|
|
/* 0x07e0 */ 186, 0, 4, 0, 0, 72,137,238,137,199,232, 79,250,255,255, 72,
|
|
/* 0x07f0 */ 61, 0, 4, 0, 0,116, 10,191,127, 0, 0, 0,232, 33,250,255,
|
|
/* 0x0800 */ 255, 73,199, 7, 0, 0, 0, 0, 65, 80, 69, 49,201, 69, 49,192,
|
|
/* 0x0810 */ 49,201, 65, 87,137,218, 49,246, 72,137,239,232,165,251,255,255,
|
|
/* 0x0820 */ 73,139, 23,190, 7, 0, 0, 0, 76,137,247, 73,137,196,232, 90,
|
|
/* 0x0830 */ 251,255,255,137,223,232,240,249,255,255, 94, 95,255, 68, 36, 12,
|
|
/* 0x0840 */ 15,183, 69, 56, 73,131,197, 56, 57, 68, 36, 12, 15,130,113,255,
|
|
/* 0x0850 */ 255,255, 72,131,196, 72, 76,137,224, 91, 93, 65, 92, 65, 93, 65,
|
|
/* 0x0860 */ 94, 65, 95,195
|
|
};
|