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