More: prefer movzbl over movb fetch to register

Avoids hardware failure of writing 0x00 instead of the fetched byte.
1 cycle faster, 1 byte larger (but often recouped later when OR of 32-bits).
Avoid changing win*pe.S for now.

	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   stub/src/amd64-darwin.dylib-entry.S
	modified:   stub/src/amd64-darwin.macho-entry.S
	modified:   stub/src/amd64-expand.S
	modified:   stub/src/amd64-linux.shlib-init.S
	modified:   stub/src/arch/amd64/nrv2b_d.S
	modified:   stub/src/arch/amd64/nrv2d_d.S
	modified:   stub/src/arch/amd64/nrv2e_d.S
	modified:   stub/src/arch/i386/nrv2b_d32-easy.S
	modified:   stub/src/i386-darwin.macho-entry.S
           plus generated *.h *.map *.dump
This commit is contained in:
John Reiser 2024-08-02 13:02:19 -07:00
parent 3869a67180
commit ed0665407a
31 changed files with 7753 additions and 7748 deletions

View File

@ -46,9 +46,9 @@ b8c35fa2956da17ca505956e9f5017bb5f3a746322647e24ccb8ff28059cafa4 *powerpc-linux.
a0950546dc17fca9437219431d8ddb0249ce5b08e899e0c799a87ac982adee70 *powerpc64le-linux.elf/upx-3.95 a0950546dc17fca9437219431d8ddb0249ce5b08e899e0c799a87ac982adee70 *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\ expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
224d8c41406c555aa2aba042a4aa5330d94013dbf982ac76494e78cd2f4ae4a4 *amd64-linux.elf/upx-3.91 c79510a06670a0d0afb197abe4941ecbfe5df6de45c2ace46954f6e0d31163c8 *amd64-linux.elf/upx-3.91
3bb280a75b5734271c9d20287e10aec01a156a6064a66442a3119f92d8a50ce5 *amd64-linux.elf/upx-3.95 595fbf9fa3404521f19513aa87b92a7bb540f22fd812bc4006d8d06d5c17b400 *amd64-linux.elf/upx-3.95
1bd70a3cd3b34e635a3c947cacd46c4d66bf07e0fd350cc6d1f3cf60483f75b9 *amd64-win64.pe/upx-3.95.exe be68107b41e5ac9fdfe919f6e26b0ed83807dbe1c8f20d9e391a836be445c4fd *amd64-win64.pe/upx-3.95.exe
6caac565f3823eefa34be29d2449577cd0643b65dd1fbf5d0ed1ff5accb45bca *arm-linux.elf/upx-3.95 6caac565f3823eefa34be29d2449577cd0643b65dd1fbf5d0ed1ff5accb45bca *arm-linux.elf/upx-3.95
94422a91473a467dfb534afa3f20247bc38691aeb386a42fb3e0fd18d3d0ae08 *arm-wince.pe/upx-3.91.exe 94422a91473a467dfb534afa3f20247bc38691aeb386a42fb3e0fd18d3d0ae08 *arm-wince.pe/upx-3.91.exe
d63d4c9886b175c5388758c3d963e8d0b1e562536cf22e85792df35b028a94c1 *arm64-linux.elf/upx-3.95 d63d4c9886b175c5388758c3d963e8d0b1e562536cf22e85792df35b028a94c1 *arm64-linux.elf/upx-3.95
@ -56,8 +56,8 @@ d63d4c9886b175c5388758c3d963e8d0b1e562536cf22e85792df35b028a94c1 *arm64-linux.el
d8d4aa3bea8cc8dbfb69cc4b0b4f5cd432f05ff2940ff5e2c108eb41838ac798 *armeb-linux.elf/upx-3.95 d8d4aa3bea8cc8dbfb69cc4b0b4f5cd432f05ff2940ff5e2c108eb41838ac798 *armeb-linux.elf/upx-3.95
e17a126cebc32977991a292b7434d1435a7c95862ccece0e4acbf6e810bd3443 *i386-dos32.djgpp2.coff/upx-3.91.exe e17a126cebc32977991a292b7434d1435a7c95862ccece0e4acbf6e810bd3443 *i386-dos32.djgpp2.coff/upx-3.91.exe
88c54fa6bda1bbee0317c839dd756458ebe9bf4b0f6d746139517c7e0c3c9c6f *i386-dos32.djgpp2.coff/upx-3.95.exe 88c54fa6bda1bbee0317c839dd756458ebe9bf4b0f6d746139517c7e0c3c9c6f *i386-dos32.djgpp2.coff/upx-3.95.exe
183672fb57311470250425ae08d157c1d122648304f08c96144b6ff22c98d249 *i386-linux.elf/upx-3.91 e90f7f72ddf37696e681186a304a6ea801b73c6da3f8152a619a5ed3092ec444 *i386-linux.elf/upx-3.91
fd881c142adbb983bcfe5800e4b09fd7e2f318f087f3bf9212f29a19fee8c76e *i386-linux.elf/upx-3.95 db78729ef40b539a3916498d4038cf156168369ebb75acf40998fca1765ac6e6 *i386-linux.elf/upx-3.95
9bc7ba34e675311527776726a98450722ac9faee73ef5df96a8e8dbd2943b734 *i386-win32.pe/upx-3.91.exe 9bc7ba34e675311527776726a98450722ac9faee73ef5df96a8e8dbd2943b734 *i386-win32.pe/upx-3.91.exe
0a33acc8fa5549c59a87897b318ab83d1eb2ffa7d6c156e92d71c4e9ab4c6483 *i386-win32.pe/upx-3.95.exe 0a33acc8fa5549c59a87897b318ab83d1eb2ffa7d6c156e92d71c4e9ab4c6483 *i386-win32.pe/upx-3.95.exe
22a6fe5e84dc759675c14314f1d72b84b64e22d106b4158969f5bc4f572288a1 *m68k-atari.tos/upx-3.91.ttp 22a6fe5e84dc759675c14314f1d72b84b64e22d106b4158969f5bc4f572288a1 *m68k-atari.tos/upx-3.91.ttp
@ -69,9 +69,9 @@ dd6c6828eec410ceb9be8c504ab9f59e29adc45511a2af5094a69430153b6f57 *mipsel-linux.e
3f5171426075f09d0adeb6df1494be8227ecab967018f848837a0f51376a39a8 *powerpc64le-linux.elf/upx-3.95 3f5171426075f09d0adeb6df1494be8227ecab967018f848837a0f51376a39a8 *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\ expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
15877c5a329244ab8e04a0e8b33f5df35b5cc35ab46431bf0ed9ae585c6af6c8 *amd64-linux.elf/upx-3.91 2925ce2ff2cce151d5deeda7120d8d520bfe15a9c6a2a0825030d22d7e96b1a6 *amd64-linux.elf/upx-3.91
d06f828a4ae71de0af8fd80b8a817a3ed685734846cd950707f5738fa16fe246 *amd64-linux.elf/upx-3.95 ff336b009719cd517ce9801bbadb6af6270af6cec4a94f4d29c39520b993a0f1 *amd64-linux.elf/upx-3.95
0314c6974f29d180e46e41a1004d46a3993fe96f03de7f78d45ad89ad3b2177e *amd64-win64.pe/upx-3.95.exe 246079a063b098268c2c0c6237d7a4d0b7e18eaace45eff33a78400e1595f066 *amd64-win64.pe/upx-3.95.exe
36352fdaf55ed59296e3c3cbd3982aeff850b44c4b8eedfaea97ef86815f1f1c *arm-linux.elf/upx-3.95 36352fdaf55ed59296e3c3cbd3982aeff850b44c4b8eedfaea97ef86815f1f1c *arm-linux.elf/upx-3.95
d7839b7dee866794e4ca3df32e2b1084b35aa22dee5f060fa14b5ca09c612ba3 *arm-wince.pe/upx-3.91.exe d7839b7dee866794e4ca3df32e2b1084b35aa22dee5f060fa14b5ca09c612ba3 *arm-wince.pe/upx-3.91.exe
8ebe1bd25ce7fa3c6a2727578aa564b631e9865b14b63b6f38234cd5f55a4f9c *arm64-linux.elf/upx-3.95 8ebe1bd25ce7fa3c6a2727578aa564b631e9865b14b63b6f38234cd5f55a4f9c *arm64-linux.elf/upx-3.95
@ -79,8 +79,8 @@ d7839b7dee866794e4ca3df32e2b1084b35aa22dee5f060fa14b5ca09c612ba3 *arm-wince.pe/u
756fb04653a6b7b5d9ec4707cf43ca885da25d4992aa170b18bb27846e2a2f84 *armeb-linux.elf/upx-3.95 756fb04653a6b7b5d9ec4707cf43ca885da25d4992aa170b18bb27846e2a2f84 *armeb-linux.elf/upx-3.95
4a434c3a14686786369c8bede8736d15e307ed7dd8c40cccb8f22003b05db968 *i386-dos32.djgpp2.coff/upx-3.91.exe 4a434c3a14686786369c8bede8736d15e307ed7dd8c40cccb8f22003b05db968 *i386-dos32.djgpp2.coff/upx-3.91.exe
4ec6858a6c453176db25de5317269fa973f07051a15c9ff146920153dda52350 *i386-dos32.djgpp2.coff/upx-3.95.exe 4ec6858a6c453176db25de5317269fa973f07051a15c9ff146920153dda52350 *i386-dos32.djgpp2.coff/upx-3.95.exe
54305bb7c0163cb966f190222174063f4323ff2430e62b54a7016652792935c5 *i386-linux.elf/upx-3.91 b2336a618f14a23875f91775274d7e9eb24b54e21b536916ee0d862016a401af *i386-linux.elf/upx-3.91
42f4741d88d4f35f20bddbd836f8face3ba2c5b90f3bcb1b07dc00ffde25ab39 *i386-linux.elf/upx-3.95 b5698daaf4d7198354163bd71bebdc49e2e38b62b9e98791584aa934bb213b5d *i386-linux.elf/upx-3.95
18c0e4fb6bf6b26b5c943c54571007b4aba4d0a4ba7391c149eeada54a0a404d *i386-win32.pe/upx-3.91.exe 18c0e4fb6bf6b26b5c943c54571007b4aba4d0a4ba7391c149eeada54a0a404d *i386-win32.pe/upx-3.91.exe
8501c4a677eb66b482987122febc0360fc02f6720fd7c19d311cf60314d5705e *i386-win32.pe/upx-3.95.exe 8501c4a677eb66b482987122febc0360fc02f6720fd7c19d311cf60314d5705e *i386-win32.pe/upx-3.95.exe
b8d481769be7aa7768bb1bd8775e766512c5720813e5d8bab6decb200a916f11 *m68k-atari.tos/upx-3.91.ttp b8d481769be7aa7768bb1bd8775e766512c5720813e5d8bab6decb200a916f11 *m68k-atari.tos/upx-3.91.ttp
@ -92,9 +92,9 @@ e9e59af299572607a6c65c50a596e7d76c968a59e1d429c1091966e17fde2ff1 *powerpc-linux.
1ca6dcfdf89dd86345953815ada92babe0b632acc39c244f8913a1f962e57898 *powerpc64le-linux.elf/upx-3.95 1ca6dcfdf89dd86345953815ada92babe0b632acc39c244f8913a1f962e57898 *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\ expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
1dae2a0975fea47896d29c887ab230c452d7f2b352500566dca1dada104c15fd *amd64-linux.elf/upx-3.91 402eb4bb9d31ed3603d3e9d98239f5e0cd6d966965bfae92b0ab493505bc7e49 *amd64-linux.elf/upx-3.91
562af98f04aa6d06306e6184feb5ea54d235ccf382545b1941f45e780dc0ab4c *amd64-linux.elf/upx-3.95 2992935c6b2f7276d48be9d0d4527c4895f0feeaed74ee21e86faaadedddc793 *amd64-linux.elf/upx-3.95
97bb5953405f3413d9ff9bdc272caf2858697168b3e85dab54213da356b5ea0f *amd64-win64.pe/upx-3.95.exe 6caf4df19cfe55fc33b31b4e77b6ce0a5665d090de9d4210c1994b62049c66c5 *amd64-win64.pe/upx-3.95.exe
c8bbf63adc3beb4a0ead6b5d382ccf3558975a0d17d2c529d6b6ddce60c82e89 *arm-linux.elf/upx-3.95 c8bbf63adc3beb4a0ead6b5d382ccf3558975a0d17d2c529d6b6ddce60c82e89 *arm-linux.elf/upx-3.95
8c73f5acfc70e3c518be09978af87b9bec4906240cb457a166da0eba05bea4db *arm-wince.pe/upx-3.91.exe 8c73f5acfc70e3c518be09978af87b9bec4906240cb457a166da0eba05bea4db *arm-wince.pe/upx-3.91.exe
8762bc97745ee0f1323843cb5bde227420d9ced810d36af0df5a44823d39404a *arm64-linux.elf/upx-3.95 8762bc97745ee0f1323843cb5bde227420d9ced810d36af0df5a44823d39404a *arm64-linux.elf/upx-3.95
@ -102,8 +102,8 @@ c8bbf63adc3beb4a0ead6b5d382ccf3558975a0d17d2c529d6b6ddce60c82e89 *arm-linux.elf/
48aa23e0db353b50bf06c7e1c41b62159001ab5f8fb190d8dbb8d070cba51eaf *armeb-linux.elf/upx-3.95 48aa23e0db353b50bf06c7e1c41b62159001ab5f8fb190d8dbb8d070cba51eaf *armeb-linux.elf/upx-3.95
d454dd376db342e7650a93bd4859546711c94f5da55336e5b969dbea996465d9 *i386-dos32.djgpp2.coff/upx-3.91.exe d454dd376db342e7650a93bd4859546711c94f5da55336e5b969dbea996465d9 *i386-dos32.djgpp2.coff/upx-3.91.exe
89fdaef155f19e1388412109c955b3368df7e39f13ae2ef5db5b0f0df3df81ab *i386-dos32.djgpp2.coff/upx-3.95.exe 89fdaef155f19e1388412109c955b3368df7e39f13ae2ef5db5b0f0df3df81ab *i386-dos32.djgpp2.coff/upx-3.95.exe
a0050d1e2208c4bcfe9c2a3d59ecdf11a72e7fc9bec89524743a6f74cadf974d *i386-linux.elf/upx-3.91 4801290db946fc64c82cd692b013c4c718125171c974e4f3ec2833c1b4144ef7 *i386-linux.elf/upx-3.91
5a8056b3d154eafcc9a809f20da7de079e72f68976b32181df23be82935ac043 *i386-linux.elf/upx-3.95 ae26701147c17dfa490c24662009bb11e857beeeb61963c5adc3e94d2cfed1da *i386-linux.elf/upx-3.95
674216006959b78ef9bfeed682a6a858f657a860123c620dc77daf5d3c46c40d *i386-win32.pe/upx-3.91.exe 674216006959b78ef9bfeed682a6a858f657a860123c620dc77daf5d3c46c40d *i386-win32.pe/upx-3.91.exe
a47825b63e33e2ff5f07ec2b8e51991172a1e26e17fa1b2a19dc7857ab76db35 *i386-win32.pe/upx-3.95.exe a47825b63e33e2ff5f07ec2b8e51991172a1e26e17fa1b2a19dc7857ab76db35 *i386-win32.pe/upx-3.95.exe
2fc38c89629269a6c5ec22113f6a84a8b91e04c861359125d1c8e44d17ac190a *m68k-atari.tos/upx-3.91.ttp 2fc38c89629269a6c5ec22113f6a84a8b91e04c861359125d1c8e44d17ac190a *m68k-atari.tos/upx-3.91.ttp
@ -115,8 +115,8 @@ d57826eb570d83337195a49c187613fcec943f6e78e476fa03b2635cb4411ba5 *powerpc-linux.
c6473863d8058eab7ce2fdeaf376fe9ddd0f0732003fae7a166079a30b794cea *powerpc64le-linux.elf/upx-3.95 c6473863d8058eab7ce2fdeaf376fe9ddd0f0732003fae7a166079a30b794cea *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t140_compress_lzma_2_no_filter="\ expected_sha256sums__t140_compress_lzma_2_no_filter="\
519c4be4a60b729f8410b1639a5caa68c8e6f84af680064518cc78d9eb80fe0a *amd64-linux.elf/upx-3.91 13a40034527eb0a5e4d5ee82135dccc95413bc3c159d5482b2bea9b96f673ff7 *amd64-linux.elf/upx-3.91
38abfe7566c1cc7b4241992353fe9acc5f1f42514636fe15f0f851ff90648776 *amd64-linux.elf/upx-3.95 ee790dd4bfc2e1b2c3e749e9de7d70cd920f6340befecf0f5ac8ffa0556aa268 *amd64-linux.elf/upx-3.95
b8815f95e92d6853a04a86069e9054115be2d9aa657fa2c8912d0f37e56c894f *amd64-win64.pe/upx-3.95.exe b8815f95e92d6853a04a86069e9054115be2d9aa657fa2c8912d0f37e56c894f *amd64-win64.pe/upx-3.95.exe
29f31f0a3c99c4e9e47e554928f67f3e28e85cde1c90c4394ac072835110053e *arm-linux.elf/upx-3.95 29f31f0a3c99c4e9e47e554928f67f3e28e85cde1c90c4394ac072835110053e *arm-linux.elf/upx-3.95
018242f330e19dd7ca2fb78687c0070ad88f1aa2e113be865c30ad3ff94a4ada *arm-wince.pe/upx-3.91.exe 018242f330e19dd7ca2fb78687c0070ad88f1aa2e113be865c30ad3ff94a4ada *arm-wince.pe/upx-3.91.exe
@ -125,8 +125,8 @@ b2faa2181b1d5c3718c1c05c5ae130b61ee67a3b481b3235ac3af3d5de9ddce8 *arm64-linux.el
9d5d92b1bd8e995458b1bffd056971bdc1fdffcd06c3c40852650021752206e8 *armeb-linux.elf/upx-3.95 9d5d92b1bd8e995458b1bffd056971bdc1fdffcd06c3c40852650021752206e8 *armeb-linux.elf/upx-3.95
d87f0efee3de67a58d515acbea9789e6db99c47ba23bd33aa33992a0ef35bb67 *i386-dos32.djgpp2.coff/upx-3.91.exe d87f0efee3de67a58d515acbea9789e6db99c47ba23bd33aa33992a0ef35bb67 *i386-dos32.djgpp2.coff/upx-3.91.exe
0039c6235cfa7d377594e7858ba24c5007379c33f57ca66f144687413d574ca6 *i386-dos32.djgpp2.coff/upx-3.95.exe 0039c6235cfa7d377594e7858ba24c5007379c33f57ca66f144687413d574ca6 *i386-dos32.djgpp2.coff/upx-3.95.exe
a56a5d7b0d3ed26ace4b73bd40091341766bb7386c185874e9cba20be2e87ceb *i386-linux.elf/upx-3.91 e5e984dfd9cc32bbf8acc8efdc229a30e79923365f682089d3af85528f45f269 *i386-linux.elf/upx-3.91
a16f9139d0e5b5340badd7aefa4d73f52746f1462e3f8d34d09d32dd4efd6452 *i386-linux.elf/upx-3.95 3bb05dcbf7d66f5c35777ad64f1e3d5d53a20a3ea7c627ff644ed23342751cfc *i386-linux.elf/upx-3.95
a33d057a391218e62f427cdd31c5850d5637346106f23523d21addc60451e159 *i386-win32.pe/upx-3.91.exe a33d057a391218e62f427cdd31c5850d5637346106f23523d21addc60451e159 *i386-win32.pe/upx-3.91.exe
24ecb3b5fd2f8d81f7deeadbec1988dc62503345d36b60bd17b9a4a09f8cbfb6 *i386-win32.pe/upx-3.95.exe 24ecb3b5fd2f8d81f7deeadbec1988dc62503345d36b60bd17b9a4a09f8cbfb6 *i386-win32.pe/upx-3.95.exe
d81bbba6a8ede3aa9bebcd28280914c1084dc0a9ff1d000389e3f52ff05a1ac7 *m68k-atari.tos/upx-3.91.ttp d81bbba6a8ede3aa9bebcd28280914c1084dc0a9ff1d000389e3f52ff05a1ac7 *m68k-atari.tos/upx-3.91.ttp
@ -138,9 +138,9 @@ f73ac160bb9ed28b5285c7972128038a7f3a63ff41b4bb2d0a4f74c1f073ddf0 *powerpc-linux.
ac98e187eab50233948891089657afb8c851301d0a7616d0cbc2fb6f140cd16d *powerpc64le-linux.elf/upx-3.95 ac98e187eab50233948891089657afb8c851301d0a7616d0cbc2fb6f140cd16d *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t150_compress_ucl_2_all_filters="\ expected_sha256sums__t150_compress_ucl_2_all_filters="\
88c0cd792b89278becf6ba1e87c9b365a5b7425d56907c147b9beccb0e9b1088 *amd64-linux.elf/upx-3.91 800eca887d350638f8540b75fd950f350a808b6c4cb0a3516b61002979e7a953 *amd64-linux.elf/upx-3.91
a181ced085eee8bc551360764d336f70c94784209958c1378172edf34b48c7d1 *amd64-linux.elf/upx-3.95 82ca9ff37fa4648069a912808c7bc9471027a623d211907f8566fd2c135df4c6 *amd64-linux.elf/upx-3.95
434732efb16b89114162a1787a28c128e2c11edb9835411f2b707cac5cd475ae *amd64-win64.pe/upx-3.95.exe fa8ba95a5fcc1a0d591e9b50d26772b3334815ffbf95d0127b4daa6c74ecc28d *amd64-win64.pe/upx-3.95.exe
29c1c5fad1934e0ea0c475425206715302ec87d2a6212f5d668a430017a56725 *arm-linux.elf/upx-3.95 29c1c5fad1934e0ea0c475425206715302ec87d2a6212f5d668a430017a56725 *arm-linux.elf/upx-3.95
93e2ead9e54732a1731896681d415e3ce60b7420ad7f3c57822ad7dbd061cdd3 *arm-wince.pe/upx-3.91.exe 93e2ead9e54732a1731896681d415e3ce60b7420ad7f3c57822ad7dbd061cdd3 *arm-wince.pe/upx-3.91.exe
fe3bb2d827888c20e34bf86f6b1593408d91338934530df2e7aa2af2149a1627 *arm64-linux.elf/upx-3.95 fe3bb2d827888c20e34bf86f6b1593408d91338934530df2e7aa2af2149a1627 *arm64-linux.elf/upx-3.95
@ -148,8 +148,8 @@ fe3bb2d827888c20e34bf86f6b1593408d91338934530df2e7aa2af2149a1627 *arm64-linux.el
411d2e91b84d2ff2f1bda1b1b83686e70b23ef7333763a809b524db4abd19431 *armeb-linux.elf/upx-3.95 411d2e91b84d2ff2f1bda1b1b83686e70b23ef7333763a809b524db4abd19431 *armeb-linux.elf/upx-3.95
2957b481e67689a5ad43dcfdfde207b9eb16142c161f3e43fd0eeff5917fefbd *i386-dos32.djgpp2.coff/upx-3.91.exe 2957b481e67689a5ad43dcfdfde207b9eb16142c161f3e43fd0eeff5917fefbd *i386-dos32.djgpp2.coff/upx-3.91.exe
8f02dbfdbddad405ec599afba4ead6d300ab792f7188df7a32a9d7d3dc7d72c9 *i386-dos32.djgpp2.coff/upx-3.95.exe 8f02dbfdbddad405ec599afba4ead6d300ab792f7188df7a32a9d7d3dc7d72c9 *i386-dos32.djgpp2.coff/upx-3.95.exe
a10e9722e489f540930e970e6196892d07d8cbc3244ee31fd6360076c59d4c2f *i386-linux.elf/upx-3.91 b45ffdff38d1386d3866f1411fa775ae1200c86b8071108f150913f761c4450a *i386-linux.elf/upx-3.91
3ab88b20a154a834115faf40adbd2d499b8c6d261482014d1992d9a9691ed7df *i386-linux.elf/upx-3.95 67b79518a8e5f46e3b6b29bf53c3c9abded6d87afae6b854ea30ea7529903ed6 *i386-linux.elf/upx-3.95
b233f8508a150a20dffaeb6da057ccfd1cf78fbb89d9bdf3fbdd1c21716665e3 *i386-win32.pe/upx-3.91.exe b233f8508a150a20dffaeb6da057ccfd1cf78fbb89d9bdf3fbdd1c21716665e3 *i386-win32.pe/upx-3.91.exe
57a4ff483773e64ab95963445049bff4044e055f31c13bd74c039fba1f113401 *i386-win32.pe/upx-3.95.exe 57a4ff483773e64ab95963445049bff4044e055f31c13bd74c039fba1f113401 *i386-win32.pe/upx-3.95.exe
1c8973e104c93be98db7d5411b478d0badb7b6d5373f7d28e94f435fb31faa7e *m68k-atari.tos/upx-3.91.ttp 1c8973e104c93be98db7d5411b478d0badb7b6d5373f7d28e94f435fb31faa7e *m68k-atari.tos/upx-3.91.ttp
@ -161,8 +161,8 @@ b233f8508a150a20dffaeb6da057ccfd1cf78fbb89d9bdf3fbdd1c21716665e3 *i386-win32.pe/
65f68e7dbb6366476eb6b9aacde13b05e1b9f460dc833b45ce6ac2097cb55100 *powerpc64le-linux.elf/upx-3.95 65f68e7dbb6366476eb6b9aacde13b05e1b9f460dc833b45ce6ac2097cb55100 *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t160_compress_all_methods_1_no_filter="\ expected_sha256sums__t160_compress_all_methods_1_no_filter="\
9df4eec634f1b667eab6c977406195f0dc2d5b8c35bd030a05e97749ce904208 *amd64-linux.elf/upx-3.91 ed6fc641d8e958b9b39fcf2dd35c9acdf4af268393faf42a762183d0a384e894 *amd64-linux.elf/upx-3.91
ceaadb65ce1589f13e696fc35adb3c6d54a21238e96f6824b91cbd0049bb2d37 *amd64-linux.elf/upx-3.95 517ce5e7ef22893234061879bbdec9e70d10351ebe270c1e6bf3fd76e73a1f8f *amd64-linux.elf/upx-3.95
f38ff7edc916c1a3e82020035667de858c89d52c98d960dad0e21b4da444ed6c *amd64-win64.pe/upx-3.95.exe f38ff7edc916c1a3e82020035667de858c89d52c98d960dad0e21b4da444ed6c *amd64-win64.pe/upx-3.95.exe
77b3fc3e4354a373746048ef12ea794241faa01353415ae5bdb00f25d31f9ce1 *arm-linux.elf/upx-3.95 77b3fc3e4354a373746048ef12ea794241faa01353415ae5bdb00f25d31f9ce1 *arm-linux.elf/upx-3.95
bb475839ec547696aaccf4da202b99be927c872e5de298a5eb1f0be0edc06d1d *arm-wince.pe/upx-3.91.exe bb475839ec547696aaccf4da202b99be927c872e5de298a5eb1f0be0edc06d1d *arm-wince.pe/upx-3.91.exe
@ -171,8 +171,8 @@ bb475839ec547696aaccf4da202b99be927c872e5de298a5eb1f0be0edc06d1d *arm-wince.pe/u
40a3b6d97167cccd9d804c0c4a68f7f2b5c6a26d0666c5c431b48734160919dc *armeb-linux.elf/upx-3.95 40a3b6d97167cccd9d804c0c4a68f7f2b5c6a26d0666c5c431b48734160919dc *armeb-linux.elf/upx-3.95
6a5394bb8cc82863405b82d40cc92ea65af2125e48ad83591317a2526bb394e6 *i386-dos32.djgpp2.coff/upx-3.91.exe 6a5394bb8cc82863405b82d40cc92ea65af2125e48ad83591317a2526bb394e6 *i386-dos32.djgpp2.coff/upx-3.91.exe
7f9226941ef63ce50fd210b0da32f96053c029378c33c65f4e93c390ad5b0a85 *i386-dos32.djgpp2.coff/upx-3.95.exe 7f9226941ef63ce50fd210b0da32f96053c029378c33c65f4e93c390ad5b0a85 *i386-dos32.djgpp2.coff/upx-3.95.exe
783f6b1589e7bc75c057bdf553f2175aaf70f1c6be74a1b6742e5953d3d38093 *i386-linux.elf/upx-3.91 3ef6e67faea6b1ae0eab0f26239ac51445c132ac08ae2499ddbbfc095b4fec89 *i386-linux.elf/upx-3.91
2500c855e548f19cd314db934ac5f31e9464d92d35e73d13e95a3746b1868a0b *i386-linux.elf/upx-3.95 2bc399c7af1830637f229dc49aff4035074ccf26ba29f3a7a3911433d2cb959e *i386-linux.elf/upx-3.95
20c9fcde690091218f83c1f9fcb9a8d211f384569724801c89f3ce5d23356004 *i386-win32.pe/upx-3.91.exe 20c9fcde690091218f83c1f9fcb9a8d211f384569724801c89f3ce5d23356004 *i386-win32.pe/upx-3.91.exe
c99b42e740ca0fb80a06d2e76c0b5d9169fb76900521c5ccd8e2e5a46f5020d3 *i386-win32.pe/upx-3.95.exe c99b42e740ca0fb80a06d2e76c0b5d9169fb76900521c5ccd8e2e5a46f5020d3 *i386-win32.pe/upx-3.95.exe
0bc481806564627f23125e3ab6fa59e8b90e35f0f117c3d185a728086ad02351 *m68k-atari.tos/upx-3.91.ttp 0bc481806564627f23125e3ab6fa59e8b90e35f0f117c3d185a728086ad02351 *m68k-atari.tos/upx-3.91.ttp
@ -184,9 +184,9 @@ f20cb159b07531a48871b949ea3a50d1df5e618841b4cbdc8a93d276c352ee53 *powerpc-linux.
1931b0dcb7484d04ed4e09e3b2b259278d9ad34328def738364dabb098518f56 *powerpc64le-linux.elf/upx-3.95 1931b0dcb7484d04ed4e09e3b2b259278d9ad34328def738364dabb098518f56 *powerpc64le-linux.elf/upx-3.95
" "
expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\ expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
548e8c203ad5022e05f292e40ccb62c8beadf5f309f3e625e76bd9a02ef04d44 *amd64-linux.elf/upx-3.91 c64127c7e014531a7d85141755afc2a68aa723a527ac162b1f1f28fe5b41fde4 *amd64-linux.elf/upx-3.91
c135cc3089c90110870828d726136bd6d8da9203c57d1b242d95d80d0305fe96 *amd64-linux.elf/upx-3.95 740c9929ff8b5cb87d9946b5261c0a8e0ab7b142da9e0be2368b4337d4e8f3f9 *amd64-linux.elf/upx-3.95
5fccb0f5044baaa74d176efb25eefa3b5810dc737ed0f9d38084d275f7ebe7b8 *amd64-win64.pe/upx-3.95.exe fb362f2b3ea02f9c12de7e8f19f73ea6cfebfeb7b8c316003121a9ad13d3d8ae *amd64-win64.pe/upx-3.95.exe
2324e0d8cac45d16c695fe17c0d711dd2b8190664091b016370fff43e7fa429a *arm-linux.elf/upx-3.95 2324e0d8cac45d16c695fe17c0d711dd2b8190664091b016370fff43e7fa429a *arm-linux.elf/upx-3.95
56be0b4046accdfadbe534ecb6e6452b9e3a18bb9eac39da0ee8893c31d24416 *arm-wince.pe/upx-3.91.exe 56be0b4046accdfadbe534ecb6e6452b9e3a18bb9eac39da0ee8893c31d24416 *arm-wince.pe/upx-3.91.exe
8e440516964e8f9871437bfe83284d5cf0ab26a6eee9bcd9b46f9b491ecd51fb *arm64-linux.elf/upx-3.95 8e440516964e8f9871437bfe83284d5cf0ab26a6eee9bcd9b46f9b491ecd51fb *arm64-linux.elf/upx-3.95
@ -194,8 +194,8 @@ c135cc3089c90110870828d726136bd6d8da9203c57d1b242d95d80d0305fe96 *amd64-linux.el
8ddd98c58bb961064115035c0f660a788c86039363b6a2cb77a3d394ea0ef438 *armeb-linux.elf/upx-3.95 8ddd98c58bb961064115035c0f660a788c86039363b6a2cb77a3d394ea0ef438 *armeb-linux.elf/upx-3.95
6f9fbac216cd42aa370cb90965e74669daf33fd403bf0a250aaec06dd3439009 *i386-dos32.djgpp2.coff/upx-3.91.exe 6f9fbac216cd42aa370cb90965e74669daf33fd403bf0a250aaec06dd3439009 *i386-dos32.djgpp2.coff/upx-3.91.exe
902f1c5036680b0fadbebaef913c4062f0ce5ef0f2d537f7e6da31d23974139d *i386-dos32.djgpp2.coff/upx-3.95.exe 902f1c5036680b0fadbebaef913c4062f0ce5ef0f2d537f7e6da31d23974139d *i386-dos32.djgpp2.coff/upx-3.95.exe
63205628e7ae35bfedf8a9d107b5f8df124e60737ee83ef0e8769144888b73cc *i386-linux.elf/upx-3.91 df9aff7aef7e33fa7540ab31dbd3a67daf4a02f3b2928ab6052bccf1d48355be *i386-linux.elf/upx-3.91
5168a3739ffc8d81ddfbaf5a98607246555a4c0de3ae5a8d73da0dc88ef944a3 *i386-linux.elf/upx-3.95 683c506810d51269e111ed0d9b54333434bdbf755fb80ffc022b306b7b418494 *i386-linux.elf/upx-3.95
63afac5307a2385757b3d29753c64e0026241ea2ca1324f53e8ccb4263cc9f62 *i386-win32.pe/upx-3.91.exe 63afac5307a2385757b3d29753c64e0026241ea2ca1324f53e8ccb4263cc9f62 *i386-win32.pe/upx-3.91.exe
eb01b6f27798690115cabb88314551579da509455232bbaa3276eddc25106d0d *i386-win32.pe/upx-3.95.exe eb01b6f27798690115cabb88314551579da509455232bbaa3276eddc25106d0d *i386-win32.pe/upx-3.95.exe
3a5fa857ff517e41386062a0fb2be4f8b6fa5cb79d5624b5a00947c1f2758afb *m68k-atari.tos/upx-3.91.ttp 3a5fa857ff517e41386062a0fb2be4f8b6fa5cb79d5624b5a00947c1f2758afb *m68k-atari.tos/upx-3.91.ttp

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/* amd64-linux.elf-entry.h /* amd64-linux.elf-entry.h
created from amd64-linux.elf-entry.bin, 1161 (0x489) bytes created from amd64-linux.elf-entry.bin, 1169 (0x491) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@ -32,82 +32,83 @@
/* clang-format off */ /* clang-format off */
#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 1161 #define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 1169
#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0xd1f34e96 #define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0xd7f05321
#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0xa3acf450 #define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0x60350b68
unsigned char stub_amd64_linux_elf_entry[1161] = { unsigned char stub_amd64_linux_elf_entry[1169] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 40, 2, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 48, 2, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
/* 0x0040 */ 89, 84, 95, 81,232,107, 1, 0, 0,232,102, 1, 0, 0, 72,139, /* 0x0040 */ 243, 15, 30,250, 89, 84, 95, 81,232,107, 1, 0, 0,232,102, 1,
/* 0x0050 */ 7, 72,139, 79, 8, 72,131,199, 16, 72,131,248, 6,116, 12, 72, /* 0x0050 */ 0, 0, 72,139, 7, 72,139, 79, 8, 72,131,199, 16, 72,131,248,
/* 0x0060 */ 199,193, 0, 16, 0, 0, 72,133,192,117,227, 72,247,217, 81, 82, /* 0x0060 */ 6,116, 12, 72,199,193, 0, 16, 0, 0, 72,133,192,117,227, 72,
/* 0x0070 */ 104,117,112,120, 0, 84, 95,190, 16, 0, 0, 0,184, 63, 1, 0, /* 0x0070 */ 247,217, 81, 82,104,117,112,120, 0, 84, 95,190, 16, 0, 0, 0,
/* 0x0080 */ 0, 15, 5,133,192,121, 45,133,246,116, 4, 49,246,235,237,232, /* 0x0080 */ 184, 63, 1, 0, 0, 15, 5,133,192,121, 45,133,246,116, 4, 49,
/* 0x0090 */ 17, 0, 0, 0,192, 1, 0, 0, 2, 0, 65, 0, 47,100,101,118, /* 0x0090 */ 246,235,237,232, 17, 0, 0, 0,192, 1, 0, 0, 2, 0, 65, 0,
/* 0x00a0 */ 47,115,104,109, 0, 94,173,146,173, 86,150, 95,106, 2, 88,232, /* 0x00a0 */ 47,100,101,118, 47,115,104,109, 0, 94,173,146,173, 86,150, 95,
/* 0x00b0 */ 13, 1, 0, 0, 73,137,196, 89, 72,141, 61,125,255,255,255,139, /* 0x00b0 */ 106, 2, 88,232, 13, 1, 0, 0, 73,137,196, 89, 72,141, 61,121,
/* 0x00c0 */ 15, 72, 41,207, 72,141, 53, 0, 0, 0, 0,173,147, 65,137,221, /* 0x00c0 */ 255,255,255,139, 15, 72, 41,207, 72,141, 53, 0, 0, 0, 0,173,
/* 0x00d0 */ 173,146,131,194, 16, 82,106,255, 87, 72, 41,217, 81, 72, 1,251, /* 0x00d0 */ 147, 65,137,221,173,146,131,194, 16, 82,106,255, 87, 72, 41,217,
/* 0x00e0 */ 83, 84, 93, 72, 41,212, 72,131,228,192, 84, 95,173, 80,173,102, /* 0x00e0 */ 81, 72, 1,251, 83, 84, 93, 72, 41,212, 72,131,228,192, 84, 95,
/* 0x00f0 */ 131,248, 2,116, 1,244, 88, 72, 1,240, 80, 85, 49,219, 49,201, /* 0x00f0 */ 173, 80,173,102,131,248, 2,116, 1,244, 88, 72, 1,240, 80, 85,
/* 0x0100 */ 72,141, 21,207, 0, 0, 0,106,255, 93,252,168,164,255,210,114, /* 0x0100 */ 49,219, 49,201, 72,141, 21,207, 0, 0, 0,106,255, 93,252,168,
/* 0x0110 */ 251,141, 65, 1,255,210, 17,192,255,210,115,248,131,232, 3,114, /* 0x0110 */ 164,255,210,114,251,141, 65, 1,255,210, 17,192,255,210,115,248,
/* 0x0120 */ 12,193,224, 8,172,131,240,255,116, 47, 72, 99,232,141, 65, 1, /* 0x0120 */ 131,232, 3,114, 12,193,224, 8,172,131,240,255,116, 47, 72, 99,
/* 0x0130 */ 255,210, 17,201,255,210, 17,201,117, 13,137,193,131,192, 2,255, /* 0x0130 */ 232,141, 65, 1,255,210, 17,201,255,210, 17,201,117, 13,137,193,
/* 0x0140 */ 210, 17,201,255,210,115,248,129,253, 0,243,255,255, 17,193, 86, /* 0x0140 */ 131,192, 2,255,210, 17,201,255,210,115,248,129,253, 0,243,255,
/* 0x0150 */ 72,141, 52, 47,243,164, 94,235,180, 93, 89, 72, 57,206,116, 1, /* 0x0150 */ 255, 17,193, 86, 72,141, 52, 47,243,164, 94,235,180, 93, 89, 72,
/* 0x0160 */ 244, 72,139, 69, 48, 72,137, 4, 36, 72,139, 85, 32, 72,131,234, /* 0x0160 */ 57,206,116, 1,244, 72,139, 69, 48, 72,137, 4, 36, 72,139, 85,
/* 0x0170 */ 16, 84, 94, 76,137,231, 82,106, 1, 88,232, 66, 0, 0, 0, 72, /* 0x0170 */ 32, 72,131,234, 16, 84, 94, 76,137,231, 82,106, 1, 88,232, 66,
/* 0x0180 */ 1,198, 41,194,117,241, 94, 85, 92, 77, 49,201, 77,137,224,106, /* 0x0180 */ 0, 0, 0, 72, 1,198, 41,194,117,241, 94, 85, 92, 77, 49,201,
/* 0x0190 */ 1, 65, 90,106, 7, 90, 41,255,106, 9, 88,232, 33, 0, 0, 0, /* 0x0190 */ 77,137,224,106, 1, 65, 90,106, 7, 90, 41,255,106, 9, 88,232,
/* 0x01a0 */ 80, 72,137, 69, 24, 65, 80, 95,106, 3, 88, 15, 5, 88, 72,131, /* 0x01a0 */ 33, 0, 0, 0, 80, 72,137, 69, 24, 65, 80, 95,106, 3, 88, 15,
/* 0x01b0 */ 192, 8,255,224, 72,139, 7, 72,131,199, 8, 72,133,192,117,244, /* 0x01b0 */ 5, 88, 72,131,192, 8,255,224, 72,139, 7, 72,131,199, 8, 72,
/* 0x01c0 */ 195, 80, 15, 5, 89, 72, 61, 0,240,255,255,114, 1,244,195, 72, /* 0x01c0 */ 133,192,117,244,195, 80, 15, 5, 89, 72, 61, 0,240,255,255,114,
/* 0x01d0 */ 139, 60, 36,102,175,195, 1,219,116, 2,243,195,139, 30, 72,131, /* 0x01d0 */ 1,244,195, 72,139, 60, 36,102,175,195,243, 15, 30,250, 1,219,
/* 0x01e0 */ 238,252, 17,219,243,195, 0, 0, 0, 0, 0, 0,102,105,108,101, /* 0x01e0 */ 116, 2,243,195,139, 30, 72,131,238,252, 17,219,243,195, 0, 0,
/* 0x01f0 */ 32,102,111,114,109, 97,116, 32,101,108,102, 54, 52, 45,120, 56, /* 0x01f0 */ 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,
/* 0x0200 */ 54, 45, 54, 52, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, /* 0x0200 */ 101,108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101,
/* 0x0210 */ 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x0210 */ 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101,
/* 0x0220 */ 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, /* 0x0220 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32,
/* 0x0230 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, /* 0x0230 */ 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0240 */ 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x0240 */ 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32,
/* 0x0250 */ 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, /* 0x0250 */ 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102,
/* 0x0260 */ 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, /* 0x0260 */ 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32,
/* 0x0270 */ 78, 88, 32, 32, 32, 32, 32, 32, 48, 49, 97, 54, 32, 32, 48, 32, /* 0x0270 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32,
/* 0x0280 */ 32, 48, 32, 32, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x0280 */ 48, 49, 97,101, 32, 32, 48, 32, 32, 48, 32, 32, 48, 52, 48, 32,
/* 0x0290 */ 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, /* 0x0290 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10,
/* 0x02a0 */ 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 52, 32, 32, 48, 32, /* 0x02a0 */ 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32,
/* 0x02b0 */ 32, 48, 32, 32, 48, 49,101, 56, 32, 32, 50, 42, 42, 50, 32, 32, /* 0x02b0 */ 32, 32, 48, 52, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49,102, 48,
/* 0x02c0 */ 67, 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, /* 0x02c0 */ 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x02d0 */ 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x02d0 */ 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48,
/* 0x02e0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, /* 0x02e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x02f0 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, /* 0x02f0 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x0300 */ 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x0300 */ 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48,
/* 0x0310 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, /* 0x0310 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32,
/* 0x0320 */ 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, /* 0x0320 */ 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,
/* 0x0330 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x0330 */ 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x0340 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, /* 0x0340 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32,
/* 0x0350 */ 78, 88, 32, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, /* 0x0350 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116,
/* 0x0360 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, /* 0x0360 */ 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x0370 */ 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, /* 0x0370 */ 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78,
/* 0x0380 */ 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, /* 0x0380 */ 68, 42, 32, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69,
/* 0x0390 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, /* 0x0390 */ 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83,
/* 0x03a0 */ 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, /* 0x03a0 */ 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58,
/* 0x03b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, /* 0x03b0 */ 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x03c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, /* 0x03c0 */ 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x03d0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x03d0 */ 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48,
/* 0x03e0 */ 56, 55, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, /* 0x03e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 56, 98, 32, 82, 95, 88, 56, 54,
/* 0x03f0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, /* 0x03f0 */ 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x0400 */ 102,102,102,102,102,102,102,102,102,102,102,102,102,102,102, 99, /* 0x0400 */ 77, 65, 73, 78, 90, 43, 48,120,102,102,102,102,102,102,102,102,
/* 0x0410 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, /* 0x0410 */ 102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65,
/* 0x0420 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, /* 0x0420 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82,
/* 0x0430 */ 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, /* 0x0430 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70,
/* 0x0440 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, /* 0x0440 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89,
/* 0x0450 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, /* 0x0450 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0460 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, /* 0x0460 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x0470 */ 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, /* 0x0470 */ 48, 48, 48, 48, 48, 48, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95,
/* 0x0480 */ 32, 79, 95, 66, 73, 78, 70, 79, 10 /* 0x0480 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79,
/* 0x0490 */ 10
}; };

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1818
src/stub/amd64-win64.pe.h generated

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
/* i386-linux.elf-entry.h /* i386-linux.elf-entry.h
created from i386-linux.elf-entry.bin, 3668 (0xe54) bytes created from i386-linux.elf-entry.bin, 3672 (0xe58) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@ -32,239 +32,239 @@
/* clang-format off */ /* clang-format off */
#define STUB_I386_LINUX_ELF_ENTRY_SIZE 3668 #define STUB_I386_LINUX_ELF_ENTRY_SIZE 3672
#define STUB_I386_LINUX_ELF_ENTRY_ADLER32 0x232e2756 #define STUB_I386_LINUX_ELF_ENTRY_ADLER32 0x208429b1
#define STUB_I386_LINUX_ELF_ENTRY_CRC32 0x2add36df #define STUB_I386_LINUX_ELF_ENTRY_CRC32 0x14b715cd
unsigned char stub_i386_linux_elf_entry[3668] = { unsigned char stub_i386_linux_elf_entry[3672] = {
/* 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, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 6, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0, /* 0x0020 */ 68, 6, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0030 */ 8, 0, 5, 0,232,252,255,255,255, 1,219,116, 2,243,195,139, /* 0x0030 */ 8, 0, 5, 0,243, 15, 30,251,232,252,255,255,255, 1,219,116,
/* 0x0040 */ 30,131,238,252, 17,219,195, 94,131,236, 28,141,124, 36, 32,232, /* 0x0040 */ 2,243,195,139, 30,131,238,252, 17,219,195, 94,131,236, 28,141,
/* 0x0050 */ 190, 1, 0, 0,232,185, 1, 0, 0,139, 7,139, 79, 4,131,199, /* 0x0050 */ 124, 36, 32,232,190, 1, 0, 0,232,185, 1, 0, 0,139, 7,139,
/* 0x0060 */ 8,131,248, 6,116, 9,185, 0, 16, 0, 0,133,192,117,234,247, /* 0x0060 */ 79, 4,131,199, 8,131,248, 6,116, 9,185, 0, 16, 0, 0,133,
/* 0x0070 */ 217,137,229,137, 77, 24,141,186,247,255,255,255,139, 15, 41,207, /* 0x0070 */ 192,117,234,247,217,137,229,137, 77, 24,141,186,243,255,255,255,
/* 0x0080 */ 137,125, 8,173, 1,199,137,125, 0, 41,193,137, 77, 4,139, 30, /* 0x0080 */ 139, 15, 41,207,137,125, 8,173, 1,199,137,125, 0, 41,193,137,
/* 0x0090 */ 141,187, 45, 1, 0, 0,137,125, 16, 41,252,131,228,248, 87,141, /* 0x0090 */ 77, 4,139, 30,141,187, 45, 1, 0, 0,137,125, 16, 41,252,131,
/* 0x00a0 */ 124, 28, 4,137,233, 41,249,176,165,243,170, 95,141, 67, 20, 1, /* 0x00a0 */ 228,248, 87,141,124, 28, 4,137,233, 41,249,176,165,243,170, 95,
/* 0x00b0 */ 224,131,224,248, 80,137,193, 41,225,137, 76, 36, 4,139, 77, 24, /* 0x00b0 */ 141, 67, 20, 1,224,131,224,248, 80,137,193, 41,225,137, 76, 36,
/* 0x00c0 */ 137, 12, 36,185, 34, 0, 0, 0,137, 76, 36, 8, 49,201, 82, 80, /* 0x00c0 */ 4,139, 77, 24,137, 12, 36,185, 34, 0, 0, 0,137, 76, 36, 8,
/* 0x00d0 */ 137, 8, 87, 81,232,252,255,255,255,131,196, 12, 90,137,193,193, /* 0x00d0 */ 49,201, 82, 80,137, 8, 87, 81,232,252,255,255,255,131,196, 12,
/* 0x00e0 */ 232, 12,193,224, 12,137, 69, 12, 41,193,131,233, 1,137, 77, 20, /* 0x00e0 */ 90,137,193,193,232, 12,193,224, 12,137, 69, 12, 41,193,131,233,
/* 0x00f0 */ 141,124, 36, 12, 85,139, 78, 4,141,118, 12, 1,241, 81, 49,219, /* 0x00f0 */ 1,137, 77, 20,141,124, 36, 12, 85,139, 78, 4,141,118, 12, 1,
/* 0x0100 */ 49,201,131,205,255,252,168,164,255,210,114,251,141, 65, 1,255, /* 0x0100 */ 241, 81, 49,219, 49,201,131,205,255,252,168,164,255,210,114,251,
/* 0x0110 */ 210, 17,192,255,210,115,248,131,232, 3,114, 11,193,224, 8,172, /* 0x0110 */ 141, 65, 1,255,210, 17,192,255,210,115,248,131,232, 3,114, 11,
/* 0x0120 */ 131,240,255,116, 45,137,197,141, 65, 1,255,210, 17,201,255,210, /* 0x0120 */ 193,224, 8,172,131,240,255,116, 45,137,197,141, 65, 1,255,210,
/* 0x0130 */ 17,201,117, 13,137,193,131,192, 2,255,210, 17,201,255,210,115, /* 0x0130 */ 17,201,255,210, 17,201,117, 13,137,193,131,192, 2,255,210, 17,
/* 0x0140 */ 248,129,253, 0,243,255,255, 17,193, 86,141, 52, 47,243,164, 94, /* 0x0140 */ 201,255,210,115,248,129,253, 0,243,255,255, 17,193, 86,141, 52,
/* 0x0150 */ 235,182, 89, 57,206,116, 1,244, 93,139,125, 20,139, 85, 16,137, /* 0x0150 */ 47,243,164, 94,235,182, 89, 57,206,116, 1,244, 93,139,125, 20,
/* 0x0160 */ 225,137,251,176, 4,232, 40, 0, 0, 0,137,236,106, 0, 87,106, /* 0x0160 */ 139, 85, 16,137,225,137,251,176, 4,232, 40, 0, 0, 0,137,236,
/* 0x0170 */ 18,106, 5,255,117, 16,255,117, 12,232,252,255,255,255,131,196, /* 0x0170 */ 106, 0, 87,106, 18,106, 5,255,117, 16,255,117, 12,232,252,255,
/* 0x0180 */ 24,137,251,176, 6,232, 8, 0, 0, 0,139, 69, 12,131,192, 12, /* 0x0180 */ 255,255,131,196, 24,137,251,176, 6,232, 8, 0, 0, 0,139, 69,
/* 0x0190 */ 255,224, 15,182,192, 80,205,128, 89, 61, 0,240,255,255,114, 1, /* 0x0190 */ 12,131,192, 12,255,224, 15,182,192, 80,205,128, 89, 61, 0,240,
/* 0x01a0 */ 244,195, 83,141, 92, 36, 8,176, 90,232,228,255,255,255, 91,195, /* 0x01a0 */ 255,255,114, 1,244,195, 83,141, 92, 36, 8,176, 90,232,228,255,
/* 0x01b0 */ 41,192,195,135, 92, 36, 4,139, 76, 36, 8,106,106, 88,205,128, /* 0x01b0 */ 255,255, 91,195, 41,192,195,135, 92, 36, 4,139, 76, 36, 8,106,
/* 0x01c0 */ 139, 92, 36, 4,195, 85,137,229, 83,139, 93, 8,106,122, 88,205, /* 0x01c0 */ 106, 88,205,128,139, 92, 36, 4,195, 85,137,229, 83,139, 93, 8,
/* 0x01d0 */ 128, 91, 93,195, 85,137,229, 83,139, 93, 8,139, 77, 12,255, 53, /* 0x01d0 */ 106,122, 88,205,128, 91, 93,195, 85,137,229, 83,139, 93, 8,139,
/* 0x01e0 */ 39, 0, 0, 0, 88,205,128, 91, 93,195, 85,137,229, 87,139, 77, /* 0x01e0 */ 77, 12,255, 53, 39, 0, 0, 0, 88,205,128, 91, 93,195, 85,137,
/* 0x01f0 */ 16,139, 69, 12,139,125, 8,243,170, 95, 93,195, 85,137,229, 87, /* 0x01f0 */ 229, 87,139, 77, 16,139, 69, 12,139,125, 8,243,170, 95, 93,195,
/* 0x0200 */ 86,139, 77, 16,139,117, 12,139,125, 8,243,164,137,248, 94, 95, /* 0x0200 */ 85,137,229, 87, 86,139, 77, 16,139,117, 12,139,125, 8,243,164,
/* 0x0210 */ 93,195,139, 7,131,199, 4,133,192,117,247,195,204,195, 0, 0, /* 0x0210 */ 137,248, 94, 95, 93,195,139, 7,131,199, 4,133,192,117,247,195,
/* 0x0220 */ 85,137,229, 86, 83,131,236, 64,139,117, 8,106, 64,104,255, 0, /* 0x0220 */ 204,195, 0, 0, 85,137,229, 86, 83,131,236, 64,139,117, 8,106,
/* 0x0230 */ 0, 0,141, 93,184, 83,232,252,255,255,255, 83, 86,232,252,255, /* 0x0230 */ 64,104,255, 0, 0, 0,141, 93,184, 83,232,252,255,255,255, 83,
/* 0x0240 */ 255,255,137,194,131,196, 20,133,192,120, 21, 15,183, 69,192, 37, /* 0x0240 */ 86,232,252,255,255,255,137,194,131,196, 20,133,192,120, 21, 15,
/* 0x0250 */ 0,240, 0, 0,185, 0, 0, 0, 0, 61, 0, 64, 0, 0,116, 23, /* 0x0250 */ 183, 69,192, 37, 0,240, 0, 0,185, 0, 0, 0, 0, 61, 0, 64,
/* 0x0260 */ 131,250,254,117, 16,104,192, 1, 0, 0, 86,232,252,255,255,255, /* 0x0260 */ 0, 0,116, 23,131,250,254,117, 16,104,192, 1, 0, 0, 86,232,
/* 0x0270 */ 137,194,131,196, 8,137,209,137,200,141,101,248, 91, 94,201,195, /* 0x0270 */ 252,255,255,255,137,194,131,196, 8,137,209,137,200,141,101,248,
/* 0x0280 */ 139, 68, 36, 4,137,194,131,226, 31,131,224, 63,131,250, 26,118, /* 0x0280 */ 91, 94,201,195,139, 68, 36, 4,137,194,131,226, 31,131,224, 63,
/* 0x0290 */ 12,168, 32,116, 5,131,232, 70,235, 3,131,232, 43,131,192, 64, /* 0x0290 */ 131,250, 26,118, 12,168, 32,116, 5,131,232, 70,235, 3,131,232,
/* 0x02a0 */ 195, 85,137,229, 87, 86, 83,131,236, 20,232, 12, 0, 0, 0, 47, /* 0x02a0 */ 43,131,192, 64,195, 85,137,229, 87, 86, 83,131,236, 20,232, 12,
/* 0x02b0 */ 100, 97,116, 97, 47,100, 97,116, 97, 47, 0, 90,139, 2,139, 77, /* 0x02b0 */ 0, 0, 0, 47,100, 97,116, 97, 47,100, 97,116, 97, 47, 0, 90,
/* 0x02c0 */ 8,137, 1,139, 66, 4,137, 65, 4,102,139, 66, 8,102,137, 65, /* 0x02c0 */ 139, 2,139, 77, 8,137, 1,139, 66, 4,137, 65, 4,102,139, 66,
/* 0x02d0 */ 8,138, 66, 10,136, 65, 10,198, 65, 11, 0, 81,232, 63,255,255, /* 0x02d0 */ 8,102,137, 65, 8,138, 66, 10,136, 65, 10,198, 65, 11, 0, 81,
/* 0x02e0 */ 255,131,196, 4,232, 19, 0, 0, 0, 47,112,114,111, 99, 47,115, /* 0x02e0 */ 232, 63,255,255,255,131,196, 4,232, 19, 0, 0, 0, 47,112,114,
/* 0x02f0 */ 101,108,102, 47, 99,109,100,108,105,110,101, 0, 94,185, 0, 0, /* 0x02f0 */ 111, 99, 47,115,101,108,102, 47, 99,109,100,108,105,110,101, 0,
/* 0x0300 */ 0, 0,137,243,137,202,106, 5, 88,205,128,137, 69,232,139,117, /* 0x0300 */ 94,185, 0, 0, 0, 0,137,243,137,202,106, 5, 88,205,128,137,
/* 0x0310 */ 12,186,255, 15, 0, 0,137,195,137,241,106, 3, 88,205,128,137, /* 0x0310 */ 69,232,139,117, 12,186,255, 15, 0, 0,137,195,137,241,106, 3,
/* 0x0320 */ 199,139, 93,232,106, 6, 88,205,128,137,248,133,255, 15,136,178, /* 0x0320 */ 88,205,128,137,199,139, 93,232,106, 6, 88,205,128,137,248,133,
/* 0x0330 */ 0, 0, 0,198, 4, 62, 0,128, 62, 0,116, 6, 70,128, 62, 0, /* 0x0330 */ 255, 15,136,178, 0, 0, 0,198, 4, 62, 0,128, 62, 0,116, 6,
/* 0x0340 */ 117,250,137,240,128, 62, 47,116, 6, 78,128, 62, 47,117,250, 41, /* 0x0340 */ 70,128, 62, 0,117,250,137,240,128, 62, 47,116, 6, 78,128, 62,
/* 0x0350 */ 240, 80, 86,139, 69, 8,131,192, 10, 80,232,252,255,255,255,137, /* 0x0350 */ 47,117,250, 41,240, 80, 86,139, 69, 8,131,192, 10, 80,232,252,
/* 0x0360 */ 195,198, 0, 0,255,117, 8,232,180,254,255,255,131,196, 16,232, /* 0x0360 */ 255,255,255,137,195,198, 0, 0,255,117, 8,232,180,254,255,255,
/* 0x0370 */ 7, 0, 0, 0, 47, 99, 97, 99,104,101, 0, 90,139, 2,137, 3, /* 0x0370 */ 131,196, 16,232, 7, 0, 0, 0, 47, 99, 97, 99,104,101, 0, 90,
/* 0x0380 */ 102,139, 66, 4,102,137, 67, 4,131,195, 6,198, 3, 0,255,117, /* 0x0380 */ 139, 2,137, 3,102,139, 66, 4,102,137, 67, 4,131,195, 6,198,
/* 0x0390 */ 8,232,138,254,255,255,232, 5, 0, 0, 0, 47,117,112,120, 0, /* 0x0390 */ 3, 0,255,117, 8,232,138,254,255,255,232, 5, 0, 0, 0, 47,
/* 0x03a0 */ 88,139, 0,137, 3,141,115, 4,106, 20, 88,205,128,137,195,137, /* 0x03a0 */ 117,112,120, 0, 88,139, 0,137, 3,141,115, 4,106, 20, 88,205,
/* 0x03b0 */ 4, 36,232,201,254,255,255,136, 6,137,216,193,232, 6,137, 4, /* 0x03b0 */ 128,137,195,137, 4, 36,232,201,254,255,255,136, 6,137,216,193,
/* 0x03c0 */ 36,232,186,254,255,255,136, 70, 1,137,216,193,232, 12,137, 4, /* 0x03c0 */ 232, 6,137, 4, 36,232,186,254,255,255,136, 70, 1,137,216,193,
/* 0x03d0 */ 36,232,170,254,255,255,131,196, 4,136, 70, 2,198, 70, 3, 0, /* 0x03d0 */ 232, 12,137, 4, 36,232,170,254,255,255,131,196, 4,136, 70, 2,
/* 0x03e0 */ 184, 0, 0, 0, 0,141,101,244, 91, 94, 95,201,195, 86, 83,139, /* 0x03e0 */ 198, 70, 3, 0,184, 0, 0, 0, 0,141,101,244, 91, 94, 95,201,
/* 0x03f0 */ 116, 36, 12,139, 92, 36, 16,139, 76, 36, 20, 73,131,249,255,116, /* 0x03f0 */ 195, 86, 83,139,116, 36, 12,139, 92, 36, 16,139, 76, 36, 20, 73,
/* 0x0400 */ 30,138, 22,131,202, 32, 15,190,210,138, 3,131,200, 32, 15,190, /* 0x0400 */ 131,249,255,116, 30,138, 22,131,202, 32, 15,190,210,138, 3,131,
/* 0x0410 */ 192, 67, 70, 41,194,137,208,117, 11, 73,131,249,255,117,226,184, /* 0x0410 */ 200, 32, 15,190,192, 67, 70, 41,194,137,208,117, 11, 73,131,249,
/* 0x0420 */ 0, 0, 0, 0, 91, 94,195, 85,137,229, 87, 86, 83,131,236, 60, /* 0x0420 */ 255,117,226,184, 0, 0, 0, 0, 91, 94,195, 85,137,229, 87, 86,
/* 0x0430 */ 186, 0, 0, 0, 0,232, 4, 0, 0, 0,117,112,120, 0, 95,185, /* 0x0430 */ 83,131,236, 60,186, 0, 0, 0, 0,232, 4, 0, 0, 0,117,112,
/* 0x0440 */ 16, 0, 0, 0,184,100, 1, 0, 0,137,251,205,128,137,198,131, /* 0x0440 */ 120, 0, 95,185, 16, 0, 0, 0,184,100, 1, 0, 0,137,251,205,
/* 0x0450 */ 248,234,117, 13,184,100, 1, 0, 0,137,251,137,209,205,128,137, /* 0x0450 */ 128,137,198,131,248,234,117, 13,184,100, 1, 0, 0,137,251,137,
/* 0x0460 */ 198,133,246,121, 68,232, 9, 0, 0, 0, 47,100,101,118, 47,115, /* 0x0460 */ 209,205,128,137,198,133,246,121, 68,232, 9, 0, 0, 0, 47,100,
/* 0x0470 */ 104,109, 0, 95,185, 2, 0, 65, 0,190,192, 1, 0, 0,137,251, /* 0x0470 */ 101,118, 47,115,104,109, 0, 95,185, 2, 0, 65, 0,190,192, 1,
/* 0x0480 */ 137,242,106, 5, 88,205,128,137,198,133,192,121, 28,232, 13, 0, /* 0x0480 */ 0, 0,137,251,137,242,106, 5, 88,205,128,137,198,133,192,121,
/* 0x0490 */ 0, 0,109,101,109,102,100, 95, 99,114,101, 97,116,101, 0, 88, /* 0x0490 */ 28,232, 13, 0, 0, 0,109,101,109,102,100, 95, 99,114,101, 97,
/* 0x04a0 */ 80,232,252,255,255,255,131,196, 4,129,236, 16, 16, 0, 0,141, /* 0x04a0 */ 116,101, 0, 88, 80,232,252,255,255,255,131,196, 4,129,236, 16,
/* 0x04b0 */ 68, 36, 15,131,224,240,137, 69,224,199, 0, 0, 0, 0, 0, 80, /* 0x04b0 */ 16, 0, 0,141, 68, 36, 15,131,224,240,137, 69,224,199, 0, 0,
/* 0x04c0 */ 232,252,255,255,255,232, 5, 0, 0, 0, 97,110,100,114, 0, 88, /* 0x04c0 */ 0, 0, 0, 80,232,252,255,255,255,232, 5, 0, 0, 0, 97,110,
/* 0x04d0 */ 199, 4, 36, 4, 0, 0, 0,255,117,224, 80,232, 13,255,255,255, /* 0x04d0 */ 100,114, 0, 88,199, 4, 36, 4, 0, 0, 0,255,117,224, 80,232,
/* 0x04e0 */ 137,199,131,196, 12,133,192,117, 99,131,125, 16, 0,117, 8,232, /* 0x04e0 */ 13,255,255,255,137,199,131,196, 12,133,192,117, 99,131,125, 16,
/* 0x04f0 */ 252,255,255,255,137, 69, 16,133,255,117, 81,131,254,218,117, 76, /* 0x04f0 */ 0,117, 8,232,252,255,255,255,137, 69, 16,133,255,117, 81,131,
/* 0x0500 */ 131,125, 16, 0,116, 70,139, 69, 16,128, 56, 0,117, 22,255,117, /* 0x0500 */ 254,218,117, 76,131,125, 16, 0,116, 70,139, 69, 16,128, 56, 0,
/* 0x0510 */ 224, 80,232,138,253,255,255,131,196, 8,137,193,133,192, 15,136, /* 0x0510 */ 117, 22,255,117,224, 80,232,138,253,255,255,131,196, 8,137,193,
/* 0x0520 */ 211, 0, 0, 0,185,194, 0, 0, 0,190,192, 1, 0, 0,139, 93, /* 0x0520 */ 133,192, 15,136,211, 0, 0, 0,185,194, 0, 0, 0,190,192, 1,
/* 0x0530 */ 16,137,242,106, 5, 88,205,128,137,198,137,193,133,192, 15,136, /* 0x0530 */ 0, 0,139, 93, 16,137,242,106, 5, 88,205,128,137,198,137,193,
/* 0x0540 */ 179, 0, 0, 0,139, 93, 16,106, 10, 88,205,128,131,125, 12, 0, /* 0x0540 */ 133,192, 15,136,179, 0, 0, 0,139, 93, 16,106, 10, 88,205,128,
/* 0x0550 */ 116,106,133,255,116, 22,137,243,139, 77, 12,106, 93, 88,205,128, /* 0x0550 */ 131,125, 12, 0,116,106,133,255,116, 22,137,243,139, 77, 12,106,
/* 0x0560 */ 137,193,133,192, 15,136,141, 0, 0, 0,235, 80,104, 0, 16, 0, /* 0x0560 */ 93, 88,205,128,137,193,133,192, 15,136,141, 0, 0, 0,235, 80,
/* 0x0570 */ 0,106, 0,255,117,224,232,252,255,255,255,139,125, 12,131,196, /* 0x0570 */ 104, 0, 16, 0, 0,106, 0,255,117,224,232,252,255,255,255,139,
/* 0x0580 */ 12,133,255,116, 41,137,125,184,129,255, 0, 16, 0, 0,118, 7, /* 0x0580 */ 125, 12,131,196, 12,133,255,116, 41,137,125,184,129,255, 0, 16,
/* 0x0590 */ 199, 69,184, 0, 16, 0, 0,137,243,139, 77,224,139, 85,184,106, /* 0x0590 */ 0, 0,118, 7,199, 69,184, 0, 16, 0, 0,137,243,139, 77,224,
/* 0x05a0 */ 4, 88,205,128, 59, 69,184,117, 64, 43,125,184,117,215,185, 0, /* 0x05a0 */ 139, 85,184,106, 4, 88,205,128, 59, 69,184,117, 64, 43,125,184,
/* 0x05b0 */ 0, 0, 0,137,243,137,202,106, 19, 88,205,128,106, 0, 86,131, /* 0x05b0 */ 117,215,185, 0, 0, 0, 0,137,243,137,202,106, 19, 88,205,128,
/* 0x05c0 */ 125, 8, 1, 25,192,131,224,240,131,192, 17, 80,106, 3,255,117, /* 0x05c0 */ 106, 0, 86,131,125, 8, 1, 25,192,131,224,240,131,192, 17, 80,
/* 0x05d0 */ 12,255,117, 8,232,252,255,255,255,137,194,131,196, 24,137,193, /* 0x05d0 */ 106, 3,255,117, 12,255,117, 8,232,252,255,255,255,137,194,131,
/* 0x05e0 */ 61, 0,240,255,255,119, 16,235, 7,185,228,255,255,255,235, 7, /* 0x05e0 */ 196, 24,137,193, 61, 0,240,255,255,119, 16,235, 7,185,228,255,
/* 0x05f0 */ 141, 70, 1,137,193, 9,209,137,200,141,101,244, 91, 94, 95,201, /* 0x05f0 */ 255,255,235, 7,141, 70, 1,137,193, 9,209,137,200,141,101,244,
/* 0x0600 */ 195, 90,232, 15, 0, 0, 0, 0, 0, 0, 0, 0, 46,115,121,109, /* 0x0600 */ 91, 94, 95,201,195, 90,232, 19, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0610 */ 116, 97, 98, 0, 46,115,116,114,116, 97, 98, 0, 46,115,104,115, /* 0x0610 */ 46,115,121,109,116, 97, 98, 0, 46,115,116,114,116, 97, 98, 0,
/* 0x0620 */ 116,114,116, 97, 98, 0, 46,114,101,108, 69, 76, 70, 77, 65, 73, /* 0x0620 */ 46,115,104,115,116,114,116, 97, 98, 0, 46,114,101,108, 69, 76,
/* 0x0630 */ 78, 88, 0, 46,114,101,108, 69, 76, 70, 77, 65, 73, 78, 90, 0, /* 0x0630 */ 70, 77, 65, 73, 78, 88, 0, 46,114,101,108, 69, 76, 70, 77, 65,
/* 0x0640 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0640 */ 73, 78, 90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0650 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0650 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0660 */ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0, /* 0x0660 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
/* 0x0670 */ 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,205, 5, 0, 0, /* 0x0670 */ 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
/* 0x0680 */ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, /* 0x0680 */ 209, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
/* 0x0690 */ 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0690 */ 0, 0, 0, 0, 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
/* 0x06a0 */ 188, 8, 0, 0, 96, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, /* 0x06a0 */ 0, 0, 0, 0,192, 8, 0, 0, 96, 0, 0, 0, 6, 0, 0, 0,
/* 0x06b0 */ 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0, /* 0x06b0 */ 1, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0,
/* 0x06c0 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 6, 0, 0, 10, 0, 0, 0, /* 0x06c0 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 0, 0,
/* 0x06d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x06d0 */ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x06e0 */ 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x06e0 */ 0, 0, 0, 0, 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
/* 0x06f0 */ 28, 9, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0, /* 0x06f0 */ 0, 0, 0, 0, 32, 9, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0,
/* 0x0700 */ 4, 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0, /* 0x0700 */ 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0,
/* 0x0710 */ 0, 0, 0, 0, 0, 0, 0, 0, 11, 6, 0, 0, 53, 0, 0, 0, /* 0x0710 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 6, 0, 0,
/* 0x0720 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x0720 */ 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0730 */ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0730 */ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0740 */ 128, 7, 0, 0,224, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0, /* 0x0740 */ 0, 0, 0, 0,132, 7, 0, 0,224, 0, 0, 0, 7, 0, 0, 0,
/* 0x0750 */ 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0, /* 0x0750 */ 3, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0,
/* 0x0760 */ 0, 0, 0, 0, 0, 0, 0, 0, 96, 8, 0, 0, 92, 0, 0, 0, /* 0x0760 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100, 8, 0, 0,
/* 0x0770 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x0770 */ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0780 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0780 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0790 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, /* 0x0790 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x07a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0, /* 0x07a0 */ 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x07b0 */ 1, 0, 0, 0,243, 3, 0, 0,218, 1, 0, 0, 18, 0, 1, 0, /* 0x07b0 */ 3, 0, 3, 0, 1, 0, 0, 0,247, 3, 0, 0,218, 1, 0, 0,
/* 0x07c0 */ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, /* 0x07c0 */ 18, 0, 1, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x07d0 */ 25, 0, 0, 0,200, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x07d0 */ 16, 0, 0, 0, 25, 0, 0, 0,204, 1, 0, 0, 0, 0, 0, 0,
/* 0x07e0 */ 33, 0, 0, 0,110, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x07e0 */ 16, 0, 1, 0, 33, 0, 0, 0,114, 1, 0, 0, 0, 0, 0, 0,
/* 0x07f0 */ 38, 0, 0, 0,145, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x07f0 */ 16, 0, 1, 0, 38, 0, 0, 0,149, 1, 0, 0, 0, 0, 0, 0,
/* 0x0800 */ 44, 0, 0, 0,124, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x0800 */ 16, 0, 1, 0, 44, 0, 0, 0,128, 1, 0, 0, 0, 0, 0, 0,
/* 0x0810 */ 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x0810 */ 16, 0, 1, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0820 */ 66, 0, 0, 0,182, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x0820 */ 16, 0, 1, 0, 66, 0, 0, 0,186, 1, 0, 0, 0, 0, 0, 0,
/* 0x0830 */ 73, 0, 0, 0,232, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x0830 */ 16, 0, 1, 0, 73, 0, 0, 0,236, 1, 0, 0, 0, 0, 0, 0,
/* 0x0840 */ 81, 0, 0, 0,127, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x0840 */ 16, 0, 1, 0, 81, 0, 0, 0,131, 1, 0, 0, 0, 0, 0, 0,
/* 0x0850 */ 86, 0, 0, 0,160, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0, /* 0x0850 */ 16, 0, 1, 0, 86, 0, 0, 0,164, 1, 0, 0, 0, 0, 0, 0,
/* 0x0860 */ 0,117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102,100, /* 0x0860 */ 16, 0, 1, 0, 0,117,112,120, 95,109,109, 97,112, 95, 97,110,
/* 0x0870 */ 0, 79, 95, 66, 73, 78, 70, 79, 0,109,101,109,112, 99,112,121, /* 0x0870 */ 100, 95,102,100, 0, 79, 95, 66, 73, 78, 70, 79, 0,109,101,109,
/* 0x0880 */ 0,109,109, 97,112, 0,117,110, 97,109,101, 0,103,101,116, 95, /* 0x0880 */ 112, 99,112,121, 0,109,109, 97,112, 0,117,110, 97,109,101, 0,
/* 0x0890 */ 117,112,120,102,110, 95,112, 97,116,104, 0, 95,115,116, 97,114, /* 0x0890 */ 103,101,116, 95,117,112,120,102,110, 95,112, 97,116,104, 0, 95,
/* 0x08a0 */ 116, 0,109,101,109,115,101,116, 0,109,121, 95, 98,107,112,116, /* 0x08a0 */ 115,116, 97,114,116, 0,109,101,109,115,101,116, 0,109,121, 95,
/* 0x08b0 */ 0,115,116, 97,116, 0,109,107,100,105,114, 0, 1, 0, 0, 0, /* 0x08b0 */ 98,107,112,116, 0,115,116, 97,116, 0,109,107,100,105,114, 0,
/* 0x08c0 */ 2, 2, 0, 0,161, 0, 0, 0, 2, 3, 0, 0, 70, 1, 0, 0, /* 0x08c0 */ 5, 0, 0, 0, 2, 2, 0, 0,165, 0, 0, 0, 2, 3, 0, 0,
/* 0x08d0 */ 2, 6, 0, 0, 3, 2, 0, 0, 2, 10, 0, 0, 10, 2, 0, 0, /* 0x08d0 */ 74, 1, 0, 0, 2, 6, 0, 0, 7, 2, 0, 0, 2, 10, 0, 0,
/* 0x08e0 */ 2, 12, 0, 0, 56, 2, 0, 0, 2, 13, 0, 0, 39, 3, 0, 0, /* 0x08e0 */ 14, 2, 0, 0, 2, 12, 0, 0, 60, 2, 0, 0, 2, 13, 0, 0,
/* 0x08f0 */ 2, 5, 0, 0,110, 4, 0, 0, 2, 11, 0, 0,141, 4, 0, 0, /* 0x08f0 */ 43, 3, 0, 0, 2, 5, 0, 0,114, 4, 0, 0, 2, 11, 0, 0,
/* 0x0900 */ 2, 7, 0, 0,188, 4, 0, 0, 2, 8, 0, 0, 67, 5, 0, 0, /* 0x0900 */ 145, 4, 0, 0, 2, 7, 0, 0,192, 4, 0, 0, 2, 8, 0, 0,
/* 0x0910 */ 2, 10, 0, 0,161, 5, 0, 0, 2, 6, 0, 0, 2, 0, 0, 0, /* 0x0910 */ 71, 5, 0, 0, 2, 10, 0, 0,165, 5, 0, 0, 2, 6, 0, 0,
/* 0x0920 */ 2, 1, 0, 0, 6, 0, 0, 0, 1, 4, 0, 0,102,105,108,101, /* 0x0920 */ 2, 0, 0, 0, 2, 1, 0, 0, 6, 0, 0, 0, 1, 4, 0, 0,
/* 0x0930 */ 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45,105, 51, /* 0x0930 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51,
/* 0x0940 */ 56, 54, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100, /* 0x0940 */ 50, 45,105, 51, 56, 54, 10, 10, 83,101, 99,116,105,111,110,115,
/* 0x0950 */ 120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x0950 */ 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32,
/* 0x0960 */ 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, /* 0x0960 */ 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77,
/* 0x0970 */ 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105, /* 0x0970 */ 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32,
/* 0x0980 */ 108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, /* 0x0980 */ 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110,
/* 0x0990 */ 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, /* 0x0990 */ 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77,
/* 0x09a0 */ 32, 32, 32, 32, 32, 32, 48, 53, 99,100, 32, 32, 48, 32, 32, 48, /* 0x09a0 */ 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 53,100, 49, 32, 32,
/* 0x09b0 */ 32, 32, 48, 51, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78, /* 0x09b0 */ 48, 32, 32, 48, 32, 32, 48, 51, 52, 32, 32, 50, 42, 42, 50, 32,
/* 0x09c0 */ 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73, /* 0x09c0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76,
/* 0x09d0 */ 78, 90, 32, 32, 32, 32, 32, 32, 48, 97, 32, 32, 48, 32, 32, 48, /* 0x09d0 */ 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 97, 32, 32,
/* 0x09e0 */ 32, 32, 48, 54, 48, 49, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, /* 0x09e0 */ 48, 32, 32, 48, 32, 32, 48, 54, 48, 53, 32, 32, 50, 42, 42, 48,
/* 0x09f0 */ 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, /* 0x09f0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79,
/* 0x0a00 */ 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, /* 0x0a00 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x0a10 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, /* 0x0a10 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x0a20 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, /* 0x0a20 */ 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48,
/* 0x0a30 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, /* 0x0a30 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69,
/* 0x0a40 */ 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, /* 0x0a40 */ 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, 73,
/* 0x0a50 */ 48, 48, 48, 48, 51,102, 51, 32,103, 32, 32, 32, 32, 32, 70, 32, /* 0x0a50 */ 78, 90, 10, 48, 48, 48, 48, 48, 51,102, 55, 32,103, 32, 32, 32,
/* 0x0a60 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 49,100, 97, 32,117,112, /* 0x0a60 */ 32, 32, 70, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 49,100,
/* 0x0a70 */ 120, 95,109,109, 97,112, 95, 97,110,100, 95,102,100, 10, 48, 48, /* 0x0a70 */ 97, 32,117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102,
/* 0x0a80 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, /* 0x0a80 */ 100, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
/* 0x0a90 */ 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 48, /* 0x0a90 */ 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73, 78,
/* 0x0aa0 */ 48, 48, 48, 48, 49, 99, 56, 32,103, 32, 32, 32, 32, 32, 32, 32, /* 0x0aa0 */ 70, 79, 10, 48, 48, 48, 48, 48, 49, 99, 99, 32,103, 32, 32, 32,
/* 0x0ab0 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,109,101,109,112, 99, /* 0x0ab0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,109,
/* 0x0ac0 */ 112,121, 10, 48, 48, 48, 48, 48, 49, 54,101, 32,103, 32, 32, 32, /* 0x0ac0 */ 101,109,112, 99,112,121, 10, 48, 48, 48, 48, 48, 49, 55, 50, 32,
/* 0x0ad0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,109, /* 0x0ad0 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0ae0 */ 109, 97,112, 10, 48, 48, 48, 48, 48, 49, 57, 49, 32,103, 32, 32, /* 0x0ae0 */ 32, 48, 32,109,109, 97,112, 10, 48, 48, 48, 48, 48, 49, 57, 53,
/* 0x0af0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, /* 0x0af0 */ 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x0b00 */ 117,110, 97,109,101, 10, 48, 48, 48, 48, 48, 49, 55, 99, 32,103, /* 0x0b00 */ 88, 32, 48, 32,117,110, 97,109,101, 10, 48, 48, 48, 48, 48, 49,
/* 0x0b10 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, /* 0x0b10 */ 56, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x0b20 */ 48, 32,103,101,116, 95,117,112,120,102,110, 95,112, 97,116,104, /* 0x0b20 */ 73, 78, 88, 32, 48, 32,103,101,116, 95,117,112,120,102,110, 95,
/* 0x0b30 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, /* 0x0b30 */ 112, 97,116,104, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
/* 0x0b40 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, /* 0x0b40 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48,
/* 0x0b50 */ 97,114,116, 10, 48, 48, 48, 48, 48, 49, 98, 54, 32,103, 32, 32, /* 0x0b50 */ 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 49, 98, 97,
/* 0x0b60 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, /* 0x0b60 */ 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x0b70 */ 109,101,109,115,101,116, 10, 48, 48, 48, 48, 48, 49,101, 56, 32, /* 0x0b70 */ 88, 32, 48, 32,109,101,109,115,101,116, 10, 48, 48, 48, 48, 48,
/* 0x0b80 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, /* 0x0b80 */ 49,101, 99, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x0b90 */ 32, 48, 32,109,121, 95, 98,107,112,116, 10, 48, 48, 48, 48, 48, /* 0x0b90 */ 65, 73, 78, 88, 32, 48, 32,109,121, 95, 98,107,112,116, 10, 48,
/* 0x0ba0 */ 49, 55,102, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, /* 0x0ba0 */ 48, 48, 48, 48, 49, 56, 51, 32,103, 32, 32, 32, 32, 32, 32, 32,
/* 0x0bb0 */ 65, 73, 78, 88, 32, 48, 32,115,116, 97,116, 10, 48, 48, 48, 48, /* 0x0bb0 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,115,116, 97,116, 10,
/* 0x0bc0 */ 48, 49, 97, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, /* 0x0bc0 */ 48, 48, 48, 48, 48, 49, 97, 52, 32,103, 32, 32, 32, 32, 32, 32,
/* 0x0bd0 */ 77, 65, 73, 78, 88, 32, 48, 32,109,107,100,105,114, 10, 10, 82, /* 0x0bd0 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,109,107,100,105,
/* 0x0be0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, /* 0x0be0 */ 114, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
/* 0x0bf0 */ 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, /* 0x0bf0 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65,
/* 0x0c00 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, /* 0x0c00 */ 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84,
/* 0x0c10 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, /* 0x0c10 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0c20 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 51, 56, /* 0x0c20 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 53, 32,
/* 0x0c30 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, /* 0x0c30 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32,
/* 0x0c40 */ 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 97, 49, 32, /* 0x0c40 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48,
/* 0x0c50 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, /* 0x0c50 */ 48, 97, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32,
/* 0x0c60 */ 32, 32,117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102, /* 0x0c60 */ 32, 32, 32, 32, 32, 32,117,112,120, 95,109,109, 97,112, 95, 97,
/* 0x0c70 */ 100, 10, 48, 48, 48, 48, 48, 49, 52, 54, 32, 82, 95, 51, 56, 54, /* 0x0c70 */ 110,100, 95,102,100, 10, 48, 48, 48, 48, 48, 49, 52, 97, 32, 82,
/* 0x0c80 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,109, 97, /* 0x0c80 */ 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32,
/* 0x0c90 */ 112, 10, 48, 48, 48, 48, 48, 50, 48, 51, 32, 82, 95, 51, 56, 54, /* 0x0c90 */ 32,109,109, 97,112, 10, 48, 48, 48, 48, 48, 50, 48, 55, 32, 82,
/* 0x0ca0 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109, /* 0x0ca0 */ 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32,
/* 0x0cb0 */ 115,101,116, 10, 48, 48, 48, 48, 48, 50, 48, 97, 32, 82, 95, 51, /* 0x0cb0 */ 32,109,101,109,115,101,116, 10, 48, 48, 48, 48, 48, 50, 48,101,
/* 0x0cc0 */ 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,115, /* 0x0cc0 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32,
/* 0x0cd0 */ 116, 97,116, 10, 48, 48, 48, 48, 48, 50, 51, 56, 32, 82, 95, 51, /* 0x0cd0 */ 32, 32, 32,115,116, 97,116, 10, 48, 48, 48, 48, 48, 50, 51, 99,
/* 0x0ce0 */ 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109, /* 0x0ce0 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32,
/* 0x0cf0 */ 107,100,105,114, 10, 48, 48, 48, 48, 48, 51, 50, 55, 32, 82, 95, /* 0x0cf0 */ 32, 32, 32,109,107,100,105,114, 10, 48, 48, 48, 48, 48, 51, 50,
/* 0x0d00 */ 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x0d00 */ 98, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32,
/* 0x0d10 */ 109,101,109,112, 99,112,121, 10, 48, 48, 48, 48, 48, 52, 54,101, /* 0x0d10 */ 32, 32, 32, 32,109,101,109,112, 99,112,121, 10, 48, 48, 48, 48,
/* 0x0d20 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, /* 0x0d20 */ 48, 52, 55, 50, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32,
/* 0x0d30 */ 32, 32, 32,109,121, 95, 98,107,112,116, 10, 48, 48, 48, 48, 48, /* 0x0d30 */ 32, 32, 32, 32, 32, 32, 32,109,121, 95, 98,107,112,116, 10, 48,
/* 0x0d40 */ 52, 56,100, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, /* 0x0d40 */ 48, 48, 48, 48, 52, 57, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67,
/* 0x0d50 */ 32, 32, 32, 32, 32, 32,117,110, 97,109,101, 10, 48, 48, 48, 48, /* 0x0d50 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,117,110, 97,109,101, 10,
/* 0x0d60 */ 48, 52, 98, 99, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, /* 0x0d60 */ 48, 48, 48, 48, 48, 52, 99, 48, 32, 82, 95, 51, 56, 54, 95, 80,
/* 0x0d70 */ 32, 32, 32, 32, 32, 32, 32,103,101,116, 95,117,112,120,102,110, /* 0x0d70 */ 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,103,101,116, 95,117,
/* 0x0d80 */ 95,112, 97,116,104, 10, 48, 48, 48, 48, 48, 53, 52, 51, 32, 82, /* 0x0d80 */ 112,120,102,110, 95,112, 97,116,104, 10, 48, 48, 48, 48, 48, 53,
/* 0x0d90 */ 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, /* 0x0d90 */ 52, 55, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32,
/* 0x0da0 */ 32,109,101,109,115,101,116, 10, 48, 48, 48, 48, 48, 53, 97, 49, /* 0x0da0 */ 32, 32, 32, 32, 32,109,101,109,115,101,116, 10, 48, 48, 48, 48,
/* 0x0db0 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, /* 0x0db0 */ 48, 53, 97, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32,
/* 0x0dc0 */ 32, 32, 32,109,109, 97,112, 10, 10, 82, 69, 76, 79, 67, 65, 84, /* 0x0dc0 */ 32, 32, 32, 32, 32, 32, 32,109,109, 97,112, 10, 10, 82, 69, 76,
/* 0x0dd0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, /* 0x0dd0 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32,
/* 0x0de0 */ 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, /* 0x0de0 */ 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10,
/* 0x0df0 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, /* 0x0df0 */ 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32,
/* 0x0e00 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, /* 0x0e00 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69,
/* 0x0e10 */ 48, 48, 48, 48, 50, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, /* 0x0e10 */ 10, 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 51, 56, 54, 95,
/* 0x0e20 */ 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, /* 0x0e20 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x0e30 */ 10, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, 95, 51, 56, 54, 95, /* 0x0e30 */ 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 54, 32, 82, 95,
/* 0x0e40 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, /* 0x0e40 */ 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0e50 */ 78, 70, 79, 10 /* 0x0e50 */ 79, 95, 66, 73, 78, 70, 79, 10
}; };

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -111,7 +111,7 @@ ra_setup:
#define GETBITp \ #define GETBITp \
addl bits,bits; jnz 0f; \ addl bits,bits; jnz 0f; \
movl (%rsi),bits; subq $-4,%rsi; \ movl (%rsi),bits; subq $-4,%rsi; \
adcl bits,bits; movb (%rsi),%dl; \ adcl bits,bits; movzbl (%rsi),%edx; \
0: 0:
/* Same, but without prefetch (not useful for length of match.) */ /* Same, but without prefetch (not useful for length of match.) */
#define jnextb0n jnextb0y #define jnextb0n jnextb0y
@ -135,21 +135,21 @@ getbit:
refill: refill:
movl (%rsi),bits; subq $-4,%rsi // next 32 bits; set Carry movl (%rsi),bits; subq $-4,%rsi // next 32 bits; set Carry
adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit
movb (%rsi),%dl // speculate: literal, or bottom 8 bits of offset movzbl (%rsi),%edx // speculate: literal, or bottom 8 bits of offset
rep; ret rep; ret
copy: // In: len, %rdi, dispq; Out: 0==len, %rdi, dispq; trashes %rax, %rdx copy: // In: len, %rdi, dispq; Out: 0==len, %rdi, dispq; trashes %rax, %rdx
leaq (%rdi,dispq),%rax; cmpl $5,len // <=3 is forced leaq (%rdi,dispq),%rax; cmpl $5,len // <=3 is forced
movb (%rax),%dl; jbe copy1 // <=5 for better branch predict movzbl (%rax),%edx; jbe copy1 // <=5 for better branch predict
cmpq $-4,dispq; ja copy1 // 4-byte chunks would overlap cmpq $-4,dispq; ja copy1 // 4-byte chunks would overlap
subl $4,len // adjust for termination cases subl $4,len // adjust for termination cases
copy4: copy4:
movl (%rax),%edx; addq $4, %rax; subl $4,len movl (%rax),%edx; addq $4, %rax; subl $4,len
movl %edx,(%rdi); leaq 4(%rdi),%rdi; jnc copy4 movl %edx,(%rdi); leaq 4(%rdi),%rdi; jnc copy4
addl $4,len; movb (%rax),%dl; jz copy0 addl $4,len; movzbl (%rax),%edx; jz copy0
copy1: copy1:
incq %rax; movb %dl,(%rdi); subl $1,len incq %rax; movb %dl,(%rdi); subl $1,len
movb (%rax),%dl movzbl (%rax),%edx
leaq 1(%rdi),%rdi; jnz copy1 leaq 1(%rdi),%rdi; jnz copy1
copy0: copy0:
rep; ret rep; ret

