arm32, arm64 ABI for -static must preserve register 0

Also arm32 forgot to unmap the expanded de-compressor via the escape hatch.

https://github.com/upx/upx/issues/758
https://github.com/upx/upx/issues/768
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
	modified:   stub/src/i386-linux.elf-main.c
	modified:   stub/src/amd64-linux.elf-main.c
          plus associated *.h *.map *.dump
This commit is contained in:
John Reiser
2024-01-12 15:39:18 -08:00
committed by Markus F.X.J. Oberhumer
parent 2ad0d51226
commit 38ed4b2017
23 changed files with 4257 additions and 4248 deletions
+28 -28
View File
@@ -49,11 +49,11 @@ expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
888d810a13867bbc95d82123f5768987837916fd2338a522825a0b3b05a9e0b1 *amd64-linux.elf/upx-3.91
e9758349710ee1980f9205c96f8cc2b48baf37fbfcabf203813a8ed1063f9543 *amd64-linux.elf/upx-3.95
1bd70a3cd3b34e635a3c947cacd46c4d66bf07e0fd350cc6d1f3cf60483f75b9 *amd64-win64.pe/upx-3.95.exe
ff5ce3bfae584c64e140c3a948b8dbb644c7d9a4cb6f9dbd2b2f60a82a10b648 *arm-linux.elf/upx-3.95
ca7ab46afc97951d04c84831da39503c518750d1635d131f42f849d9d82a323f *arm-linux.elf/upx-3.95
39c50022b8c5401c61c72834a921f2dc1ea9192bfe1474b14ae4565dfab37753 *arm-wince.pe/upx-3.91.exe
d4accb0417c51a79c59086d3f6d1f6dcacbdccb3d1be5f09df4b6e4fd488f15a *arm64-linux.elf/upx-3.95
498d988f6d693e5391464abf6b9f2680a9526af32a1ea0ebfe3617cc8cbeb59e *armeb-linux.elf/upx-3.91
3bc2653839f2d7af9fe0ce47f9500058b23fbd1227cdcc2216a17d3e9bc95511 *armeb-linux.elf/upx-3.95
d7870f4969b236150f1291b88ec6e721f43440231d72e5000362754440029885 *arm64-linux.elf/upx-3.95
0a650abfe87b104a321649dfa7ed52f5f46552a9cf90bfe829ec969e86db5ec9 *armeb-linux.elf/upx-3.91
4f26bd8277ad8914c12b32b0856a4020bcf254976380839d6469fd0f2d1d2e0a *armeb-linux.elf/upx-3.95
4af922bc967bf31ac7fbdc31a6957ca68ae29c8fee0666d1ebb837190dd74951 *i386-dos32.djgpp2.coff/upx-3.91.exe
45a4f849708b7cd15b027e7562c42fe3d5a88a8f1218ecb99fb4d3e0789d86aa *i386-dos32.djgpp2.coff/upx-3.95.exe
c7e555dab9b935b50caf9b02b49a476d36d39c83d716daebc0859acddb5eb3d7 *i386-linux.elf/upx-3.91
@@ -72,11 +72,11 @@ expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
81ca0d197880a1d8fa5df65fab87e61b978a5460ee3aa6c63b63d391df3da267 *amd64-linux.elf/upx-3.91
d64c59cb82e55e5ea7e4b0999d9abdd7b454332c50da560f3103a391ab4c63c6 *amd64-linux.elf/upx-3.95
0314c6974f29d180e46e41a1004d46a3993fe96f03de7f78d45ad89ad3b2177e *amd64-win64.pe/upx-3.95.exe
1a02d22e25c9bd5be155ef91fbded024e1ae81c4e137e66225c4b9cfba507e02 *arm-linux.elf/upx-3.95
838bd19dfc08b37abccb67010122877857d4057fcae5ed1168cc09d800f3a4b5 *arm-linux.elf/upx-3.95
b820cc3f17e200a8d1f6d27976361c3eb82c28169bb61bfee833b3ff789bb185 *arm-wince.pe/upx-3.91.exe
0c38daef7ffda0f35f5e00abfb44a4398fa2295207c4deb4f8f7a58b025503e4 *arm64-linux.elf/upx-3.95
65b90c588af166d0cbcbfce1d6353c037121c4caa5e141f2436a11f31d3c949f *armeb-linux.elf/upx-3.91
1fe2d49a9249c0cb1cb9703cb64751ef687a6d6ff4cf2f833532a3bbbb08de08 *armeb-linux.elf/upx-3.95
b4f8b55c57e0c425142969b649700e2e7868ee44c0a0eb25d1b65a57e28b486e *arm64-linux.elf/upx-3.95
af5e1cfcd0841e23cdc1ce5c9ed45d2860a1e5cf24dab940bad42da911a1b18f *armeb-linux.elf/upx-3.91
72778360a3bd8c143d1a1083ce718ae343cd00266fe421f841bbf75b496af5ed *armeb-linux.elf/upx-3.95
bfd11228a09dbc7c1f2e2e1c5ec7cbf0b6d3c7c6c11d4bb62d031a447e2f1399 *i386-dos32.djgpp2.coff/upx-3.91.exe
ad3dc851e8b8a5c2b4fb911c7bee2940f206ebcb2e4b14424bece335af4a24d1 *i386-dos32.djgpp2.coff/upx-3.95.exe
8a162af6e25c6380fb9617791c3d6e70eec8fcaa6950dc346c894f2c678f108d *i386-linux.elf/upx-3.91
@@ -95,11 +95,11 @@ expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
66ffdd4f4dd24c3920992119ce1e2eb4c70320e2ca12a900c277909ec11146fb *amd64-linux.elf/upx-3.91
701d216c278818475ab3366bf8f0f8ce54effe97143df243b52fe5c684a45618 *amd64-linux.elf/upx-3.95
97bb5953405f3413d9ff9bdc272caf2858697168b3e85dab54213da356b5ea0f *amd64-win64.pe/upx-3.95.exe
c5e074540cae1d676f038f8e17e67856262e0990bdb961fdd9437e45c15e0dbd *arm-linux.elf/upx-3.95
0a065c6b2d47510f13c368cccb8c290d4d9c779518a8c73858ac3313304b7d9a *arm-linux.elf/upx-3.95
53aa5cfc382c11fb0165fd70d3b86e958cd272d4f907af9d78c42bf55bf77911 *arm-wince.pe/upx-3.91.exe
4d7ba10f2310c88e92f82ec74afca55055b445e5cf5fd32318ed4374ebc8da84 *arm64-linux.elf/upx-3.95
b8f83b92e4e97c0d191f761726e1b5e85e1b806646f67f50c9a020579c3f7f23 *armeb-linux.elf/upx-3.91
aedab9a8684807f9ca209f6b4fa2997d22b9f733ad7179d90be36e3b7e117dfc *armeb-linux.elf/upx-3.95
4cc22facaff5f632adbacca4855b5cfa0358e9368bf5d8ae8fd2763bf9892698 *arm64-linux.elf/upx-3.95
8396ca51610c54060771f72b76cddf68ac9f3f8dad83a1948c35571a122ab25f *armeb-linux.elf/upx-3.91
92c77a339c6d8aba2ab60832140b7eb4f4741808a698fa23d8dedbfe8a54b70c *armeb-linux.elf/upx-3.95
c20263256b2819824804ab12f1ef0497165fc056b64dbeec65979e4f5da5f2c4 *i386-dos32.djgpp2.coff/upx-3.91.exe
21a858dc74900ca997d642b9d7042d56b869c8d8d04ee82ca8434356017bcd2a *i386-dos32.djgpp2.coff/upx-3.95.exe
c42df76b4d70ce54b9ffd9af10e2ff9360d4f80549ecbca62f2f4842293a9715 *i386-linux.elf/upx-3.91
@@ -118,11 +118,11 @@ expected_sha256sums__t140_compress_lzma_2_no_filter="\
82f2e06bc34df93fd56365cd314e97b9e73da6ffe7361bd05fea7929a1e2ddc5 *amd64-linux.elf/upx-3.91
8c7397921c255abb883420b3be274ee7318faa98f8260e290396457f88a1f7b1 *amd64-linux.elf/upx-3.95
b8815f95e92d6853a04a86069e9054115be2d9aa657fa2c8912d0f37e56c894f *amd64-win64.pe/upx-3.95.exe
abd068bb3cbebb573461e70146a18cd6ddb691a2bf589a0a2e735d87a3205ca5 *arm-linux.elf/upx-3.95
76ff869e8aa32a8b7ac52f7d674cbc9f333433465a616aef8263537d0608c9e6 *arm-linux.elf/upx-3.95
245970c83aaae44f58e9131bfdb444a52e85f1c55dbe6f81ac182608bd9b5949 *arm-wince.pe/upx-3.91.exe
e5236063c1c692d0f3a34040e000590e8a4ff19b500a0b72070a2509e90bc4af *arm64-linux.elf/upx-3.95
62d4a79948ac7d4e010978102678805df9516b627315ffe9741886b318f525f0 *armeb-linux.elf/upx-3.91
0d266dcf92ab036baeb66a611d2302b7993416e4cebe2bd91b599c2fe46d3449 *armeb-linux.elf/upx-3.95
9784412df812f5f66a2faee5645bf8e83926acbc75c05d2d144561badbd848e9 *arm64-linux.elf/upx-3.95
4cdf024b5f68077beb441a0d85b3c9c72b8aa4a61c9990d714258bdf0c5507e5 *armeb-linux.elf/upx-3.91
a60c674324d0cacf86ba4d13ab62406eb233d95382f613e53c992274e6f1d6e5 *armeb-linux.elf/upx-3.95
6e392e442af3de591fadef2b5d1dd454398e4e9cd04ee5bb391623c1a6fd2dbf *i386-dos32.djgpp2.coff/upx-3.91.exe
07e93115f1c15ce9c48570762abe41066b485c26a1356b46885da61c96e46144 *i386-dos32.djgpp2.coff/upx-3.95.exe
c27ffde1ccb87a480a68a926a194a1cf486e812421c967052d77133535068296 *i386-linux.elf/upx-3.91
@@ -141,11 +141,11 @@ expected_sha256sums__t150_compress_ucl_2_all_filters="\
580355d8929bb55c13c29197b5e54f7f7c41a278ead10d3710fdd802b1e6bd87 *amd64-linux.elf/upx-3.91
f346b56b3ddded1429e5598d3b0d9290b69d1d95a006a3fe9a12d387e622ac02 *amd64-linux.elf/upx-3.95
434732efb16b89114162a1787a28c128e2c11edb9835411f2b707cac5cd475ae *amd64-win64.pe/upx-3.95.exe
d0e5525b61791c58515d40aa073ff005b4f50e9f96072cb92ac7e57edaf00639 *arm-linux.elf/upx-3.95
b20dc4ce8a0ef04cdb746a30da381a7c154c9a1da033509d413aaacc83bc629f *arm-linux.elf/upx-3.95
6d641a40ed8563e8505fb1b5a3efa76319e4524858916a61efe606654c7001c4 *arm-wince.pe/upx-3.91.exe
020a2d4773b7c6c8f5af78510ff35797c9a93c22210bf5de10b6c5aa8ae5e1be *arm64-linux.elf/upx-3.95
2b067cc3c42c7cea9d8ad39c04dc8b71e7dc720e41a26db4887433c5f6cef2ca *armeb-linux.elf/upx-3.91
ffe919f62e0e79b0f64331a37f94ff487097a3f8fbdc417db9849d1e43a93a34 *armeb-linux.elf/upx-3.95
c790bcc4c0cf511716e9a0029116df050459a3f40dee767e06006c444ba5a372 *arm64-linux.elf/upx-3.95
dc2665294a1bff893bcc6221d07d78e44d306b89491ec02e4c572896a1989b9e *armeb-linux.elf/upx-3.91
66c00ee520ef2d950fc6f3d02ff7dfc54eb5d688087d11dd9911d89f90c1e73a *armeb-linux.elf/upx-3.95
f05a9c921b3a728a2baaf896fb95993a1ffd7c2cc3be26497c874a3ba023ec19 *i386-dos32.djgpp2.coff/upx-3.91.exe
3d1d07fd4330b47db285cb4f0e3c13c19deaf4ba3233eb82f3727cad7916bed1 *i386-dos32.djgpp2.coff/upx-3.95.exe
943cd6370ddd101084dfdd3d62b55c51fc1597a2633f7a0df418224d0e4a5b03 *i386-linux.elf/upx-3.91
@@ -164,11 +164,11 @@ expected_sha256sums__t160_compress_all_methods_1_no_filter="\
e9a365024a859d0c9678ca010e9a84b7bfedc599797d34fb6dc59a3bd38b0ce9 *amd64-linux.elf/upx-3.91
44341b08d41a82d94fefb7fa773b52a116a41ae0e18052581003592e543db444 *amd64-linux.elf/upx-3.95
f38ff7edc916c1a3e82020035667de858c89d52c98d960dad0e21b4da444ed6c *amd64-win64.pe/upx-3.95.exe
d1b445bbe87207a29f113471d395a3441d0d6f4efa8dd7d68ee2b8b5266fb838 *arm-linux.elf/upx-3.95
f1f6b38e79305a587b9e3c684819f3bc22ec713610aadac0315bedb405f89550 *arm-linux.elf/upx-3.95
20d7b538bb030ba3a1a29eb998ef6b2fcaabbe84d46d5fde71853d2224c2d1ec *arm-wince.pe/upx-3.91.exe
45e2012809d5103ba2e2242ba737eb504d32de2a03f4b7d54122b94e98889945 *arm64-linux.elf/upx-3.95
7b84ae933ea82892f9e9a5d4ee268c7aaa77a48290c89e64e794a472c034fb49 *armeb-linux.elf/upx-3.91
a10db43eaf25abeafa0bfc5c633b09b35f60a1f6470797674b9312c9cfdce1eb *armeb-linux.elf/upx-3.95
91ce83112689b7b24984ed1bc552a0ec34dda9188fa8693f8a92590e0dcfe83a *arm64-linux.elf/upx-3.95
f805707254a73d3a32d457766df81c19fa7b102cdc174a3535ceb069da0ef831 *armeb-linux.elf/upx-3.91
171e84b16a1265a9cd8b408e9c67c5844867457db518fd2cb4e5a52364daf73b *armeb-linux.elf/upx-3.95
d7a93b38803d59f0540fca4d02516dda9a21cbbf989e9213f4bb8b6d639d630b *i386-dos32.djgpp2.coff/upx-3.91.exe
d61750192a24eb23a91b15d3d9b6ea1bd246e1e5755d631ebd2df04f07dc8fac *i386-dos32.djgpp2.coff/upx-3.95.exe
99417f83d2254f76f0567aaf68ec716f12a302fa7139c106c33ee613b2b46b47 *i386-linux.elf/upx-3.91
@@ -187,11 +187,11 @@ expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
e53bd5d25ad817c80b6f7e0c5cd3e4781d4a96c8de007e73f09ee51447530207 *amd64-linux.elf/upx-3.91
9655b5c71bccf78820f8697c70d55962e2b37eb5a203708454a3fce0327fc1ff *amd64-linux.elf/upx-3.95
5fccb0f5044baaa74d176efb25eefa3b5810dc737ed0f9d38084d275f7ebe7b8 *amd64-win64.pe/upx-3.95.exe
c2fe085c289ad4a06e4db9d53b7c7c1537307f21c87bcc20ea13f1352de806b5 *arm-linux.elf/upx-3.95
01f969f1422445913c44f5d11149124ea93fd729499eab73efefe0a3edb30879 *arm-linux.elf/upx-3.95
6c1ac767d302306509639ddb549253fe826f5e57677c29b0a431d98beababd3f *arm-wince.pe/upx-3.91.exe
fdc94198559e7efc96b413c3a8b93eef8de864708ca8952265043875b6bf19e1 *arm64-linux.elf/upx-3.95
7790f133d6b2d220b060c36e17ec961b1e1db27ce602a5399f202514aefa18fa *armeb-linux.elf/upx-3.91
faa7808665335846301b2b665fa9117b5ef94908f196583d62fa617f21620b93 *armeb-linux.elf/upx-3.95
81f1c6419df288e86f9f31a657704d7a03ebc229f34c1edf0bcf2f7180b3b4f8 *arm64-linux.elf/upx-3.95
3ee68da089c90613c6a7e15a4edff39c7f51d3211c3bbe9483e6263d83a419e6 *armeb-linux.elf/upx-3.91
76c20fdb8da980085a3a562a77b92b1c090cd546b7ee5ba3989655bb7792e46d *armeb-linux.elf/upx-3.95
9f5602f4d26213fdbfef6b35bcf0ed00b34f7ff2891b7e8e3e3047761c1f9e5c *i386-dos32.djgpp2.coff/upx-3.91.exe
254828375606d8fe282ff939a88d7e1e68a7a0f8a38d25ce5ed32b6766bf68ee *i386-dos32.djgpp2.coff/upx-3.95.exe
433478c20ada3a26f01836b3e41594e7abadad4a68fc893d7cd502330b35dfb2 *i386-linux.elf/upx-3.91