mips memfd_create() and syscall error handling

https://github.com/upx/upx/issues/895
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   stub/src/mipsel.r3000-linux.elf-entry.S
	modified:   stub/src/mipsel.r3000-linux.elf-fold.S
           plus generated .h .dump .map
This commit is contained in:
John Reiser 2025-03-13 08:07:26 -07:00
parent c2da21ba4e
commit 6f650ca16f
11 changed files with 2283 additions and 2325 deletions

View File

@ -61,9 +61,9 @@ b188a4cf5b88fff7087db684936a3f269c13e37e6478e0c7b6bb1e73095b5ddf *i386-linux.elf
934dd17076c0298d35a738533ea668e1fcbf8fc85c6671fcdd3a12e7722502ce *i386-win32.pe/upx-3.91.exe 934dd17076c0298d35a738533ea668e1fcbf8fc85c6671fcdd3a12e7722502ce *i386-win32.pe/upx-3.91.exe
519a9f6b3de56f5f080151074b9d5d81e31c1961cd6e395f73d2d522b7f7f8e0 *i386-win32.pe/upx-3.95.exe 519a9f6b3de56f5f080151074b9d5d81e31c1961cd6e395f73d2d522b7f7f8e0 *i386-win32.pe/upx-3.95.exe
a7bd9f616231d883f6700b09e3c9a0af2880c6b5e5b0ce1cd8f06de43c48856c *m68k-atari.tos/upx-3.91.ttp a7bd9f616231d883f6700b09e3c9a0af2880c6b5e5b0ce1cd8f06de43c48856c *m68k-atari.tos/upx-3.91.ttp
784f8297c20b4ad4516bf4a21df94c0a936bb52ee2a86438a4b83264d4f071d6 *mips-linux.elf/upx-3.95 9fb1f8baf74af46331c9f7eb8ca5bdfdff2f2f08860b41f3935750b6b290b91b *mips-linux.elf/upx-3.95
7539fb27c984f3941a81ecf5183b1e3a2b7a50b33906155f9cdf8af8ab9379dc *mipsel-linux.elf/upx-3.91 64a8ed9efab61d679f9980dd2d0c11d21f36b5532d2210fbcf0c47116857b3bb *mipsel-linux.elf/upx-3.91
1a2886cde897852889c4071cb67cdba44bdcc58aedc69472f87c3ea6b3379761 *mipsel-linux.elf/upx-3.95 4367a167758cbc6d9d592e3dd70c4aeb6fab7af54b764207589058d7ffde0668 *mipsel-linux.elf/upx-3.95
6293dca3c5a8af11d162d54b192f8633fda273687f0fd62fbcfd505714c16eed *powerpc-linux.elf/upx-3.91 6293dca3c5a8af11d162d54b192f8633fda273687f0fd62fbcfd505714c16eed *powerpc-linux.elf/upx-3.91
ea44b1e10ceef478d46b430978de22c85854b8d72fdc5334fdd1b2dd021676db *powerpc-linux.elf/upx-3.95 ea44b1e10ceef478d46b430978de22c85854b8d72fdc5334fdd1b2dd021676db *powerpc-linux.elf/upx-3.95
79cbf5b8b4c5c6365520f1c198e8776e5ceaa9a8c2e23701ebb10aab16e919c9 *powerpc64le-linux.elf/upx-3.95 79cbf5b8b4c5c6365520f1c198e8776e5ceaa9a8c2e23701ebb10aab16e919c9 *powerpc64le-linux.elf/upx-3.95
@ -84,9 +84,9 @@ fbcdf5ce2c0ae2c67d0cd08d1be2c133ee692ff3353859a437496530963330f1 *i386-linux.elf
3edf364443a3cd56efd04e95cc7d7c1846bf76addedd7263cfe8330771f19509 *i386-win32.pe/upx-3.91.exe 3edf364443a3cd56efd04e95cc7d7c1846bf76addedd7263cfe8330771f19509 *i386-win32.pe/upx-3.91.exe
48141fd66443f85ea867d7fa0bb3a50debb10f15bdb26c71888026e17c88d3a8 *i386-win32.pe/upx-3.95.exe 48141fd66443f85ea867d7fa0bb3a50debb10f15bdb26c71888026e17c88d3a8 *i386-win32.pe/upx-3.95.exe
07e1c09a953a9c87afa33d1236f46244280161bf3802273a523d380318886177 *m68k-atari.tos/upx-3.91.ttp 07e1c09a953a9c87afa33d1236f46244280161bf3802273a523d380318886177 *m68k-atari.tos/upx-3.91.ttp
9f17f7e4cdd716b8f55f8a95bf9e311519e49f560dcadf25030e439d07e5fb9f *mips-linux.elf/upx-3.95 9ba1e101ad766a2fe48bd935440aa970c530d77430920f4cc08ec8928452aca2 *mips-linux.elf/upx-3.95
1aaf80c93a6a044dda9fc61ac4ea806c2f59d09141b9fa8dffe18c677b923028 *mipsel-linux.elf/upx-3.91 5e5ff6d4d54e1d88ddd6f6b2b4f129b338ef0713b70eb4302465eea0a35908a9 *mipsel-linux.elf/upx-3.91
108c9cd75c6fe094b0bb43b4ba9b2ab323890cff001539caeb70fd2618ebb0b3 *mipsel-linux.elf/upx-3.95 ee16bb407219617dd5eefb3334de07cae6665c2c2f86976131f0d4ee26b231c9 *mipsel-linux.elf/upx-3.95
275f21b4cade1717436d54f1133769772b2a02cb6b831b6e8187db2a5f2b4b76 *powerpc-linux.elf/upx-3.91 275f21b4cade1717436d54f1133769772b2a02cb6b831b6e8187db2a5f2b4b76 *powerpc-linux.elf/upx-3.91
749b7272b02ffab05a8839e55d02258398ab2fede9b7435998326620eec0cbff *powerpc-linux.elf/upx-3.95 749b7272b02ffab05a8839e55d02258398ab2fede9b7435998326620eec0cbff *powerpc-linux.elf/upx-3.95
9c9bb4dfd45eaa0fe5701dd760c07f5780899207107ca1b934306a98301367ac *powerpc64le-linux.elf/upx-3.95 9c9bb4dfd45eaa0fe5701dd760c07f5780899207107ca1b934306a98301367ac *powerpc64le-linux.elf/upx-3.95
@ -107,9 +107,9 @@ b4cf235a0c43ffcedf07a6dabf71b885713c131c93799d068b13f7126a37afaf *armeb-linux.el
c78db15a8113b806e56812fd842fb467d2a9c9557fcdc0467dae3f4c33316630 *i386-win32.pe/upx-3.91.exe c78db15a8113b806e56812fd842fb467d2a9c9557fcdc0467dae3f4c33316630 *i386-win32.pe/upx-3.91.exe
89314e8621c4a00e1a65e045686245d3c1e2ba0a858f1dcc8f3cc2d0eedccfb5 *i386-win32.pe/upx-3.95.exe 89314e8621c4a00e1a65e045686245d3c1e2ba0a858f1dcc8f3cc2d0eedccfb5 *i386-win32.pe/upx-3.95.exe
710ad88b63cc7e0fa0b413ebdbcebf41140678f551b5dd883ed6220507be3601 *m68k-atari.tos/upx-3.91.ttp 710ad88b63cc7e0fa0b413ebdbcebf41140678f551b5dd883ed6220507be3601 *m68k-atari.tos/upx-3.91.ttp
6b94fcf8e15275a441b83dcfa053f33aec54affad01b767c4eb5c1ff5b194543 *mips-linux.elf/upx-3.95 238869db728786358f6dc5fbd184766236c7e1275c331e3c82b12e9395579855 *mips-linux.elf/upx-3.95
ddeae1a8a790c251353622b96f5c8c08711c6f037a4a00ea58d6d146b5fbc8f9 *mipsel-linux.elf/upx-3.91 76fefeb10f57771ba4be3107873f0133fef3d22f1ea9a6c62f46adf5ac107b16 *mipsel-linux.elf/upx-3.91
60e6e620d84598753b6f22642182f38ece6dc9739c172ad0c980e1415963042b *mipsel-linux.elf/upx-3.95 c89b28b3af727bb4f8195b36f5db1cab78474d52de8957cf6c9379fbb8b9bdae *mipsel-linux.elf/upx-3.95
7dc49d1911f83210fa530a8f2c7aa8b1b8ba2dee5596d53d8b8fe2cabc5127be *powerpc-linux.elf/upx-3.91 7dc49d1911f83210fa530a8f2c7aa8b1b8ba2dee5596d53d8b8fe2cabc5127be *powerpc-linux.elf/upx-3.91
a3520c37ad1ec4a29a972885f03c6d57e55284b38f0fd91d4f12870af4198b20 *powerpc-linux.elf/upx-3.95 a3520c37ad1ec4a29a972885f03c6d57e55284b38f0fd91d4f12870af4198b20 *powerpc-linux.elf/upx-3.95
f6039fe3a900d27f160a7c1bf673ef7b403bd002fa36161fa786ef2d06598793 *powerpc64le-linux.elf/upx-3.95 f6039fe3a900d27f160a7c1bf673ef7b403bd002fa36161fa786ef2d06598793 *powerpc64le-linux.elf/upx-3.95
@ -130,9 +130,9 @@ fcf11333cd639030ef57d3768b7774e2109229c81705696afa93bcc1edf5f65d *armeb-linux.el
0e0780f5fccc52f6c78414f7279263b26e31de7c6ca1ec65a240e37cf0a4f5c9 *i386-win32.pe/upx-3.91.exe 0e0780f5fccc52f6c78414f7279263b26e31de7c6ca1ec65a240e37cf0a4f5c9 *i386-win32.pe/upx-3.91.exe
3ddd6265d69e374f5f0f8c9f602e0e59c895da2f3fef611ef89f0ee4ae2c592b *i386-win32.pe/upx-3.95.exe 3ddd6265d69e374f5f0f8c9f602e0e59c895da2f3fef611ef89f0ee4ae2c592b *i386-win32.pe/upx-3.95.exe
e268c98fdacfd04268d76644f2bb4746ae04b57801407aaa1867798840eeeea0 *m68k-atari.tos/upx-3.91.ttp e268c98fdacfd04268d76644f2bb4746ae04b57801407aaa1867798840eeeea0 *m68k-atari.tos/upx-3.91.ttp
04eba7976df7934aa11afb3584c9e935d2de3954c8628ed81ec060e795c7e8df *mips-linux.elf/upx-3.95 63fc70ae04c0a17c3055fb4c99d3173260697234d6640dd96554588f8867658b *mips-linux.elf/upx-3.95
3995cd046a373ed26e1f0ea24c69250e943b3d90b9a13d3b7ae9f452362b95a5 *mipsel-linux.elf/upx-3.91 bf7dd61eeefc2b04bf68890315fe49bed4dfd5b1e867a424b69fb0a1f761f0de *mipsel-linux.elf/upx-3.91
4e9f5dcc55ec95847858881a9ff25da6607ceccc26238c5a937a732aa67fdd50 *mipsel-linux.elf/upx-3.95 4a2d59296fa5841e38e945f21e5c4b9e1b2370748ef22c00aec3621b69f42896 *mipsel-linux.elf/upx-3.95
09bc2d2bb2683d732d80d41f89faddeb9e034ac62037afbe6dae67e827c6751f *powerpc-linux.elf/upx-3.91 09bc2d2bb2683d732d80d41f89faddeb9e034ac62037afbe6dae67e827c6751f *powerpc-linux.elf/upx-3.91
03264149ed2462a37d8acdc2dfe5783e39c7b81bbd55d167c2b4efb0d12f94a2 *powerpc-linux.elf/upx-3.95 03264149ed2462a37d8acdc2dfe5783e39c7b81bbd55d167c2b4efb0d12f94a2 *powerpc-linux.elf/upx-3.95
d98e1a84b90bfb69ec10229583a61162fec61a80e84a0fda06df5f53bcee405f *powerpc64le-linux.elf/upx-3.95 d98e1a84b90bfb69ec10229583a61162fec61a80e84a0fda06df5f53bcee405f *powerpc64le-linux.elf/upx-3.95
@ -153,9 +153,9 @@ c677241e9a8753ba1332ac3875ab6398fb2d792d2627edd9e58f2535b3131abe *i386-dos32.djg
8ec02f816f4727b519e8775edc1afb1df32991319a6c6f050ece416011925379 *i386-win32.pe/upx-3.91.exe 8ec02f816f4727b519e8775edc1afb1df32991319a6c6f050ece416011925379 *i386-win32.pe/upx-3.91.exe
d5aeeedada49c0c2870ea450ed66b2cea31369bccfccf9407378ae0fb0736deb *i386-win32.pe/upx-3.95.exe d5aeeedada49c0c2870ea450ed66b2cea31369bccfccf9407378ae0fb0736deb *i386-win32.pe/upx-3.95.exe
e414ad0aba43790d0498b26c23055fb051129b6cbe3e070a1406c91ac5b8032b *m68k-atari.tos/upx-3.91.ttp e414ad0aba43790d0498b26c23055fb051129b6cbe3e070a1406c91ac5b8032b *m68k-atari.tos/upx-3.91.ttp
182aac88dd73c1c27083ea61ff412885d398288e3e517afb8b0b4ba7e770728a *mips-linux.elf/upx-3.95 f9c58b4a7e72f64404929834b6842af173d343201affc1b0e24e1f2d3d7c3a94 *mips-linux.elf/upx-3.95
eb7d5d9304b24e63902c509fd0877d0f0f8097f10adfab29c18616c6da24ac3f *mipsel-linux.elf/upx-3.91 0e857679930a0aa3462b8ce1d808b0ed35c68f1b3f4e9fe9341b581c5331638d *mipsel-linux.elf/upx-3.91
cb4c607f2145943a675d9e411410fa4e1434dff5ab28be65b6a58703bc766a6c *mipsel-linux.elf/upx-3.95 37ae855599bf9b7fe09e44c96740df674f4930cd7c42890faf35fadbbe8c61df *mipsel-linux.elf/upx-3.95
d4d331ec763f719eb77759edb73154cba83fb99f635d3a655412f275734c66ce *powerpc-linux.elf/upx-3.91 d4d331ec763f719eb77759edb73154cba83fb99f635d3a655412f275734c66ce *powerpc-linux.elf/upx-3.91
066dd3e0ed2f142057bea493f1e6dfdc4746c81a890442afa6fe59ab1eb63bcc *powerpc-linux.elf/upx-3.95 066dd3e0ed2f142057bea493f1e6dfdc4746c81a890442afa6fe59ab1eb63bcc *powerpc-linux.elf/upx-3.95
0571fbd0d00610d06a1a1791084d95149f9441fafccd31384f69bbfd1ba4bc41 *powerpc64le-linux.elf/upx-3.95 0571fbd0d00610d06a1a1791084d95149f9441fafccd31384f69bbfd1ba4bc41 *powerpc64le-linux.elf/upx-3.95
@ -176,9 +176,9 @@ b13f63cbb82ae1404fe18f9c8005d0b0a5986c555f47ec765d47521f1dd755de *i386-linux.elf
f3d33c5c9809943a902133490bcf0cfbe39a5ef1635a0c29b3bdc4f35dfffa50 *i386-win32.pe/upx-3.91.exe f3d33c5c9809943a902133490bcf0cfbe39a5ef1635a0c29b3bdc4f35dfffa50 *i386-win32.pe/upx-3.91.exe
474e68a2390cf0376f59402eaef4c902daa49428b628e025b1c8506428a37937 *i386-win32.pe/upx-3.95.exe 474e68a2390cf0376f59402eaef4c902daa49428b628e025b1c8506428a37937 *i386-win32.pe/upx-3.95.exe
1561dd69f67e8705804dba41ebd876bce6a4ce8ed8b0bc0d0e7628697e7fee68 *m68k-atari.tos/upx-3.91.ttp 1561dd69f67e8705804dba41ebd876bce6a4ce8ed8b0bc0d0e7628697e7fee68 *m68k-atari.tos/upx-3.91.ttp
a670a2dccb606953533cd6925f5e29822223e5b6fd2bededf370b85dbd813465 *mips-linux.elf/upx-3.95 73257f83e3aead372347ced99d10b57113fefc2ebffa4fb78c5d08d3c38fde9e *mips-linux.elf/upx-3.95
50dc7222f6a5ea66fc450c242ac758594575a5d23ceb3f55127ddd94a2f236d7 *mipsel-linux.elf/upx-3.91 4c8431f0c159ad8a1509c62f1f4eeeade1c1c5016c5a5dabfd50b9d19021596b *mipsel-linux.elf/upx-3.91
435189e444dcd83a24a5f0cfec766715e62cb5c2033b4f2f28ff0e96610b9365 *mipsel-linux.elf/upx-3.95 f6a57cc20a5b2979f7486955e802eef58cb06a4afae65dac9a2fd553d952bb0d *mipsel-linux.elf/upx-3.95
e0e475db362c933bc3e9e29425388386aeda4fc039d265c5e70a615125509487 *powerpc-linux.elf/upx-3.91 e0e475db362c933bc3e9e29425388386aeda4fc039d265c5e70a615125509487 *powerpc-linux.elf/upx-3.91
dca3c9374ac688710a8f9b64e34de10033e283582a9dc133d947129d6af50ccb *powerpc-linux.elf/upx-3.95 dca3c9374ac688710a8f9b64e34de10033e283582a9dc133d947129d6af50ccb *powerpc-linux.elf/upx-3.95
b77facdefd489d0d524a837ecae8af5abb7c955c42f413fe6abf4afd6b57e551 *powerpc64le-linux.elf/upx-3.95 b77facdefd489d0d524a837ecae8af5abb7c955c42f413fe6abf4afd6b57e551 *powerpc64le-linux.elf/upx-3.95
@ -199,9 +199,9 @@ dda2c348c43741a1bd65049a8e7b51be1ebf873d215370ec002185c85390c168 *i386-dos32.djg
3510bc5627237752bedd275e73c42bc02cd46145ff916e7bccbdec663f763ee4 *i386-win32.pe/upx-3.91.exe 3510bc5627237752bedd275e73c42bc02cd46145ff916e7bccbdec663f763ee4 *i386-win32.pe/upx-3.91.exe
ad47c7522167f6f7e47d495e1fa119431386ca5ea9bc16b6a4b9cb38cf9cd29f *i386-win32.pe/upx-3.95.exe ad47c7522167f6f7e47d495e1fa119431386ca5ea9bc16b6a4b9cb38cf9cd29f *i386-win32.pe/upx-3.95.exe
1c999e5c6cded8c99a7f6b4595879893ae63d2af1388dc61dd8b4e3106676480 *m68k-atari.tos/upx-3.91.ttp 1c999e5c6cded8c99a7f6b4595879893ae63d2af1388dc61dd8b4e3106676480 *m68k-atari.tos/upx-3.91.ttp
0058a16c04a51d2be4fb20a6dcb5cc78f5ebe6e4ce2bfbdc1623f79dbfea0156 *mips-linux.elf/upx-3.95 bdaba01e0f6b07edd351df1e22c5fef4272502060e873a2e802e739f53869139 *mips-linux.elf/upx-3.95
fc605dfddf03ef18126ea780abfe0c5de6333678f6c529e952d3d4208754cce7 *mipsel-linux.elf/upx-3.91 0cc9420e8478e08a58050a0d2f9c329abd26c1dd04e578272fcf23088fcb7925 *mipsel-linux.elf/upx-3.91
4a53178b885cf24432baf7e9b27f6bec02726c062881d23520490cf8b527226b *mipsel-linux.elf/upx-3.95 78e04c5b102bc119f009090666c2630618d877b1a364b375037fc02ef61a001f *mipsel-linux.elf/upx-3.95
d5591cb0ac476381afc147ce32d59eb0816753fa24591508256940ff431d8091 *powerpc-linux.elf/upx-3.91 d5591cb0ac476381afc147ce32d59eb0816753fa24591508256940ff431d8091 *powerpc-linux.elf/upx-3.91
dab06932a152801fc68b54d4c1b0ae76b7167d7265d7bc876fa18360babac2b6 *powerpc-linux.elf/upx-3.95 dab06932a152801fc68b54d4c1b0ae76b7167d7265d7bc876fa18360babac2b6 *powerpc-linux.elf/upx-3.95
a251c35d59646b0dc56e856cf4614351f8f9e5aab67b3e2afc7207c2e2953d19 *powerpc64le-linux.elf/upx-3.95 a251c35d59646b0dc56e856cf4614351f8f9e5aab67b3e2afc7207c2e2953d19 *powerpc64le-linux.elf/upx-3.95