View File

@ -157,7 +157,7 @@ ra_setup:
#define GETBITp \ #define GETBITp \
addl bits,bits; jnz 0f; \ addl bits,bits; jnz 0f; \
movl (%rsi),bits; subq $-4,%rsi; \ movl (%rsi),bits; subq $-4,%rsi; \
adcl bits,bits; movb (%rsi),%dl; \ adcl bits,bits; movzbl (%rsi),%edx; \
0: 0:
/* Same, but without prefetch (not useful for length of match.) */ /* Same, but without prefetch (not useful for length of match.) */
#define jnextb0n jnextb0y #define jnextb0n jnextb0y
@ -181,21 +181,21 @@ getbit:
refill: refill:
movl (%rsi),bits; subq $-4,%rsi // next 32 bits; set Carry movl (%rsi),bits; subq $-4,%rsi // next 32 bits; set Carry
adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit
movb (%rsi),%dl // speculate: literal, or bottom 8 bits of offset movzbl (%rsi),%edx // speculate: literal, or bottom 8 bits of offset
rep; ret rep; ret
copy: // In: len, %rdi, dispq; Out: 0==len, %rdi, dispq; trashes %rax, %rdx copy: // In: len, %rdi, dispq; Out: 0==len, %rdi, dispq; trashes %rax, %rdx
leaq (%rdi,dispq),%rax; cmpl $5,len // <=3 is forced leaq (%rdi,dispq),%rax; cmpl $5,len // <=3 is forced
movb (%rax),%dl; jbe copy1 // <=5 for better branch predict movzbl (%rax),%edx; jbe copy1 // <=5 for better branch predict
cmpq $-4,dispq; ja copy1 // 4-byte chunks would overlap cmpq $-4,dispq; ja copy1 // 4-byte chunks would overlap
subl $4,len // adjust for termination cases subl $4,len // adjust for termination cases
copy4: copy4:
movl (%rax),%edx; addq $4, %rax; subl $4,len movl (%rax),%edx; addq $4, %rax; subl $4,len
movl %edx,(%rdi); leaq 4(%rdi),%rdi; jnc copy4 movl %edx,(%rdi); leaq 4(%rdi),%rdi; jnc copy4
addl $4,len; movb (%rax),%dl; jz copy0 addl $4,len; movzbl (%rax),%edx; jz copy0
copy1: copy1:
addq $1,%rax; movb %dl,(%rdi); subl $1,len addq $1,%rax; movb %dl,(%rdi); subl $1,len
movb (%rax),%dl movzbl (%rax),%edx
leaq 1(%rdi),%rdi; jnz copy1 leaq 1(%rdi),%rdi; jnz copy1
copy0: copy0:
rep; ret rep; ret

View File

@ -31,13 +31,9 @@
; ;
*/ */
#include "arch/amd64/regs.h"
NBPW= 8 NBPW= 8
#include "arch/amd64/regs.h"
.macro section name #include "arch/amd64/macros.S"
.section \name,"ax"
.code64
.endm
/* AMD64 branch prediction is much worse if there are more than 3 branches /* AMD64 branch prediction is much worse if there are more than 3 branches
per 16-byte block. The jnextb would suffer unless inlined. getnextb is OK per 16-byte block. The jnextb would suffer unless inlined. getnextb is OK
@ -55,7 +51,7 @@ NBPW= 8
#define GETBITp \ #define GETBITp \
addl bits,bits; jnz 0f; \ addl bits,bits; jnz 0f; \
movl (%rsi),bits; sub $-4,%rsi; \ movl (%rsi),bits; sub $-4,%rsi; \
adcl bits,bits; movb (%rsi),%dl; \ adcl bits,bits; movzbl (%rsi),%edx; \
0: 0:
/* Same, but without prefetch (not useful for length of match.) */ /* Same, but without prefetch (not useful for length of match.) */
#define jnextb0n jnextb0y #define jnextb0n jnextb0y
@ -144,24 +140,25 @@ decompress: // (fx_src= &b_info, fx_dst= dst, fx_dstlen= &dstlen)
refill: refill:
movl (%rsi),bits; sub $-4,%rsi // next 32 bits; set Carry movl (%rsi),bits; sub $-4,%rsi // next 32 bits; set Carry
adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit
movb (%rsi),%dl // speculate: literal, or bottom 8 bits of offset movzbl (%rsi),%edx // speculate: literal, or bottom 8 bits of offset
rep; ret rep; ret
getbit: getbit:
endbr64 // from "call *%rdx"
addl bits,bits; jz refill // Carry= next bit addl bits,bits; jz refill // Carry= next bit
rep; ret rep; ret
copy: // In: len, %rdi, dispq; Out: 0==len, %rdi, dispq; trashes %rax, %rdx copy: // In: len, %rdi, dispq; Out: 0==len, %rdi, dispq; trashes %rax, %rdx
lea (%rdi,dispq),%rax; cmpl $5,len // <=3 is forced lea (%rdi,dispq),%rax; cmpl $5,len // <=3 is forced
movb (%rax),%dl; jbe copy1 // <=5 for better branch predict movzbl (%rax),%edx; jbe copy1 // <=5 for better branch predict
cmpl $-4,displ; ja copy1 // 4-byte chunks would overlap cmpl $-4,displ; ja copy1 // 4-byte chunks would overlap
subl $4,len // adjust for termination cases subl $4,len // adjust for termination cases
copy4: copy4:
movl (%rax),%edx; add $4, %rax; subl $4,len movl (%rax),%edx; add $4, %rax; subl $4,len
movl %edx,(%rdi); lea 4(%rdi),%rdi; jnc copy4 movl %edx,(%rdi); lea 4(%rdi),%rdi; jnc copy4
addl $4,len; movb (%rax),%dl; jz copy0 addl $4,len; movzbl (%rax),%edx; jz copy0
copy1: copy1:
inc %rax; movb %dl,(%rdi); dec len inc %rax; movb %dl,(%rdi); dec len
movb (%rax),%dl movzbl (%rax),%edx
lea 1(%rdi),%rdi; jnz copy1 lea 1(%rdi),%rdi; jnz copy1
copy0: copy0:
rep; ret rep; ret