View File

@ -1,5 +1,5 @@
/* mips.r3000-linux.elf-entry.h /* mips.r3000-linux.elf-entry.h
created from mips.r3000-linux.elf-entry.bin, 2032 (0x7f0) bytes created from mips.r3000-linux.elf-entry.bin, 1897 (0x769) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@ -32,11 +32,11 @@
/* clang-format off */ /* clang-format off */
#define STUB_MIPS_R3000_LINUX_ELF_ENTRY_SIZE 2032 #define STUB_MIPS_R3000_LINUX_ELF_ENTRY_SIZE 1897
#define STUB_MIPS_R3000_LINUX_ELF_ENTRY_ADLER32 0x8eb893aa #define STUB_MIPS_R3000_LINUX_ELF_ENTRY_ADLER32 0x3a347ddd
#define STUB_MIPS_R3000_LINUX_ELF_ENTRY_CRC32 0x9db95a15 #define STUB_MIPS_R3000_LINUX_ELF_ENTRY_CRC32 0xddfc99bb
unsigned char stub_mips_r3000_linux_elf_entry[2032] = { unsigned char stub_mips_r3000_linux_elf_entry[1897] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 0, 1, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 1, 0, 8, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 3, 60, 0, 0, 0, 1, 0, 52, 0, 0, 0, 0, 0, 40, /* 0x0020 */ 0, 0, 3, 60, 0, 0, 0, 1, 0, 52, 0, 0, 0, 0, 0, 40,
@ -64,22 +64,22 @@ unsigned char stub_mips_r3000_linux_elf_entry[2032] = {
/* 0x0180 */ 175,184, 0, 0, 0, 96, 32, 33, 0,195, 40, 35,172,229, 0, 0, /* 0x0180 */ 175,184, 0, 0, 0, 96, 32, 33, 0,195, 40, 35,172,229, 0, 0,
/* 0x0190 */ 36, 6, 0, 3, 36, 2, 16, 51, 0, 0, 0, 12,143,162, 0, 0, /* 0x0190 */ 36, 6, 0, 3, 36, 2, 16, 51, 0, 0, 0, 12,143,162, 0, 0,
/* 0x01a0 */ 3,224, 0, 8, 39,189, 0, 4, 39,189,255,224,175,188, 0, 16, /* 0x01a0 */ 3,224, 0, 8, 39,189, 0, 4, 39,189,255,224,175,188, 0, 16,
/* 0x01b0 */ 143,209,255,244, 39,213,255,244, 2,177,168, 34, 4, 17, 0, 2, /* 0x01b0 */ 143,209,255,244, 39,213,255,244, 2,177,168, 34, 36, 5, 0, 16,
/* 0x01c0 */ 3,224, 32, 33,117,112,120, 0, 0, 0, 40, 33, 36, 2, 17, 2, /* 0x01c0 */ 4, 17, 0, 2, 3,224, 32, 33,117,112,120, 0, 36, 2, 17, 2,
/* 0x01d0 */ 0, 0, 0, 12, 0, 64,184, 33,142,147, 0, 0, 3,160,240, 33, /* 0x01d0 */ 0, 0, 0, 12, 16,224, 0, 6, 0, 64,184, 33, 16,160, 0, 3,
/* 0x01e0 */ 175,179, 0, 28, 36, 1,255,248, 3,179,232, 35, 3,161,232, 36, /* 0x01e0 */ 36, 69,255,234, 16,160,255,246, 0, 0, 0, 0, 0, 0, 0, 13,
/* 0x01f0 */ 142,144,255,252, 36, 1,255,252, 2, 1,128, 36,130,136, 0, 8, /* 0x01f0 */ 142,147, 0, 0, 3,160,240, 33,175,179, 0, 28, 36, 1,255,248,
/* 0x0200 */ 175,211, 0, 24, 39,199, 0, 24, 3,160, 48, 33,142,133, 0, 4, /* 0x0200 */ 3,179,232, 35, 3,161,232, 36,142,144,255,252, 36, 1,255,252,
/* 0x0210 */ 4, 17, 0, 1, 38,132, 0, 12,175,188, 0, 0,147,161, 0, 0, /* 0x0210 */ 2, 1,128, 36,130,136, 0, 8,175,211, 0, 24, 39,199, 0, 24,
/* 0x0220 */ 143,163, 0, 36, 16, 32, 0, 3,143,161, 0, 28,175,163, 0, 24, /* 0x0220 */ 3,160, 48, 33,142,133, 0, 4, 4, 17, 0, 1, 38,132, 0, 12,
/* 0x0230 */ 175,161, 0, 16, 2, 96, 48, 33, 3,160, 40, 33, 2,224, 32, 33, /* 0x0230 */ 175,188, 0, 0,147,161, 0, 0,143,163, 0, 36, 16, 32, 0, 3,
/* 0x0240 */ 36, 2, 15,164, 0, 0, 0, 12, 3,192,232, 33, 39,189,255,232, /* 0x0240 */ 143,161, 0, 28,175,163, 0, 24,175,161, 0, 16, 2, 96, 48, 33,
/* 0x0250 */ 175,160, 0, 20,175,183, 0, 16, 36, 7, 0, 1, 36, 6, 0, 5, /* 0x0250 */ 3,160, 40, 33, 2,224, 32, 33, 36, 2, 15,164, 0, 0, 0, 12,
/* 0x0260 */ 142,133, 0, 0, 0, 0, 32, 33, 36, 2, 15,250, 0, 0, 0, 12, /* 0x0260 */ 20,224,255,226, 3,192,232, 33, 39,189,255,232,175,160, 0, 20,
/* 0x0270 */ 39,189, 0, 24,175,162, 0, 24, 36, 95, 0, 8, 2,224, 32, 33, /* 0x0270 */ 175,183, 0, 16, 36, 7, 0, 1, 36, 6, 0, 5,142,133, 0, 0,
/* 0x0280 */ 36, 2, 15,166, 0, 0, 0, 12, 3,224, 0, 8, 2,176,128, 33, /* 0x0280 */ 0, 0, 32, 33, 36, 2, 15,250, 0, 0, 0, 12, 20,224,255,215,
/* 0x0290 */ 36, 2, 17, 2, 0, 0, 0, 12, 3,224, 0, 8, 0, 0, 0, 0, /* 0x0290 */ 39,189, 0, 24,175,162, 0, 24, 36, 95, 0, 8, 2,224, 32, 33,
/* 0x02a0 */ 36, 2, 15,253, 0, 0, 0, 12, 3,224, 0, 8, 0, 0, 0, 0, /* 0x02a0 */ 36, 2, 15,166, 0, 0, 0, 12, 3,224, 0, 8, 2,176,128, 33,
/* 0x02b0 */ 140,131, 0, 0, 36,132, 0, 4, 20, 96,255,253, 0,128,176, 33, /* 0x02b0 */ 140,131, 0, 0, 36,132, 0, 4, 20, 96,255,253, 0,128,176, 33,
/* 0x02c0 */ 3,224, 0, 8, 36, 8, 0, 6, 4, 17,255,249, 39,164, 0, 4, /* 0x02c0 */ 3,224, 0, 8, 36, 8, 0, 6, 4, 17,255,249, 39,164, 0, 4,
/* 0x02d0 */ 4, 17,255,247, 2,192, 32, 33,140,131, 0, 0, 36,132, 0, 8, /* 0x02d0 */ 4, 17,255,247, 2,192, 32, 33,140,131, 0, 0, 36,132, 0, 8,
@ -94,74 +94,66 @@ unsigned char stub_mips_r3000_linux_elf_entry[2032] = {
/* 0x0360 */ 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 6, /* 0x0360 */ 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, 6,
/* 0x0370 */ 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 1,116, 0, 0, 0, 0, /* 0x0370 */ 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 1,116, 0, 0, 0, 0,
/* 0x0380 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 27, /* 0x0380 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 27,
/* 0x0390 */ 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 40, /* 0x0390 */ 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,240,
/* 0x03a0 */ 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4, /* 0x03a0 */ 0, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 4,
/* 0x03b0 */ 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, 6, /* 0x03b0 */ 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, 6,
/* 0x03c0 */ 0, 0, 0, 0, 0, 0, 1,168, 0, 0, 1, 92, 0, 0, 0, 0, /* 0x03c0 */ 0, 0, 0, 0, 0, 0, 1,168, 0, 0, 1, 92, 0, 0, 0, 0,
/* 0x03d0 */ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 40, /* 0x03d0 */ 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 40,
/* 0x03e0 */ 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 48, /* 0x03e0 */ 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,248,
/* 0x03f0 */ 0, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4, /* 0x03f0 */ 0, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, 4,
/* 0x0400 */ 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0, 0, /* 0x0400 */ 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0, 0,
/* 0x0410 */ 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 53, 0, 0, 0, 0, /* 0x0410 */ 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 53, 0, 0, 0, 0,
/* 0x0420 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x0420 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1,
/* 0x0430 */ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,124, /* 0x0430 */ 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,124,
/* 0x0440 */ 0, 0, 0,112, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 4, /* 0x0440 */ 0, 0, 0, 80, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, 4,
/* 0x0450 */ 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 0, /* 0x0450 */ 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, 0,
/* 0x0460 */ 0, 0, 0, 0, 0, 0, 4,236, 0, 0, 0, 57, 0, 0, 0, 0, /* 0x0460 */ 0, 0, 0, 0, 0, 0, 4,204, 0, 0, 0, 34, 0, 0, 0, 0,
/* 0x0470 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0470 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0480 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x0480 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
/* 0x0490 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 10, /* 0x0490 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1, 0, 0, 0, 10,
/* 0x04a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 19, /* 0x04a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 0, 19,
/* 0x04b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 1, 0, 0, 0, 26, /* 0x04b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 0, 1, 0, 0, 0, 26,
/* 0x04c0 */ 0, 0, 0,232, 0, 0, 0, 0, 17, 0, 0, 3, 0, 0, 0, 39, /* 0x04c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 69, 76, 70,
/* 0x04d0 */ 0, 0, 0,248, 0, 0, 0, 0, 17, 0, 0, 3, 0, 0, 0, 49, /* 0x04d0 */ 77, 65, 73, 78, 88, 0, 69, 76, 70, 77, 65, 73, 78, 90, 0, 95,
/* 0x04e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 69, 76, 70, /* 0x04e0 */ 115,116, 97,114,116, 0, 79, 95, 66, 73, 78, 70, 79, 0, 0, 0,
/* 0x04f0 */ 77, 65, 73, 78, 88, 0, 69, 76, 70, 77, 65, 73, 78, 90, 0, 95, /* 0x04f0 */ 0, 0, 0, 0, 0, 0, 2, 10, 0, 0, 0,128, 0, 0, 1, 10,
/* 0x0500 */ 115,116, 97,114,116, 0,109,101,109,102,100, 95, 99,114,101, 97, /* 0x0500 */ 0, 0, 1, 88, 0, 0, 4, 2,102,105,108,101, 32,102,111,114,
/* 0x0510 */ 116,101, 0,102,116,114,117,110, 99, 97,116,101, 0, 79, 95, 66, /* 0x0510 */ 109, 97,116, 32,101,108,102, 51, 50, 45, 98,105,103,109,105,112,
/* 0x0520 */ 73, 78, 70, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 10, /* 0x0520 */ 115, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120,
/* 0x0530 */ 0, 0, 0,104, 0, 0, 1, 10, 0, 0, 1, 88, 0, 0, 6, 2, /* 0x0530 */ 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,
/* 0x0540 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51, /* 0x0540 */ 105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32,
/* 0x0550 */ 50, 45, 98,105,103,109,105,112,115, 10, 10, 83,101, 99,116,105, /* 0x0550 */ 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,
/* 0x0560 */ 111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, /* 0x0560 */ 101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,
/* 0x0570 */ 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, /* 0x0570 */ 103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32,
/* 0x0580 */ 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, /* 0x0580 */ 32, 32, 32, 32, 32, 48, 49, 55, 52, 32, 32, 48, 32, 32, 48, 32,
/* 0x0590 */ 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65, /* 0x0590 */ 32, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x05a0 */ 108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, /* 0x05a0 */ 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x05b0 */ 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 49, 55, /* 0x05b0 */ 90, 32, 32, 32, 32, 32, 32, 48, 49, 53, 99, 32, 32, 48, 32, 32,
/* 0x05c0 */ 52, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 52, 32, 32, 50, 42, /* 0x05c0 */ 48, 32, 32, 48, 49, 97, 56, 32, 32, 50, 42, 42, 50, 32, 32, 67,
/* 0x05d0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, /* 0x05d0 */ 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84,
/* 0x05e0 */ 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, /* 0x05e0 */ 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
/* 0x05f0 */ 49, 53, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 97, 56, 32, /* 0x05f0 */ 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32,
/* 0x0600 */ 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, /* 0x0600 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48,
/* 0x0610 */ 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, /* 0x0610 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77,
/* 0x0620 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, /* 0x0620 */ 65, 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10,
/* 0x0630 */ 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, /* 0x0630 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 79,
/* 0x0640 */ 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, /* 0x0640 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,
/* 0x0650 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, /* 0x0650 */ 114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32,
/* 0x0660 */ 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x0660 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73,
/* 0x0670 */ 32,103, 32, 32, 32, 32, 32, 79, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x0670 */ 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
/* 0x0680 */ 88, 32, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, /* 0x0680 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70,
/* 0x0690 */ 48,101, 56, 32,103, 32, 32, 32, 32, 32, 79, 32, 69, 76, 70, 77, /* 0x0690 */ 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
/* 0x06a0 */ 65, 73, 78, 90, 32, 48, 32,109,101,109,102,100, 95, 99,114,101, /* 0x06a0 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x06b0 */ 97,116,101, 10, 48, 48, 48, 48, 48, 48,102, 56, 32,103, 32, 32, /* 0x06b0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x06c0 */ 32, 32, 32, 79, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, /* 0x06c0 */ 48, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32,
/* 0x06d0 */ 102,116,114,117,110, 99, 97,116,101, 10, 48, 48, 48, 48, 48, 48, /* 0x06d0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69,
/* 0x06e0 */ 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, /* 0x06e0 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
/* 0x06f0 */ 32, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, /* 0x06f0 */ 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58,
/* 0x0700 */ 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, /* 0x0700 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32,
/* 0x0710 */ 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, /* 0x0710 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
/* 0x0720 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, /* 0x0720 */ 69, 10, 48, 48, 48, 48, 48, 48, 56, 48, 32, 82, 95, 77, 73, 80,
/* 0x0730 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, /* 0x0730 */ 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x0740 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, /* 0x0740 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 53, 56, 32, 82,
/* 0x0750 */ 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, /* 0x0750 */ 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0760 */ 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, /* 0x0760 */ 32, 79, 95, 66, 73, 78, 70, 79, 10
/* 0x0770 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70,
/* 0x0780 */ 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32,
/* 0x0790 */ 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x07a0 */ 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 54,
/* 0x07b0 */ 56, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32,
/* 0x07c0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48,
/* 0x07d0 */ 48, 48, 49, 53, 56, 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32,
/* 0x07e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
}; };

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/* mipsel.r3000-linux.elf-entry.h /* mipsel.r3000-linux.elf-entry.h
created from mipsel.r3000-linux.elf-entry.bin, 1995 (0x7cb) bytes created from mipsel.r3000-linux.elf-entry.bin, 1860 (0x744) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@ -32,11 +32,11 @@
/* clang-format off */ /* clang-format off */
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_SIZE 1995 #define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_SIZE 1860
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_ADLER32 0xbfb88d29 #define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_ADLER32 0x26f5775c
#define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_CRC32 0x0a3be21c #define STUB_MIPSEL_R3000_LINUX_ELF_ENTRY_CRC32 0x15b536db
unsigned char stub_mipsel_r3000_linux_elf_entry[1995] = { unsigned char stub_mipsel_r3000_linux_elf_entry[1860] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 8, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 20, 3, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, /* 0x0020 */ 20, 3, 0, 0, 1, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
@ -62,22 +62,22 @@ unsigned char stub_mipsel_r3000_linux_elf_entry[1995] = {
/* 0x0160 */ 35, 40,195, 0, 0, 0,229,172, 3, 0, 6, 36, 51, 16, 2, 36, /* 0x0160 */ 35, 40,195, 0, 0, 0,229,172, 3, 0, 6, 36, 51, 16, 2, 36,
/* 0x0170 */ 12, 0, 0, 0, 0, 0,162,143, 8, 0,224, 3, 4, 0,189, 39, /* 0x0170 */ 12, 0, 0, 0, 0, 0,162,143, 8, 0,224, 3, 4, 0,189, 39,
/* 0x0180 */ 224,255,189, 39, 16, 0,188,175,244,255,209,143,244,255,213, 39, /* 0x0180 */ 224,255,189, 39, 16, 0,188,175,244,255,209,143,244,255,213, 39,
/* 0x0190 */ 34,168,177, 2, 2, 0, 17, 4, 33, 32,224, 3,117,112,120, 0, /* 0x0190 */ 34,168,177, 2, 16, 0, 5, 36, 2, 0, 17, 4, 33, 32,224, 3,
/* 0x01a0 */ 33, 40, 0, 0, 2, 17, 2, 36, 12, 0, 0, 0, 33,184, 64, 0, /* 0x01a0 */ 117,112,120, 0, 2, 17, 2, 36, 12, 0, 0, 0, 6, 0,224, 16,
/* 0x01b0 */ 0, 0,147,142, 33,240,160, 3, 28, 0,179,175,248,255, 1, 36, /* 0x01b0 */ 33,184, 64, 0, 3, 0,160, 16,234,255, 69, 36,246,255,160, 16,
/* 0x01c0 */ 35,232,179, 3, 36,232,161, 3,252,255,144,142,252,255, 1, 36, /* 0x01c0 */ 0, 0, 0, 0, 13, 0, 0, 0, 0, 0,147,142, 33,240,160, 3,
/* 0x01d0 */ 36,128, 1, 2, 8, 0,136,130, 24, 0,211,175, 24, 0,199, 39, /* 0x01d0 */ 28, 0,179,175,248,255, 1, 36, 35,232,179, 3, 36,232,161, 3,
/* 0x01e0 */ 33, 48,160, 3, 4, 0,133,142, 1, 0, 17, 4, 12, 0,132, 38, /* 0x01e0 */ 252,255,144,142,252,255, 1, 36, 36,128, 1, 2, 8, 0,136,130,
/* 0x01f0 */ 0, 0,188,175, 0, 0,161,147, 36, 0,163,143, 3, 0, 32, 16, /* 0x01f0 */ 24, 0,211,175, 24, 0,199, 39, 33, 48,160, 3, 4, 0,133,142,
/* 0x0200 */ 28, 0,161,143, 24, 0,163,175, 16, 0,161,175, 33, 48, 96, 2, /* 0x0200 */ 1, 0, 17, 4, 12, 0,132, 38, 0, 0,188,175, 0, 0,161,147,
/* 0x0210 */ 33, 40,160, 3, 33, 32,224, 2,164, 15, 2, 36, 12, 0, 0, 0, /* 0x0210 */ 36, 0,163,143, 3, 0, 32, 16, 28, 0,161,143, 24, 0,163,175,
/* 0x0220 */ 33,232,192, 3,232,255,189, 39, 20, 0,160,175, 16, 0,183,175, /* 0x0220 */ 16, 0,161,175, 33, 48, 96, 2, 33, 40,160, 3, 33, 32,224, 2,
/* 0x0230 */ 1, 0, 7, 36, 5, 0, 6, 36, 0, 0,133,142, 33, 32, 0, 0, /* 0x0230 */ 164, 15, 2, 36, 12, 0, 0, 0,226,255,224, 20, 33,232,192, 3,
/* 0x0240 */ 250, 15, 2, 36, 12, 0, 0, 0, 24, 0,189, 39, 24, 0,162,175, /* 0x0240 */ 232,255,189, 39, 20, 0,160,175, 16, 0,183,175, 1, 0, 7, 36,
/* 0x0250 */ 8, 0, 95, 36, 33, 32,224, 2,166, 15, 2, 36, 12, 0, 0, 0, /* 0x0250 */ 5, 0, 6, 36, 0, 0,133,142, 33, 32, 0, 0,250, 15, 2, 36,
/* 0x0260 */ 8, 0,224, 3, 33,128,176, 2, 2, 17, 2, 36, 12, 0, 0, 0, /* 0x0260 */ 12, 0, 0, 0,215,255,224, 20, 24, 0,189, 39, 24, 0,162,175,
/* 0x0270 */ 8, 0,224, 3, 0, 0, 0, 0,253, 15, 2, 36, 12, 0, 0, 0, /* 0x0270 */ 8, 0, 95, 36, 33, 32,224, 2,166, 15, 2, 36, 12, 0, 0, 0,
/* 0x0280 */ 8, 0,224, 3, 0, 0, 0, 0, 0, 0,131,140, 4, 0,132, 36, /* 0x0280 */ 8, 0,224, 3, 33,128,176, 2, 0, 0,131,140, 4, 0,132, 36,
/* 0x0290 */ 253,255, 96, 20, 33,176,128, 0, 8, 0,224, 3, 6, 0, 8, 36, /* 0x0290 */ 253,255, 96, 20, 33,176,128, 0, 8, 0,224, 3, 6, 0, 8, 36,
/* 0x02a0 */ 249,255, 17, 4, 4, 0,164, 39,247,255, 17, 4, 33, 32,192, 2, /* 0x02a0 */ 249,255, 17, 4, 4, 0,164, 39,247,255, 17, 4, 33, 32,192, 2,
/* 0x02b0 */ 0, 0,131,140, 8, 0,132, 36, 3, 0,104, 16,252,255,130,140, /* 0x02b0 */ 0, 0,131,140, 8, 0,132, 36, 3, 0,104, 16,252,255,130,140,
@ -92,74 +92,66 @@ unsigned char stub_mipsel_r3000_linux_elf_entry[1995] = {
/* 0x0340 */ 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, /* 0x0340 */ 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
/* 0x0350 */ 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x0350 */ 76, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0360 */ 0, 0, 0, 0, 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x0360 */ 0, 0, 0, 0, 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
/* 0x0370 */ 0, 0, 0, 0, 0, 5, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0, /* 0x0370 */ 0, 0, 0, 0,200, 4, 0, 0, 8, 0, 0, 0, 6, 0, 0, 0,
/* 0x0380 */ 1, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, /* 0x0380 */ 1, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0,
/* 0x0390 */ 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,128, 1, 0, 0, /* 0x0390 */ 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0,128, 1, 0, 0,
/* 0x03a0 */ 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, /* 0x03a0 */ 92, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
/* 0x03b0 */ 0, 0, 0, 0, 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, /* 0x03b0 */ 0, 0, 0, 0, 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
/* 0x03c0 */ 0, 0, 0, 0, 8, 5, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0, /* 0x03c0 */ 0, 0, 0, 0,208, 4, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0,
/* 0x03d0 */ 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0, /* 0x03d0 */ 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0,
/* 0x03e0 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 2, 0, 0, /* 0x03e0 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,220, 2, 0, 0,
/* 0x03f0 */ 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x03f0 */ 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0400 */ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0400 */ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0410 */ 0, 0, 0, 0, 84, 4, 0, 0,112, 0, 0, 0, 7, 0, 0, 0, /* 0x0410 */ 0, 0, 0, 0, 84, 4, 0, 0, 80, 0, 0, 0, 7, 0, 0, 0,
/* 0x0420 */ 3, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, /* 0x0420 */ 3, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0,
/* 0x0430 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,196, 4, 0, 0, /* 0x0430 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,164, 4, 0, 0,
/* 0x0440 */ 57, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, /* 0x0440 */ 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0450 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0450 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0460 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0460 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0470 */ 3, 0, 1, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0470 */ 3, 0, 1, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0480 */ 3, 0, 3, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0480 */ 3, 0, 3, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0490 */ 17, 0, 1, 0, 26, 0, 0, 0,232, 0, 0, 0, 0, 0, 0, 0, /* 0x0490 */ 17, 0, 1, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x04a0 */ 17, 0, 3, 0, 39, 0, 0, 0,248, 0, 0, 0, 0, 0, 0, 0, /* 0x04a0 */ 16, 0, 0, 0, 0, 69, 76, 70, 77, 65, 73, 78, 88, 0, 69, 76,
/* 0x04b0 */ 17, 0, 3, 0, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x04b0 */ 70, 77, 65, 73, 78, 90, 0, 95,115,116, 97,114,116, 0, 79, 95,
/* 0x04c0 */ 16, 0, 0, 0, 0, 69, 76, 70, 77, 65, 73, 78, 88, 0, 69, 76, /* 0x04c0 */ 66, 73, 78, 70, 79, 0, 0, 0, 0, 0, 0, 0, 10, 2, 0, 0,
/* 0x04d0 */ 70, 77, 65, 73, 78, 90, 0, 95,115,116, 97,114,116, 0,109,101, /* 0x04d0 */ 128, 0, 0, 0, 10, 1, 0, 0, 88, 1, 0, 0, 2, 4, 0, 0,
/* 0x04e0 */ 109,102,100, 95, 99,114,101, 97,116,101, 0,102,116,114,117,110, /* 0x04e0 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51,
/* 0x04f0 */ 99, 97,116,101, 0, 79, 95, 66, 73, 78, 70, 79, 0, 0, 0, 0, /* 0x04f0 */ 50, 45,108,105,116,116,108,101,109,105,112,115, 10, 10, 83,101,
/* 0x0500 */ 0, 0, 0, 0, 10, 2, 0, 0,104, 0, 0, 0, 10, 1, 0, 0, /* 0x0500 */ 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101,
/* 0x0510 */ 88, 1, 0, 0, 2, 6, 0, 0,102,105,108,101, 32,102,111,114, /* 0x0510 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32,
/* 0x0520 */ 109, 97,116, 32,101,108,102, 51, 50, 45,108,105,116,116,108,101, /* 0x0520 */ 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77,
/* 0x0530 */ 109,105,112,115, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, /* 0x0530 */ 65, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102,
/* 0x0540 */ 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x0540 */ 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32,
/* 0x0550 */ 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, /* 0x0550 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32,
/* 0x0560 */ 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, /* 0x0560 */ 48, 49, 52, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48, 51, 52, 32,
/* 0x0570 */ 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, /* 0x0570 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10,
/* 0x0580 */ 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, /* 0x0580 */ 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32,
/* 0x0590 */ 78, 88, 32, 32, 32, 32, 32, 32, 48, 49, 52, 99, 32, 32, 48, 32, /* 0x0590 */ 32, 32, 48, 49, 53, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49,
/* 0x05a0 */ 32, 48, 32, 32, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x05a0 */ 56, 48, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x05b0 */ 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, /* 0x05b0 */ 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58,
/* 0x05c0 */ 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 49, 53, 99, 32, 32, /* 0x05c0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x05d0 */ 48, 32, 32, 48, 32, 32, 48, 49, 56, 48, 32, 32, 50, 42, 42, 50, /* 0x05d0 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70,
/* 0x05e0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, /* 0x05e0 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
/* 0x05f0 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x05f0 */ 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32,
/* 0x0600 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, /* 0x0600 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48,
/* 0x0610 */ 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, /* 0x0610 */ 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 79, 32, 69, 76, 70, 77,
/* 0x0620 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, /* 0x0620 */ 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10, 48, 48,
/* 0x0630 */ 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, 73, /* 0x0630 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42,
/* 0x0640 */ 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, /* 0x0640 */ 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10,
/* 0x0650 */ 32, 32, 79, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95, /* 0x0650 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82,
/* 0x0660 */ 115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48,101, 56, 32,103, /* 0x0660 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0670 */ 32, 32, 32, 32, 32, 79, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, /* 0x0670 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
/* 0x0680 */ 48, 32,109,101,109,102,100, 95, 99,114,101, 97,116,101, 10, 48, /* 0x0680 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x0690 */ 48, 48, 48, 48, 48,102, 56, 32,103, 32, 32, 32, 32, 32, 79, 32, /* 0x0690 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 77,
/* 0x06a0 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32,102,116,114,117,110, /* 0x06a0 */ 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x06b0 */ 99, 97,116,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x06b0 */ 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, 84,
/* 0x06c0 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, /* 0x06c0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32,
/* 0x06d0 */ 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, /* 0x06d0 */ 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83,
/* 0x06e0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, /* 0x06e0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x06f0 */ 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, /* 0x06f0 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
/* 0x0700 */ 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x0700 */ 48, 48, 48, 56, 48, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49,
/* 0x0710 */ 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, /* 0x0710 */ 54, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0720 */ 48, 48, 48, 32, 82, 95, 77, 73, 80, 83, 95, 80, 67, 49, 54, 32, /* 0x0720 */ 10, 48, 48, 48, 48, 48, 49, 53, 56, 32, 82, 95, 77, 73, 80, 83,
/* 0x0730 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, /* 0x0730 */ 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73,
/* 0x0740 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, /* 0x0740 */ 78, 70, 79, 10
/* 0x0750 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x0760 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
/* 0x0770 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x0780 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 54, 56, 32, 82, 95, 77,
/* 0x0790 */ 73, 80, 83, 95, 80, 67, 49, 54, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x07a0 */ 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 49, 53, 56,
/* 0x07b0 */ 32, 82, 95, 77, 73, 80, 83, 95, 51, 50, 32, 32, 32, 32, 32, 32,
/* 0x07c0 */ 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
}; };

File diff suppressed because it is too large Load Diff

View File

@ -116,6 +116,8 @@ __NR_close = 6+ __NR_Linux
__NR_exit = 1+ __NR_Linux __NR_exit = 1+ __NR_Linux
__NR_ftruncate= 93+ __NR_Linux __NR_ftruncate= 93+ __NR_Linux
__NR_memfd_create= 354+ __NR_Linux __NR_memfd_create= 354+ __NR_Linux
MFD_EXEC= 0x10
EINVAL= 22
__NR_mmap = 90+ __NR_Linux __NR_mmap = 90+ __NR_Linux
__NR_mprotect = 125+ __NR_Linux __NR_mprotect = 125+ __NR_Linux
__NR_msync = 144+ __NR_LINUX __NR_msync = 144+ __NR_LINUX
@ -180,7 +182,7 @@ eof_n2b:
subu a1,lxdst,v1 // actual length generated subu a1,lxdst,v1 // actual length generated
sw a1,(lxdstlen) sw a1,(lxdstlen)
li a2,ICACHE|DCACHE li a2,ICACHE|DCACHE
li v0,__NR_cacheflush; syscall li v0,__NR_cacheflush; syscall // ignore failure
lw v0,0(sp) lw v0,0(sp)
jr ra jr ra
@ -199,10 +201,23 @@ unfold: # IN: $r_fexp,$r_auxv,$r_PMASK,$r_FOLD
la $r_elfa,sz_pack2 - f_exp($r_fexp) la $r_elfa,sz_pack2 - f_exp($r_fexp)
sub $r_elfa,$r_elfa,$r_LENX # $r_elfa= &Elf32_Ehdr of this stub sub $r_elfa,$r_elfa,$r_LENX # $r_elfa= &Elf32_Ehdr of this stub
bal 0f; move a0,ra; .asciz "upx"; .balign 4 li a1,MFD_EXEC // modern
2:
bal 0f
move a0,ra
.asciz "upx"; .balign 4
0: 0:
move a1,zero li v0,__NR_memfd_create; syscall // attempt recovery
li v0,__NR_memfd_create; syscall; move $r_mfd,v0 beqz a3,9f // success
move $r_mfd,v0 // return value
beqz a1,8f // failure if (, 0) already tried
addiu a1,v0,-EINVAL // MFD_EXEC appeared Linux 6.3 2023-04-23
beqz a1,2b // try old (, 0) if failure was EINVAL
nop
8:
HALT:
break // both (, MFD_EXEC) and (, 0) failed
9:
# alloca() for de-compressed stub # alloca() for de-compressed stub
lw $r_szuf,sz_unc($r_FOLD) # sz_unc of fold lw $r_szuf,sz_unc($r_FOLD) # sz_unc of fold
@ -236,8 +251,8 @@ unfold: # IN: $r_fexp,$r_auxv,$r_PMASK,$r_FOLD
move a2,$r_szuf # .sz_unc move a2,$r_szuf # .sz_unc
move a1,sp move a1,sp
move a0,$r_mfd move a0,$r_mfd
li v0,__NR_write; syscall li v0,__NR_write; syscall; bnez a3,HALT // faliure
move sp,fp move sp,fp
# Map de-compressed stub # Map de-compressed stub
addiu sp,-6*NBPW # space for all 6 args to mmap() addiu sp,-6*NBPW # space for all 6 args to mmap()
@ -247,25 +262,17 @@ unfold: # IN: $r_fexp,$r_auxv,$r_PMASK,$r_FOLD
li a2,PROT_READ|PROT_EXEC # FIXME: PROT_WRITE is DEBUG only li a2,PROT_READ|PROT_EXEC # FIXME: PROT_WRITE is DEBUG only
lw a1,sz_unc($r_FOLD) lw a1,sz_unc($r_FOLD)
move a0,zero move a0,zero
li v0,__NR_mmap; syscall; addiu sp,6*NBPW li v0,__NR_mmap; syscall; bnez a3,HALT // failure
addiu sp,6*NBPW
sw v0,F_ADRU(sp) sw v0,F_ADRU(sp)
addiu ra,v0,2*NBPW addiu ra,v0,2*NBPW
move a0,$r_mfd; li v0,__NR_close; syscall move a0,$r_mfd
li v0,__NR_close; syscall // ignore failure
jr ra jr ra
addu $r_ADRX,$r_elfa,$r_ADRX # compressed data addu $r_ADRX,$r_elfa,$r_ADRX # compressed data
memfd_create: .globl memfd_create
li v0,__NR_memfd_create; syscall
j ra
nop
ftruncate: .globl ftruncate
li v0,__NR_ftruncate; syscall
j ra
nop
zfind: # result in $r_auxv zfind: # result in $r_auxv
lw v1,(a0); addiu a0,a0,NBPW lw v1,(a0); addiu a0,a0,NBPW
bnez v1,zfind bnez v1,zfind

View File

@ -31,6 +31,10 @@ NBPW= 4
#include "arch/mips/r3000/macros.ash" #include "arch/mips/r3000/macros.ash"
#include "arch/mips/r3000/bits.ash" #include "arch/mips/r3000/bits.ash"
// eglibc-2.11.1/ports/sysdeps/unix/sysv/linux/mips/mips64/n32/sysdep.h
// #define __SYSCALL_CLOBBERS "$1", "$3", "$10", "$11", "$12", "$13", \
// "$14", "$15", "$24", "$25", "hi", "lo", "memory"
.set mips1 .set mips1
.set noreorder .set noreorder
.set noat .set noat
@ -399,25 +403,15 @@ mmap: .globl mmap
addiu sp,sp,sp_frame addiu sp,sp,sp_frame
sysgo: // src/mipsel.r3000-linux.elf-fold.S sysgo: // src/mipsel.r3000-linux.elf-fold.S
sysgo2:
syscall syscall
sysret: sysret:
bgez a3,sysOK beqz a3,sysOK // Linux MIPS convention
nop nop
move v0,a3 // -errno: < 0, and > 0xfffff000 sub v0,zero,v0 // -errno: < 0, and > 0xfffff000
sysOK: sysOK:
jr ra jr ra
nop nop
sysgo_incl: .globl sysgo_incl
syscall
sysret_incl: .globl sysret_incl
.set noat
sltiu at,a3,1 /* 1: no error; 0: error */
addiu at,at,-1 /* 0: no error; -1: error */
or v0,v0,at /* good result, else -1 for error */
.set at
exit: .globl exit exit: .globl exit
b sysgo; li v0,__NR_exit b sysgo; li v0,__NR_exit
brk: .globl brk brk: .globl brk

View File

@ -8,8 +8,6 @@ SYMBOL TABLE:
00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d ELFMAINZ 0 ELFMAINZ 00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 g O ELFMAINX 0 _start 00000000 g O ELFMAINX 0 _start
000000e8 g O ELFMAINZ 0 memfd_create
000000f8 g O ELFMAINZ 0 ftruncate
00000000 *UND* 0 O_BINFO 00000000 *UND* 0 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]: RELOCATION RECORDS FOR [ELFMAINX]:
@ -18,5 +16,5 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [ELFMAINZ]: RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000068 R_MIPS_PC16 ELFMAINX 00000080 R_MIPS_PC16 ELFMAINX
00000158 R_MIPS_32 O_BINFO 00000158 R_MIPS_32 O_BINFO

View File

@ -16,35 +16,33 @@ Linker script and memory map
0x0000000000000010 get4unal 0x0000000000000010 get4unal
0x0000000000000128 close 0x0000000000000128 close
SYSCALLS 0x0000000000000000 0x1c4 SYSCALLS 0x0000000000000000 0x1b4
SYSCALLS 0x0000000000000000 0x1c4 tmp/mips.r3000-linux.elf-fold.o SYSCALLS 0x0000000000000000 0x1b4 tmp/mips.r3000-linux.elf-fold.o
0x0000000000000184 munmap 0x0000000000000174 munmap
0x0000000000000154 getpid 0x0000000000000144 getpid
0x0000000000000094 memcpy 0x0000000000000094 memcpy
0x00000000000001a4 readlink 0x0000000000000194 readlink
0x0000000000000034 Psync 0x0000000000000034 Psync
0x00000000000000bc mempcpy 0x00000000000000bc mempcpy
0x000000000000014c ftruncate 0x000000000000013c ftruncate
0x000000000000015c lseek 0x000000000000014c lseek
0x00000000000000f0 mmap 0x00000000000000f0 mmap
0x00000000000000e4 mmap_privanon 0x00000000000000e4 mmap_privanon
0x00000000000001ac uname 0x000000000000019c uname
0x00000000000001bc write 0x00000000000001ac write
0x0000000000000130 sysret_incl 0x0000000000000154 memfd_create
0x0000000000000164 memfd_create 0x000000000000018c read
0x000000000000019c read 0x00000000000001a4 unlink
0x00000000000001b4 unlink
0x0000000000000074 memset 0x0000000000000074 memset
0x000000000000017c msync 0x000000000000016c msync
0x0000000000000068 my_bkpt 0x0000000000000068 my_bkpt
0x0000000000000000 Pprotect 0x0000000000000000 Pprotect
0x000000000000018c stat 0x000000000000017c stat
0x000000000000013c exit 0x000000000000012c exit
0x0000000000000144 brk 0x0000000000000134 brk
0x000000000000012c sysgo_incl 0x0000000000000184 open
0x0000000000000194 open 0x0000000000000164 mprotect
0x0000000000000174 mprotect 0x000000000000015c mkdir
0x000000000000016c mkdir
HUMF_A 0x0000000000000000 0x8 HUMF_A 0x0000000000000000 0x8
HUMF_A 0x0000000000000000 0x8 tmp/mips.r3000-linux.elf-fold.o HUMF_A 0x0000000000000000 0x8 tmp/mips.r3000-linux.elf-fold.o

View File

@ -8,8 +8,6 @@ SYMBOL TABLE:
00000000 l d ELFMAINX 0 ELFMAINX 00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d ELFMAINZ 0 ELFMAINZ 00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 g O ELFMAINX 0 _start 00000000 g O ELFMAINX 0 _start
000000e8 g O ELFMAINZ 0 memfd_create
000000f8 g O ELFMAINZ 0 ftruncate
00000000 *UND* 0 O_BINFO 00000000 *UND* 0 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]: RELOCATION RECORDS FOR [ELFMAINX]:
@ -18,5 +16,5 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [ELFMAINZ]: RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000068 R_MIPS_PC16 ELFMAINX 00000080 R_MIPS_PC16 ELFMAINX
00000158 R_MIPS_32 O_BINFO 00000158 R_MIPS_32 O_BINFO

View File

@ -16,35 +16,33 @@ Linker script and memory map
0x0000000000000010 get4unal 0x0000000000000010 get4unal
0x0000000000000128 close 0x0000000000000128 close
SYSCALLS 0x0000000000000000 0x1c4 SYSCALLS 0x0000000000000000 0x1b4
SYSCALLS 0x0000000000000000 0x1c4 tmp/mipsel.r3000-linux.elf-fold.o SYSCALLS 0x0000000000000000 0x1b4 tmp/mipsel.r3000-linux.elf-fold.o
0x0000000000000184 munmap 0x0000000000000174 munmap
0x0000000000000154 getpid 0x0000000000000144 getpid
0x0000000000000094 memcpy 0x0000000000000094 memcpy
0x00000000000001a4 readlink 0x0000000000000194 readlink
0x0000000000000034 Psync 0x0000000000000034 Psync
0x00000000000000bc mempcpy 0x00000000000000bc mempcpy
0x000000000000014c ftruncate 0x000000000000013c ftruncate
0x000000000000015c lseek 0x000000000000014c lseek
0x00000000000000f0 mmap 0x00000000000000f0 mmap
0x00000000000000e4 mmap_privanon 0x00000000000000e4 mmap_privanon
0x00000000000001ac uname 0x000000000000019c uname
0x00000000000001bc write 0x00000000000001ac write
0x0000000000000130 sysret_incl 0x0000000000000154 memfd_create
0x0000000000000164 memfd_create 0x000000000000018c read
0x000000000000019c read 0x00000000000001a4 unlink
0x00000000000001b4 unlink
0x0000000000000074 memset 0x0000000000000074 memset
0x000000000000017c msync 0x000000000000016c msync
0x0000000000000068 my_bkpt 0x0000000000000068 my_bkpt
0x0000000000000000 Pprotect 0x0000000000000000 Pprotect
0x000000000000018c stat 0x000000000000017c stat
0x000000000000013c exit 0x000000000000012c exit
0x0000000000000144 brk 0x0000000000000134 brk
0x000000000000012c sysgo_incl 0x0000000000000184 open
0x0000000000000194 open 0x0000000000000164 mprotect
0x0000000000000174 mprotect 0x000000000000015c mkdir
0x000000000000016c mkdir
HUMF_A 0x0000000000000000 0x8 HUMF_A 0x0000000000000000 0x8
HUMF_A 0x0000000000000000 0x8 tmp/mipsel.r3000-linux.elf-fold.o HUMF_A 0x0000000000000000 0x8 tmp/mipsel.r3000-linux.elf-fold.o