View File

@ -137,7 +137,7 @@ ra_setup:
#define GETBITp \ #define GETBITp \
addl bits,bits; jnz 0f; \ addl bits,bits; jnz 0f; \
movl (%rsi),bits; subq $-4,%rsi; \ movl (%rsi),bits; subq $-4,%rsi; \
adcl bits,bits; movb (%rsi),%dl; \ adcl bits,bits; movzbl (%rsi),%edx; \
0: 0:
/* Same, but without prefetch (not useful for length of match.) */ /* Same, but without prefetch (not useful for length of match.) */
#define jnextb0n jnextb0y #define jnextb0n jnextb0y
@ -161,21 +161,21 @@ getbit:
refill: refill:
movl (%rsi),bits; subq $-4,%rsi // next 32 bits; set Carry movl (%rsi),bits; subq $-4,%rsi // next 32 bits; set Carry
adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit
movb (%rsi),%dl // speculate: literal, or bottom 8 bits of offset movzbl (%rsi),%edx // speculate: literal, or bottom 8 bits of offset
rep; ret rep; ret
copy: // In: len, %rdi, dispq; Out: 0==len, %rdi, dispq; trashes %rax, %rdx copy: // In: len, %rdi, dispq; Out: 0==len, %rdi, dispq; trashes %rax, %rdx
leaq (%rdi,dispq),%rax; cmpl $5,len // <=3 is forced leaq (%rdi,dispq),%rax; cmpl $5,len // <=3 is forced
movb (%rax),%dl; jbe copy1 // <=5 for better branch predict movzbl (%rax),%edx; jbe copy1 // <=5 for better branch predict
cmpq $-4,dispq; ja copy1 // 4-byte chunks would overlap cmpq $-4,dispq; ja copy1 // 4-byte chunks would overlap
subl $4,len // adjust for termination cases subl $4,len // adjust for termination cases
copy4: copy4:
movl (%rax),%edx; addq $4, %rax; subl $4,len movl (%rax),%edx; addq $4, %rax; subl $4,len
movl %edx,(%rdi); leaq 4(%rdi),%rdi; jnc copy4 movl %edx,(%rdi); leaq 4(%rdi),%rdi; jnc copy4
addl $4,len; movb (%rax),%dl; jz copy0 addl $4,len; movzbl (%rax),%edx; jz copy0
copy1: copy1:
incq %rax; movb %dl,(%rdi); subl $1,len incq %rax; movb %dl,(%rdi); subl $1,len
movb (%rax),%dl movzbl (%rax),%edx
leaq 1(%rdi),%rdi; jnz copy1 leaq 1(%rdi),%rdi; jnz copy1
copy0: copy0:
rep; ret rep; ret

View File

@ -45,7 +45,7 @@ lit_n2b:
incq %rsi; movb %dl,(%rdi) incq %rsi; movb %dl,(%rdi)
incq %rdi incq %rdi
top_n2b: top_n2b:
movb (%rsi),%dl # prefetch: literal, or bottom 8 bits of offset movzbl (%rsi),%edx # prefetch: literal, or bottom 8 bits of offset
jnextb1yp lit_n2b jnextb1yp lit_n2b
lea 1(lenq),off # [len= 0] off= 1 lea 1(lenq),off # [len= 0] off= 1
offmore_n2b: offmore_n2b:
@ -53,8 +53,8 @@ offmore_n2b:
jnextb0np offmore_n2b jnextb0np offmore_n2b
subl $ 3,off; jc len_n2b # use previous offset subl $ 3,off; jc len_n2b # use previous offset
shll $ 8,off; movzbl %dl,%edx shll $ 8,off; incq %rsi
orl %edx,off; incq %rsi orl %edx,off
xorl $~0,off; jz EOF xorl $~0,off; jz EOF
movslq off,dispq # XXX: 2GB movslq off,dispq # XXX: 2GB
len_n2b: len_n2b:

View File

@ -45,7 +45,7 @@ lit_n2d:
incq %rsi; movb %dl,(%rdi) incq %rsi; movb %dl,(%rdi)
incq %rdi incq %rdi
top_n2d: top_n2d:
movb (%rsi),%dl // speculate: literal, or bottom 8 bits of offset movzbl (%rsi),%edx // speculate: literal, or bottom 8 bits of offset
jnextb1yp lit_n2d jnextb1yp lit_n2d
lea 1(lenq),off // [len= 0] off= 1 lea 1(lenq),off // [len= 0] off= 1
jmp getoff_n2d jmp getoff_n2d
@ -58,8 +58,8 @@ getoff_n2d:
jnextb0np off_n2d jnextb0np off_n2d
subl $ 3,off; jc offprev_n2d subl $ 3,off; jc offprev_n2d
shll $ 8,off; movzbl %dl,%edx shll $ 8,off; incq %rsi
orl %edx,off; incq %rsi orl %edx,off
xorl $~0,off; jz EOF xorl $~0,off; jz EOF
sarl off // Carry= original low bit sarl off // Carry= original low bit
movslq off,dispq // XXX: 2GB movslq off,dispq // XXX: 2GB

View File

@ -45,7 +45,7 @@ lit_n2e:
incq %rsi; movb %dl,(%rdi) incq %rsi; movb %dl,(%rdi)
incq %rdi incq %rdi
top_n2e: top_n2e:
movb (%rsi),%dl # speculate: literal, or bottom 8 bits of offset movzbl (%rsi),%edx # speculate: literal, or bottom 8 bits of offset
jnextb1yp lit_n2e jnextb1yp lit_n2e
lea 1(lenq),off # [len= 0] off= 1 lea 1(lenq),off # [len= 0] off= 1
jmp getoff_n2e jmp getoff_n2e
@ -58,8 +58,8 @@ getoff_n2e:
jnextb0np off_n2e jnextb0np off_n2e
subl $ 3,off; jc offprev_n2e subl $ 3,off; jc offprev_n2e
shll $ 8,off; movzbl %dl,%edx shll $ 8,off; incq %rsi
orl %edx,off; incq %rsi orl %edx,off
xorl $~0,off; jz EOF xorl $~0,off; jz EOF
sarl off # Carry= original low bit sarl off # Carry= original low bit
movslq off,dispq # XXX: 2GB movslq off,dispq # XXX: 2GB

View File

@ -46,8 +46,8 @@ offmore_n2b:
jnextb0np offmore_n2b jnextb0np offmore_n2b
subl $ 3,off; jc len_n2b # use previous offset subl $ 3,off; jc len_n2b # use previous offset
shll $ 8,off shll $ 8,off; incl %esi
orl %edx,off; incl %esi orl %edx,off
xorl $~0,off; jz eof xorl $~0,off; jz eof
movl off,disp movl off,disp
len_n2b: len_n2b:

View File

@ -201,7 +201,7 @@ M_NRV2E_LE32=8
#define GETBITp \ #define GETBITp \
addl bits,bits; jnz 0f; \ addl bits,bits; jnz 0f; \
movl (%esi),bits; subl $-4,%esi; \ movl (%esi),bits; subl $-4,%esi; \
adcl bits,bits; movb (%esi),%dl; \ adcl bits,bits; movzbl (%esi),%edx; \
0: 0:
/* Same, but without prefetch (not useful for length of match.) */ /* Same, but without prefetch (not useful for length of match.) */
#define jnextb0n jnextb0y #define jnextb0n jnextb0y
@ -225,21 +225,21 @@ getbit:
refill: refill:
movl (%esi),bits; subl $-4,%esi // next 32 bits; set Carry movl (%esi),bits; subl $-4,%esi // next 32 bits; set Carry
adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit adcl bits,bits // LSB= 1 (CarryIn); CarryOut= next bit
movb (%esi),%dl // speculate: literal, or bottom 8 bits of offset movzbl (%esi),%edx // speculate: literal, or bottom 8 bits of offset
rep; ret rep; ret
copy: // In: len, %edi, disp; Out: 0==len, %edi, disp; trashes %eax, %edx copy: // In: len, %edi, disp; Out: 0==len, %edi, disp; trashes %eax, %edx
leal (%edi,disp),%eax; cmpl $5,len // <=3 is forced leal (%edi,disp),%eax; cmpl $5,len // <=3 is forced
movb (%eax),%dl; jbe copy1 // <=5 for better branch predict movzbl (%eax),%edx; jbe copy1 // <=5 for better branch predict
cmpl $-4,disp; ja copy1 // 4-byte chunks would overlap cmpl $-4,disp; ja copy1 // 4-byte chunks would overlap
subl $4,len // adjust for termination cases subl $4,len // adjust for termination cases
copy4: copy4:
movl (%eax),%edx; addl $4, %eax; subl $4,len movl (%eax),%edx; addl $4, %eax; subl $4,len
movl %edx,(%edi); leal 4(%edi),%edi; jnc copy4 movl %edx,(%edi); leal 4(%edi),%edi; jnc copy4
addl $4,len; movb (%eax),%dl; jz copy0 addl $4,len; movzbl (%eax),%edx; jz copy0
copy1: copy1:
incl %eax; movb %dl,(%edi); decl len incl %eax; movb %dl,(%edi); decl len
movb (%eax),%dl movzbl (%eax),%edx
leal 1(%edi),%edi; jnz copy1 leal 1(%edi),%edi; jnz copy1
copy0: copy0:
rep; ret rep; ret

View File

@ -3,17 +3,17 @@ file format elf64-x86-64
Sections: Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 MACHMAINX 020 0 0 040 2**0 CONTENTS 0 MACHMAINX 020 0 0 040 2**0 CONTENTS
1 NRV_HEAD 066 0 0 060 2**0 CONTENTS 1 NRV_HEAD 06a 0 0 060 2**0 CONTENTS
2 NRV2E 0ba 0 0 0c6 2**0 CONTENTS 2 NRV2E 0ba 0 0 0ca 2**0 CONTENTS
3 NRV2D 0a1 0 0 0180 2**0 CONTENTS 3 NRV2D 0a1 0 0 0184 2**0 CONTENTS
4 NRV2B 093 0 0 0221 2**0 CONTENTS 4 NRV2B 093 0 0 0225 2**0 CONTENTS
5 LZMA_ELF00 065 0 0 02b4 2**0 CONTENTS 5 LZMA_ELF00 065 0 0 02b8 2**0 CONTENTS
6 LZMA_DEC10 09f7 0 0 0319 2**0 CONTENTS 6 LZMA_DEC10 09f7 0 0 031d 2**0 CONTENTS
7 LZMA_DEC20 09f7 0 0 0d10 2**0 CONTENTS 7 LZMA_DEC20 09f7 0 0 0d14 2**0 CONTENTS
8 LZMA_DEC30 01b 0 0 01707 2**0 CONTENTS 8 LZMA_DEC30 01b 0 0 0170b 2**0 CONTENTS
9 NRV_TAIL 0 0 0 01722 2**0 CONTENTS 9 NRV_TAIL 0 0 0 01726 2**0 CONTENTS
10 MACHMAINY 011 0 0 01722 2**0 CONTENTS 10 MACHMAINY 011 0 0 01726 2**0 CONTENTS
11 MACHMAINZ 0148 0 0 01733 2**0 CONTENTS 11 MACHMAINZ 0148 0 0 01737 2**0 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
0000000000000000 l d NRV_HEAD 0 NRV_HEAD 0000000000000000 l d NRV_HEAD 0 NRV_HEAD
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30 0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
@ -40,17 +40,17 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2E]: RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000021 00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000022
000000000000005c R_X86_64_PC32 eof_n2e+0xfffffffffffffffc 000000000000005c R_X86_64_PC32 eof_n2e+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2D]: RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000021 0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000022
000000000000005c R_X86_64_PC32 eof_n2d+0xfffffffffffffffc 000000000000005c R_X86_64_PC32 eof_n2d+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2B]: RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000021 000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000022
0000000000000053 R_X86_64_PC32 eof_n2b+0xfffffffffffffffc 0000000000000053 R_X86_64_PC32 eof_n2b+0xfffffffffffffffc
RELOCATION RECORDS FOR [LZMA_ELF00]: RELOCATION RECORDS FOR [LZMA_ELF00]:

View File

@ -5,17 +5,17 @@ Idx Name Size VMA LMA File off Algn
0 AMD64BXX 04c 0 0 040 2**0 CONTENTS 0 AMD64BXX 04c 0 0 040 2**0 CONTENTS
1 MACHMAINX 06 0 0 08c 2**0 CONTENTS 1 MACHMAINX 06 0 0 08c 2**0 CONTENTS
2 MACH_UNC 0b 0 0 092 2**0 CONTENTS 2 MACH_UNC 0b 0 0 092 2**0 CONTENTS
3 NRV_HEAD 067 0 0 09d 2**0 CONTENTS 3 NRV_HEAD 06b 0 0 09d 2**0 CONTENTS
4 NRV2E 0ba 0 0 0104 2**0 CONTENTS 4 NRV2E 0ba 0 0 0108 2**0 CONTENTS
5 NRV2D 0a1 0 0 01be 2**0 CONTENTS 5 NRV2D 0a1 0 0 01c2 2**0 CONTENTS
6 NRV2B 093 0 0 025f 2**0 CONTENTS 6 NRV2B 093 0 0 0263 2**0 CONTENTS
7 LZMA_ELF00 065 0 0 02f2 2**0 CONTENTS 7 LZMA_ELF00 065 0 0 02f6 2**0 CONTENTS
8 LZMA_DEC10 09f7 0 0 0357 2**0 CONTENTS 8 LZMA_DEC10 09f7 0 0 035b 2**0 CONTENTS
9 LZMA_DEC20 09f7 0 0 0d4e 2**0 CONTENTS 9 LZMA_DEC20 09f7 0 0 0d52 2**0 CONTENTS
10 LZMA_DEC30 01b 0 0 01745 2**0 CONTENTS 10 LZMA_DEC30 01b 0 0 01749 2**0 CONTENTS
11 NRV_TAIL 0 0 0 01760 2**0 CONTENTS 11 NRV_TAIL 0 0 0 01764 2**0 CONTENTS
12 MACHMAINY 020 0 0 01760 2**0 CONTENTS 12 MACHMAINY 020 0 0 01764 2**0 CONTENTS
13 MACHMAINZ 0135 0 0 01780 2**0 CONTENTS 13 MACHMAINZ 0135 0 0 01784 2**0 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
0000000000000000 l d NRV_HEAD 0 NRV_HEAD 0000000000000000 l d NRV_HEAD 0 NRV_HEAD
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30 0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
@ -40,17 +40,17 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2E]: RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000021 00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000022
000000000000005c R_X86_64_PC32 MACHMAINY+0x0000000000000003 000000000000005c R_X86_64_PC32 MACHMAINY+0x0000000000000003
RELOCATION RECORDS FOR [NRV2D]: RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000021 0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000022
000000000000005c R_X86_64_PC32 MACHMAINY+0x0000000000000003 000000000000005c R_X86_64_PC32 MACHMAINY+0x0000000000000003
RELOCATION RECORDS FOR [NRV2B]: RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000021 000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000022
0000000000000053 R_X86_64_PC32 MACHMAINY+0x0000000000000003 0000000000000053 R_X86_64_PC32 MACHMAINY+0x0000000000000003
RELOCATION RECORDS FOR [LZMA_ELF00]: RELOCATION RECORDS FOR [LZMA_ELF00]:

View File

@ -2,8 +2,8 @@ file format elf64-x86-64
Sections: Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 01a6 0 0 040 2**0 CONTENTS 0 ELFMAINX 01ae 0 0 040 2**0 CONTENTS
1 ELFMAINZ 04 0 0 01e8 2**2 CONTENTS 1 ELFMAINZ 04 0 0 01f0 2**2 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
0000000000000000 l d ELFMAINZ 0 ELFMAINZ 0000000000000000 l d ELFMAINZ 0 ELFMAINZ
0000000000000000 l d ELFMAINX 0 ELFMAINX 0000000000000000 l d ELFMAINX 0 ELFMAINX
@ -12,7 +12,7 @@ SYMBOL TABLE:
RELOCATION RECORDS FOR [ELFMAINX]: RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
0000000000000087 R_X86_64_PC32 ELFMAINZ+0xfffffffffffffffc 000000000000008b R_X86_64_PC32 ELFMAINZ+0xfffffffffffffffc
RELOCATION RECORDS FOR [ELFMAINZ]: RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE OFFSET TYPE VALUE

View File

@ -8,32 +8,13 @@ Linker script and memory map
0x000000000010004c . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x000000000010004c . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000000000 0x8f7 .text 0x0000000000000000 0x91b
.text 0x0000000000000000 0x160 tmp/amd64-linux.elf-fold.o .text 0x0000000000000000 0x164 tmp/amd64-linux.elf-fold.o
0x0000000000000158 get_page_mask 0x000000000000015c get_page_mask
.text 0x0000000000000160 0x0 tmp/amd64-expand.o .text 0x0000000000000164 0x0 tmp/amd64-expand.o
.text 0x0000000000000160 0x797 tmp/amd64-linux.elf-main2.o .text 0x0000000000000164 0x7b7 tmp/amd64-linux.elf-main2.o
0x00000000000002b5 underlay 0x00000000000002b9 underlay
0x00000000000007c2 upx_main 0x00000000000007e6 upx_main
EXP_HEAD 0x0000000000000000 0xe1
EXP_HEAD 0x0000000000000000 0xe1 tmp/amd64-expand.o
0x0000000000000000 f_expand
NRV2E 0x0000000000000000 0xe4
NRV2E 0x0000000000000000 0xe4 tmp/amd64-expand.o
NRV2D 0x0000000000000000 0xd6
NRV2D 0x0000000000000000 0xd6 tmp/amd64-expand.o
NRV2B 0x0000000000000000 0xc0
NRV2B 0x0000000000000000 0xc0 tmp/amd64-expand.o
LZMA_DAISY 0x0000000000000000 0xa
LZMA_DAISY 0x0000000000000000 0xa tmp/amd64-expand.o
LZMA_ELF00 0x0000000000000000 0x65
LZMA_ELF00 0x0000000000000000 0x65 tmp/amd64-expand.o
.data 0x0000000000000000 0x0 .data 0x0000000000000000 0x0
.data 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o .data 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
@ -68,6 +49,25 @@ SYSCALLS 0x0000000000000000 0xc0
0x00000000000000b4 mprotect 0x00000000000000b4 mprotect
0x00000000000000a8 close 0x00000000000000a8 close
EXP_HEAD 0x0000000000000000 0xe9
EXP_HEAD 0x0000000000000000 0xe9 tmp/amd64-expand.o
0x0000000000000000 f_expand
NRV2E 0x0000000000000000 0xe8
NRV2E 0x0000000000000000 0xe8 tmp/amd64-expand.o
NRV2D 0x0000000000000000 0xdb
NRV2D 0x0000000000000000 0xdb tmp/amd64-expand.o
NRV2B 0x0000000000000000 0xc4
NRV2B 0x0000000000000000 0xc4 tmp/amd64-expand.o
LZMA_DAISY 0x0000000000000000 0xa
LZMA_DAISY 0x0000000000000000 0xa tmp/amd64-expand.o
LZMA_ELF00 0x0000000000000000 0x65
LZMA_ELF00 0x0000000000000000 0x65 tmp/amd64-expand.o
LZMA_DEC10 0x0000000000000000 0x9f7 LZMA_DEC10 0x0000000000000000 0x9f7
LZMA_DEC10 0x0000000000000000 0x9f7 tmp/amd64-expand.o LZMA_DEC10 0x0000000000000000 0x9f7 tmp/amd64-expand.o

View File

@ -3,32 +3,32 @@ file format elf64-x86-64
Sections: Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 SO_MAIN 0787 0 0 040 2**4 CONTENTS 0 SO_MAIN 0787 0 0 040 2**4 CONTENTS
1 EXP_HEAD 0e1 0 0 07c7 2**0 CONTENTS 1 SO_HEAD 02c 0 0 07c7 2**0 CONTENTS
2 NRV2E 0e4 0 0 08a8 2**0 CONTENTS 2 ptr_NEXT 0 0 0 07f3 2**0 CONTENTS
3 NRV2D 0d6 0 0 098c 2**0 CONTENTS 3 SO_TAIL 098 0 0 07f3 2**0 CONTENTS
4 NRV2B 0c0 0 0 0a62 2**0 CONTENTS 4 EXP_HEAD 0e9 0 0 088b 2**0 CONTENTS
5 LZMA_DAISY 0a 0 0 0b22 2**0 CONTENTS 5 NRV2E 0e8 0 0 0974 2**0 CONTENTS
6 LZMA_ELF00 065 0 0 0b2c 2**0 CONTENTS 6 NRV2D 0db 0 0 0a5c 2**0 CONTENTS
7 SO_HEAD 02c 0 0 0b91 2**0 CONTENTS 7 NRV2B 0c4 0 0 0b37 2**0 CONTENTS
8 ptr_NEXT 0 0 0 0bbd 2**0 CONTENTS 8 LZMA_DAISY 0a 0 0 0bfb 2**0 CONTENTS
9 SO_TAIL 098 0 0 0bbd 2**0 CONTENTS 9 LZMA_ELF00 065 0 0 0c05 2**0 CONTENTS
10 LZMA_DEC10 09f7 0 0 0c55 2**0 CONTENTS 10 LZMA_DEC10 09f7 0 0 0c6a 2**0 CONTENTS
11 LZMA_DEC20 09f7 0 0 0164c 2**0 CONTENTS 11 LZMA_DEC20 09f7 0 0 01661 2**0 CONTENTS
12 LZMA_DEC30 019 0 0 02043 2**0 CONTENTS 12 LZMA_DEC30 019 0 0 02058 2**0 CONTENTS
13 EXP_TAIL 014 0 0 0205c 2**0 CONTENTS 13 EXP_TAIL 014 0 0 02071 2**0 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
0000000000000000 l d EXP_HEAD 0 EXP_HEAD 0000000000000000 l d EXP_HEAD 0 EXP_HEAD
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30 0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
0000000000000000 l d EXP_TAIL 0 EXP_TAIL 0000000000000000 l d EXP_TAIL 0 EXP_TAIL
0000000000000000 l d SO_MAIN 0 SO_MAIN 0000000000000000 l d SO_MAIN 0 SO_MAIN
0000000000000000 l d SO_HEAD 0 SO_HEAD
0000000000000000 l d ptr_NEXT 0 ptr_NEXT
0000000000000000 l d SO_TAIL 0 SO_TAIL
0000000000000000 l d NRV2E 0 NRV2E 0000000000000000 l d NRV2E 0 NRV2E
0000000000000000 l d NRV2D 0 NRV2D 0000000000000000 l d NRV2D 0 NRV2D
0000000000000000 l d NRV2B 0 NRV2B 0000000000000000 l d NRV2B 0 NRV2B
0000000000000000 l d LZMA_DAISY 0 LZMA_DAISY 0000000000000000 l d LZMA_DAISY 0 LZMA_DAISY
0000000000000000 l d LZMA_ELF00 0 LZMA_ELF00 0000000000000000 l d LZMA_ELF00 0 LZMA_ELF00
0000000000000000 l d SO_HEAD 0 SO_HEAD
0000000000000000 l d ptr_NEXT 0 ptr_NEXT
0000000000000000 l d SO_TAIL 0 SO_TAIL
0000000000000000 l d LZMA_DEC10 0 LZMA_DEC10 0000000000000000 l d LZMA_DEC10 0 LZMA_DEC10
0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20 0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20
0000000000000031 g SO_TAIL 0 Pmap 0000000000000031 g SO_TAIL 0 Pmap
@ -92,29 +92,29 @@ OFFSET TYPE VALUE
000000000000073d R_X86_64_PLT32 Pprotect+0xfffffffffffffffc 000000000000073d R_X86_64_PLT32 Pprotect+0xfffffffffffffffc
0000000000000758 R_X86_64_PLT32 Punmap+0xfffffffffffffffc 0000000000000758 R_X86_64_PLT32 Punmap+0xfffffffffffffffc
RELOCATION RECORDS FOR [SO_HEAD]:
OFFSET TYPE VALUE
0000000000000013 R_X86_64_PC32 upx_so_main+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2E]: RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000000000000db R_X86_64_PC32 EXP_HEAD+0x00000000000000a0 00000000000000df R_X86_64_PC32 EXP_HEAD+0x00000000000000a5
0000000000000072 R_X86_64_PC32 EXP_TAIL+0x0000000000000004 0000000000000074 R_X86_64_PC32 EXP_TAIL+0x0000000000000004
RELOCATION RECORDS FOR [NRV2D]: RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000000000000cd R_X86_64_PC32 EXP_HEAD+0x00000000000000a0 00000000000000d2 R_X86_64_PC32 EXP_HEAD+0x00000000000000a5
0000000000000072 R_X86_64_PC32 EXP_TAIL+0x0000000000000004 0000000000000074 R_X86_64_PC32 EXP_TAIL+0x0000000000000004
RELOCATION RECORDS FOR [NRV2B]: RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000000000000b7 R_X86_64_PC32 EXP_HEAD+0x00000000000000a0 00000000000000bb R_X86_64_PC32 EXP_HEAD+0x00000000000000a5
000000000000005e R_X86_64_PC32 EXP_TAIL+0x0000000000000004 000000000000005f R_X86_64_PC32 EXP_TAIL+0x0000000000000004
RELOCATION RECORDS FOR [LZMA_DAISY]: RELOCATION RECORDS FOR [LZMA_DAISY]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
0000000000000006 R_X86_64_PC32 LZMA_DEC30+0x0000000000000015 0000000000000006 R_X86_64_PC32 LZMA_DEC30+0x0000000000000015
RELOCATION RECORDS FOR [SO_HEAD]:
OFFSET TYPE VALUE
0000000000000013 R_X86_64_PC32 upx_so_main+0xfffffffffffffffc
RELOCATION RECORDS FOR [LZMA_DEC30]: RELOCATION RECORDS FOR [LZMA_DEC30]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
0000000000000015 R_X86_64_PC32 EXP_TAIL+0x0000000000000004 0000000000000015 R_X86_64_PC32 EXP_TAIL+0x0000000000000004

View File

@ -3,17 +3,17 @@ file format elf64-x86-64
Sections: Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 01c 0 0 040 2**0 CONTENTS 0 ELFMAINX 01c 0 0 040 2**0 CONTENTS
1 NRV_HEAD 066 0 0 05c 2**0 CONTENTS 1 NRV_HEAD 06a 0 0 05c 2**0 CONTENTS
2 NRV2E 0ba 0 0 0c2 2**0 CONTENTS 2 NRV2E 0ba 0 0 0c6 2**0 CONTENTS
3 NRV2D 0a1 0 0 017c 2**0 CONTENTS 3 NRV2D 0a1 0 0 0180 2**0 CONTENTS
4 NRV2B 093 0 0 021d 2**0 CONTENTS 4 NRV2B 093 0 0 0221 2**0 CONTENTS
5 LZMA_ELF00 065 0 0 02b0 2**0 CONTENTS 5 LZMA_ELF00 065 0 0 02b4 2**0 CONTENTS
6 LZMA_DEC10 09f7 0 0 0315 2**0 CONTENTS 6 LZMA_DEC10 09f7 0 0 0319 2**0 CONTENTS
7 LZMA_DEC20 09f7 0 0 0d0c 2**0 CONTENTS 7 LZMA_DEC20 09f7 0 0 0d10 2**0 CONTENTS
8 LZMA_DEC30 01b 0 0 01703 2**0 CONTENTS 8 LZMA_DEC30 01b 0 0 01707 2**0 CONTENTS
9 NRV_TAIL 0 0 0 0171e 2**0 CONTENTS 9 NRV_TAIL 0 0 0 01722 2**0 CONTENTS
10 ELFMAINY 03a 0 0 0171e 2**0 CONTENTS 10 ELFMAINY 03a 0 0 01722 2**0 CONTENTS
11 ELFMAINZ 01b5 0 0 01758 2**0 CONTENTS 11 ELFMAINZ 01b5 0 0 0175c 2**0 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
0000000000000000 l d NRV_HEAD 0 NRV_HEAD 0000000000000000 l d NRV_HEAD 0 NRV_HEAD
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30 0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
@ -39,17 +39,17 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2E]: RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000021 00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000022
000000000000005c R_X86_64_PC32 eof_n2e+0xfffffffffffffffc 000000000000005c R_X86_64_PC32 eof_n2e+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2D]: RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000021 0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000022
000000000000005c R_X86_64_PC32 eof_n2d+0xfffffffffffffffc 000000000000005c R_X86_64_PC32 eof_n2d+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2B]: RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000021 000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000022
0000000000000053 R_X86_64_PC32 eof_n2b+0xfffffffffffffffc 0000000000000053 R_X86_64_PC32 eof_n2b+0xfffffffffffffffc
RELOCATION RECORDS FOR [LZMA_ELF00]: RELOCATION RECORDS FOR [LZMA_ELF00]:

86
src/stub/tmp/amd64-win64.pe.bin.dump generated vendored
View File

@ -13,46 +13,46 @@ Idx Name Size VMA LMA File off Algn
8 PEMAIN02 01 0 0 08c 2**0 CONTENTS 8 PEMAIN02 01 0 0 08c 2**0 CONTENTS
9 PEMAIN03 0 0 0 08d 2**0 CONTENTS 9 PEMAIN03 0 0 0 08d 2**0 CONTENTS
10 NRV_HEAD 060 0 0 08d 2**0 CONTENTS 10 NRV_HEAD 060 0 0 08d 2**0 CONTENTS
11 NRV2B 083 0 0 0ed 2**0 CONTENTS 11 NRV2B 081 0 0 0ed 2**0 CONTENTS
12 NRV2D 091 0 0 0170 2**0 CONTENTS 12 NRV2D 08f 0 0 016e 2**0 CONTENTS
13 NRV2E 0aa 0 0 0201 2**0 CONTENTS 13 NRV2E 0a8 0 0 01fd 2**0 CONTENTS
14 LZMA_HEAD 014 0 0 02ab 2**0 CONTENTS 14 LZMA_HEAD 014 0 0 02a5 2**0 CONTENTS
15 LZMA_ELF00 05a 0 0 02bf 2**0 CONTENTS 15 LZMA_ELF00 05a 0 0 02b9 2**0 CONTENTS
16 LZMA_DEC20 0a01 0 0 0319 2**0 CONTENTS 16 LZMA_DEC20 0a01 0 0 0313 2**0 CONTENTS
17 LZMA_DEC30 016 0 0 0d1a 2**0 CONTENTS 17 LZMA_DEC30 016 0 0 0d14 2**0 CONTENTS
18 LZMA_TAIL 02 0 0 0d30 2**0 CONTENTS 18 LZMA_TAIL 02 0 0 0d2a 2**0 CONTENTS
19 PEMAIN10 01 0 0 0d32 2**0 CONTENTS 19 PEMAIN10 01 0 0 0d2c 2**0 CONTENTS
20 PETLSHAK2 04 0 0 0d33 2**0 CONTENTS 20 PETLSHAK2 04 0 0 0d2d 2**0 CONTENTS
21 PECTTPOS 07 0 0 0d37 2**0 CONTENTS 21 PECTTPOS 07 0 0 0d31 2**0 CONTENTS
22 PECTTNUL 03 0 0 0d3e 2**0 CONTENTS 22 PECTTNUL 03 0 0 0d38 2**0 CONTENTS
23 PEFILTER49 052 0 0 0d41 2**0 CONTENTS 23 PEFILTER49 052 0 0 0d3b 2**0 CONTENTS
24 PEIMPORT 034 0 0 0d93 2**0 CONTENTS 24 PEIMPORT 034 0 0 0d8d 2**0 CONTENTS
25 PEIBYORD 02 0 0 0dc7 2**0 CONTENTS 25 PEIBYORD 02 0 0 0dc1 2**0 CONTENTS
26 PEK32ORD 012 0 0 0dc9 2**0 CONTENTS 26 PEK32ORD 012 0 0 0dc3 2**0 CONTENTS
27 PEIMORD1 0a 0 0 0ddb 2**0 CONTENTS 27 PEIMORD1 0a 0 0 0dd5 2**0 CONTENTS
28 PEIMPOR2 021 0 0 0de5 2**0 CONTENTS 28 PEIMPOR2 021 0 0 0ddf 2**0 CONTENTS
29 PEIERDLL 0b 0 0 0e06 2**0 CONTENTS 29 PEIERDLL 0b 0 0 0e00 2**0 CONTENTS
30 PEIEREXE 06 0 0 0e11 2**0 CONTENTS 30 PEIEREXE 06 0 0 0e0b 2**0 CONTENTS
31 PEIMDONE 04 0 0 0e17 2**0 CONTENTS 31 PEIMDONE 04 0 0 0e11 2**0 CONTENTS
32 PERELOC1 07 0 0 0e1b 2**0 CONTENTS 32 PERELOC1 07 0 0 0e15 2**0 CONTENTS
33 PERELOC2 04 0 0 0e22 2**0 CONTENTS 33 PERELOC2 04 0 0 0e1c 2**0 CONTENTS
34 PERELOC3 030 0 0 0e26 2**0 CONTENTS 34 PERELOC3 030 0 0 0e20 2**0 CONTENTS
35 REL64BIG 0a 0 0 0e56 2**0 CONTENTS 35 REL64BIG 0a 0 0 0e50 2**0 CONTENTS
36 RELOC64J 02 0 0 0e60 2**0 CONTENTS 36 RELOC64J 02 0 0 0e5a 2**0 CONTENTS
37 PERLOHI0 0a 0 0 0e62 2**0 CONTENTS 37 PERLOHI0 0a 0 0 0e5c 2**0 CONTENTS
38 PERELLO0 0b 0 0 0e6c 2**0 CONTENTS 38 PERELLO0 0b 0 0 0e66 2**0 CONTENTS
39 PERELHI0 0e 0 0 0e77 2**0 CONTENTS 39 PERELHI0 0e 0 0 0e71 2**0 CONTENTS
40 PEDEPHAK 04b 0 0 0e85 2**0 CONTENTS 40 PEDEPHAK 04b 0 0 0e7f 2**0 CONTENTS
41 PETLSC 01b 0 0 0ed0 2**0 CONTENTS 41 PETLSC 01b 0 0 0eca 2**0 CONTENTS
42 PEMAIN20 04 0 0 0eeb 2**0 CONTENTS 42 PEMAIN20 04 0 0 0ee5 2**0 CONTENTS
43 CLEARSTACK 010 0 0 0eef 2**0 CONTENTS 43 CLEARSTACK 010 0 0 0ee9 2**0 CONTENTS
44 PEMAIN21 0 0 0 0eff 2**0 CONTENTS 44 PEMAIN21 0 0 0 0ef9 2**0 CONTENTS
45 PEISDLL9 0f 0 0 0eff 2**0 CONTENTS 45 PEISDLL9 0f 0 0 0ef9 2**0 CONTENTS
46 PEISEFI9 02 0 0 0f0e 2**0 CONTENTS 46 PEISEFI9 02 0 0 0f08 2**0 CONTENTS
47 PERETURN 04 0 0 0f10 2**0 CONTENTS 47 PERETURN 04 0 0 0f0a 2**0 CONTENTS
48 PEDOJUMP 05 0 0 0f14 2**0 CONTENTS 48 PEDOJUMP 05 0 0 0f0e 2**0 CONTENTS
49 PETLSC2 026 0 0 0f19 2**0 CONTENTS 49 PETLSC2 026 0 0 0f13 2**0 CONTENTS
50 UPX1HEAD 020 0 0 0f3f 2**0 CONTENTS 50 UPX1HEAD 020 0 0 0f39 2**0 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
0000000000000000 l d NRV_HEAD 0 NRV_HEAD 0000000000000000 l d NRV_HEAD 0 NRV_HEAD
0000000000000000 l PEIMDONE 0 imports_done 0000000000000000 l PEIMDONE 0 imports_done
@ -164,15 +164,15 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2B]: RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
000000000000007d R_X86_64_PC32 NRV_HEAD+0x000000000000001b 000000000000007b R_X86_64_PC32 NRV_HEAD+0x000000000000001b
RELOCATION RECORDS FOR [NRV2D]: RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
0000000000000088 R_X86_64_PC32 NRV_HEAD+0x000000000000001b 0000000000000086 R_X86_64_PC32 NRV_HEAD+0x000000000000001b
RELOCATION RECORDS FOR [NRV2E]: RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000000000000a1 R_X86_64_PC32 NRV_HEAD+0x000000000000001b 000000000000009f R_X86_64_PC32 NRV_HEAD+0x000000000000001b
RELOCATION RECORDS FOR [LZMA_HEAD]: RELOCATION RECORDS FOR [LZMA_HEAD]:
OFFSET TYPE VALUE OFFSET TYPE VALUE

View File

@ -4,18 +4,18 @@ Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 MACHMAINX 05 0 0 034 2**0 CONTENTS 0 MACHMAINX 05 0 0 034 2**0 CONTENTS
1 MACH_UNC 0 0 0 039 2**0 CONTENTS 1 MACH_UNC 0 0 0 039 2**0 CONTENTS
2 NRV_HEAD 0d6 0 0 039 2**0 CONTENTS 2 NRV_HEAD 0da 0 0 039 2**0 CONTENTS
3 NRV2E 0d2 0 0 010f 2**0 CONTENTS 3 NRV2E 0d8 0 0 0113 2**0 CONTENTS
4 NRV2D 0c5 0 0 01e1 2**0 CONTENTS 4 NRV2D 0cc 0 0 01eb 2**0 CONTENTS
5 NRV2B 0b0 0 0 02a6 2**0 CONTENTS 5 NRV2B 0b6 0 0 02b7 2**0 CONTENTS
6 LZMA_DEC00 02e 0 0 0356 2**0 CONTENTS 6 LZMA_DEC00 02e 0 0 036d 2**0 CONTENTS
7 LZMA_ELF00 048 0 0 0384 2**0 CONTENTS 7 LZMA_ELF00 048 0 0 039b 2**0 CONTENTS
8 LZMA_DEC10 0b3e 0 0 03cc 2**0 CONTENTS 8 LZMA_DEC10 0b3e 0 0 03e3 2**0 CONTENTS
9 LZMA_DEC20 0b3e 0 0 0f0a 2**0 CONTENTS 9 LZMA_DEC20 0b3e 0 0 0f21 2**0 CONTENTS
10 LZMA_DEC30 01a 0 0 01a48 2**0 CONTENTS 10 LZMA_DEC30 01a 0 0 01a5f 2**0 CONTENTS
11 NRV_TAIL 0 0 0 01a62 2**0 CONTENTS 11 NRV_TAIL 0 0 0 01a79 2**0 CONTENTS
12 MACHMAINY 014 0 0 01a62 2**0 CONTENTS 12 MACHMAINY 014 0 0 01a79 2**0 CONTENTS
13 MACHMAINZ 0f0 0 0 01a76 2**0 CONTENTS 13 MACHMAINZ 0f0 0 0 01a8d 2**0 CONTENTS
SYMBOL TABLE: SYMBOL TABLE:
00000000 l d NRV_HEAD 0 NRV_HEAD 00000000 l d NRV_HEAD 0 NRV_HEAD
00000000 l d MACHMAINY 0 MACHMAINY 00000000 l d MACHMAINY 0 MACHMAINY
@ -44,18 +44,18 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2E]: RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
000000c7 R_386_PC32 NRV_HEAD 000000cd R_386_PC32 NRV_HEAD
00000066 R_386_PC32 MACHMAINY 0000006a R_386_PC32 MACHMAINY
RELOCATION RECORDS FOR [NRV2D]: RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
000000ba R_386_PC32 NRV_HEAD 000000c1 R_386_PC32 NRV_HEAD
00000066 R_386_PC32 MACHMAINY 0000006a R_386_PC32 MACHMAINY
RELOCATION RECORDS FOR [NRV2B]: RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
000000a7 R_386_PC32 NRV_HEAD 000000ad R_386_PC32 NRV_HEAD
00000054 R_386_PC32 MACHMAINY 00000057 R_386_PC32 MACHMAINY
RELOCATION RECORDS FOR [LZMA_DEC00]: RELOCATION RECORDS FOR [LZMA_DEC00]:
OFFSET TYPE VALUE OFFSET TYPE VALUE

View File

@ -2,37 +2,37 @@ file format elf32-i386
Sections: Sections:
Idx Name Size VMA LMA File off Algn Flags Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 05cd 0 0 034 2**2 CONTENTS 0 ELFMAINX 05d1 0 0 034 2**2 CONTENTS
1 ELFMAINZ 0a 0 0 0601 2**0 CONTENTS 1 ELFMAINZ 0a 0 0 0605 2**0 CONTENTS
SYMBOL TABLE: 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
000003f3 g F ELFMAINX 01da upx_mmap_and_fd 000003f7 g F ELFMAINX 01da upx_mmap_and_fd
00000000 *UND* 0 O_BINFO 00000000 *UND* 0 O_BINFO
000001c8 g ELFMAINX 0 mempcpy 000001cc g ELFMAINX 0 mempcpy
0000016e g ELFMAINX 0 mmap 00000172 g ELFMAINX 0 mmap
00000191 g ELFMAINX 0 uname 00000195 g ELFMAINX 0 uname
0000017c g ELFMAINX 0 get_upxfn_path 00000180 g ELFMAINX 0 get_upxfn_path
00000000 g ELFMAINX 0 _start 00000000 g ELFMAINX 0 _start
000001b6 g ELFMAINX 0 memset 000001ba g ELFMAINX 0 memset
000001e8 g ELFMAINX 0 my_bkpt 000001ec g ELFMAINX 0 my_bkpt
0000017f g ELFMAINX 0 stat 00000183 g ELFMAINX 0 stat
000001a0 g ELFMAINX 0 mkdir 000001a4 g ELFMAINX 0 mkdir
RELOCATION RECORDS FOR [ELFMAINX]: RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000001 R_386_PC32 ELFMAINZ 00000005 R_386_PC32 ELFMAINZ
000000a1 R_386_PC32 upx_mmap_and_fd 000000a5 R_386_PC32 upx_mmap_and_fd
00000146 R_386_PC32 mmap 0000014a R_386_PC32 mmap
00000203 R_386_PC32 memset 00000207 R_386_PC32 memset
0000020a R_386_PC32 stat 0000020e R_386_PC32 stat
00000238 R_386_PC32 mkdir 0000023c R_386_PC32 mkdir
00000327 R_386_PC32 mempcpy 0000032b R_386_PC32 mempcpy
0000046e R_386_PC32 my_bkpt 00000472 R_386_PC32 my_bkpt
0000048d R_386_PC32 uname 00000491 R_386_PC32 uname
000004bc R_386_PC32 get_upxfn_path 000004c0 R_386_PC32 get_upxfn_path
00000543 R_386_PC32 memset 00000547 R_386_PC32 memset
000005a1 R_386_PC32 mmap 000005a5 R_386_PC32 mmap
RELOCATION RECORDS FOR [ELFMAINZ]: RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE OFFSET TYPE VALUE

28
src/stub/tmp/i386-linux.elf-fold.map generated vendored
View File

@ -7,18 +7,18 @@ Name Origin Length Attributes
Linker script and memory map Linker script and memory map
.text 0x0000000000000000 0xd1b .text 0x0000000000000000 0xd30
.text 0x0000000000000000 0x183 tmp/i386-linux.elf-fold.o .text 0x0000000000000000 0x18b tmp/i386-linux.elf-fold.o
0x0000000000000004 get_page_mask 0x000000000000000c get_page_mask
0x0000000000000011 get_upxfn_path 0x0000000000000019 get_upxfn_path
*fill* 0x0000000000000183 0x1 00 *fill* 0x000000000000018b 0x1 00
.text 0x0000000000000184 0x3e1 tmp/i386-linux.elf-upxfd_android.o .text 0x000000000000018c 0x3e1 tmp/i386-linux.elf-upxfd_android.o
0x000000000000038b upx_mmap_and_fd 0x0000000000000393 upx_mmap_and_fd
*fill* 0x0000000000000565 0x3 00 *fill* 0x000000000000056d 0x3 00
.text 0x0000000000000568 0x0 tmp/i386-expand.o .text 0x0000000000000570 0x0 tmp/i386-expand.o
.text 0x0000000000000568 0x7b3 tmp/i386-linux.elf-main2.o .text 0x0000000000000570 0x7c0 tmp/i386-linux.elf-main2.o
0x00000000000006bd underlay 0x00000000000006c5 underlay
0x0000000000000bc7 upx_main 0x0000000000000bdc upx_main
.data 0x0000000000000000 0x0 .data 0x0000000000000000 0x0
.data 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o .data 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
@ -56,8 +56,8 @@ SYSCALLS 0x0000000000000000 0xc0
.note.GNU-stack .note.GNU-stack
0x0000000000000000 0x0 tmp/i386-linux.elf-upxfd_android.o 0x0000000000000000 0x0 tmp/i386-linux.elf-upxfd_android.o
EXP_HEAD 0x0000000000000000 0x111 EXP_HEAD 0x0000000000000000 0x115
EXP_HEAD 0x0000000000000000 0x111 tmp/i386-expand.o EXP_HEAD 0x0000000000000000 0x115 tmp/i386-expand.o
0x0000000000000071 f_expand 0x0000000000000071 f_expand
0x00000000000000a1 __clear_cache 0x00000000000000a1 __clear_cache