Skip to content

Commit

Permalink
Rewrite stubs for 32-bit arm and i386 for -pie (Position-Independent …
Browse files Browse the repository at this point in the history
…Executable)

Coming next: MIPS and PowerPC.
	modified:   p_lx_elf.cpp
	modified:   stub/src/i386-linux.elf-main.c
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/i386-linux.elf-entry.S
	modified:   stub/src/i386-linux.elf-fold.S
	modified:   ../.github/travis_testsuite_1.sh

	also associated *.h *.map *.dump files
  • Loading branch information
jreiser committed Jun 14, 2017
1 parent e588730 commit 8f572e5
Show file tree
Hide file tree
Showing 27 changed files with 6,938 additions and 6,829 deletions.
42 changes: 21 additions & 21 deletions .github/travis_testsuite_1.sh
Original file line number Diff line number Diff line change
Expand Up @@ -151,78 +151,78 @@ b8c35fa2956da17ca505956e9f5017bb5f3a746322647e24ccb8ff28059cafa4 *powerpc-linux.
expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
5b7938b426ea815f13f4f5e5c416c67df32650ba08fdc2a83cc7676f88cec461 *amd64-linux.elf/upx-3.91
c1a6ef9d0b8a26f1d6e3307af6f119bc95411a54421c7da3bd6ade9c4eead187 *arm-wince.pe/upx-3.91.exe
819eb6b8847f3760edadb8b196b50f2558c2f9f842bc4ef4bb8114aed853a4d6 *armeb-linux.elf/upx-3.91
251f06ba4ad755d4778896a823e745c68ac629a92f054fc9c65a45ca9969ff2e *armeb-linux.elf/upx-3.91
7d5f0fd6f18e4cd16655ef58805f228bcaddd5b035ce998faed446e290aea3d9 *i386-dos32.djgpp2.coff/upx-3.91.exe
1675d73911682fcc20a92c4cc6bf80c967d97c3a57c854f74d376ef8d1450f15 *i386-linux.elf/upx-3.91
7ad99e5f6b14bffa9570767171c421afc5a8c4d50393c1d6f95575ff79741639 *i386-linux.elf/upx-3.91
d3cfb5347758ee54e54cfc92ae502a3e19702cd4fec115d74f84f8a5ab7a9bc2 *i386-win32.pe/upx-3.91.exe
c4c8b912a48bcaaef72fd94cd0c307659a03be2ec359bf01a42a2a39307dd964 *m68k-atari.tos/upx-3.91.ttp
889e9e9e3b904e3115a7723e5a8e46504cbcbaf1dcadec58877a27c62963033e *mipsel-linux.elf/upx-3.91
4faf438ef2dfa355fa8d6cada37500c0321a2efc10611dc0be6268b599c0f289 *mipsel-linux.elf/upx-3.91
680df2db2771adcbc8f7826928c6f6583b54297943fd6a314f2a8873ed9858ea *powerpc-linux.elf/upx-3.91
"
expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
70c7e9da1ea26ff9369560b4b33f49296fff9b6d7bb5683d06d2ceb31f5d3405 *amd64-linux.elf/upx-3.91
2bb2477bdf4643954b4bb707b1017459238b03f66883303cd20e9e8740764dd7 *arm-wince.pe/upx-3.91.exe
c1e4edce4786a94aa12b1ee26aeccba477b5b3b5c7fe82466b1321e93690eb11 *armeb-linux.elf/upx-3.91
23df2cd90d8e7e0c83f38ff48063fd38e95913e2b0cbb8064b7489a818d6f910 *armeb-linux.elf/upx-3.91
c52473f5dbdac560c05d5d173e5342b5e696e604517359baef581672eb25a9e6 *i386-dos32.djgpp2.coff/upx-3.91.exe
ca41fe0a1f32b42fdc8264cb5cbaf57dc2d9d6b9343265f6f8210573243c2303 *i386-linux.elf/upx-3.91
c49c1ef2a88806e8607e8744f230f8757e97bffa5b622872eec471df1731677a *i386-linux.elf/upx-3.91
5bebadb8455b052580b1f22a949c3eb5a441c8b6ba9c6b50506cb703fc3f65ce *i386-win32.pe/upx-3.91.exe
ef94d8b0e02a650c302bec9f2d50462f2accc2fbb8003cc4977bc550d2e5b9f2 *m68k-atari.tos/upx-3.91.ttp
31c028003f28bfe664b9ac31d74327b9f10e69a52f225fe80ed62bb3c1056993 *mipsel-linux.elf/upx-3.91
7f06d743c5c2cec42fb7ed7a9c520143a54ab9e34f1cc6f1c08ea3c9588b3cbb *mipsel-linux.elf/upx-3.91
a2c7b256d4173122f2c5f1e90f4354e6259a18739e66b3a4b671bb921d8be915 *powerpc-linux.elf/upx-3.91
"
expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
0aa0397c6e6e728992c8cd09fb203bc90d7e114ed9f40c2880b72ed78fa63589 *amd64-linux.elf/upx-3.91
0915344e0ee8e7c006e6cce71c024f518e097a88820c7ab3ca183ab1c614ce82 *arm-wince.pe/upx-3.91.exe
673d386ad4f284035e9c575e7d5e1dc92d77761f3741c0df3d361e23ca1fd357 *armeb-linux.elf/upx-3.91
07b254b6f07f3128c0f57abe7307a759e0d0584809aa958a1bc3f37e716869bc *armeb-linux.elf/upx-3.91
5c5ff78652e76834f3f9ab110c42e3a34ef54c748bce212b0e942049f43f5d4d *i386-dos32.djgpp2.coff/upx-3.91.exe
6deaa3f0a2a613030cc4185da140becdd4b71f3aabfff3fa6854b971af6cb92f *i386-linux.elf/upx-3.91
c522e960cadecbfcc97895bc800b4f7f07980272180732e4d9003c9927dba1f6 *i386-linux.elf/upx-3.91
ef5e25c79d356e9ed0736f34dc5ee7a8f4c66d0c330b8d16672fac7d829b5a7c *i386-win32.pe/upx-3.91.exe
dfc6abff2d3417b9708b1232d5791a9232c6623dcedb9dcb59428b67bbf864e9 *m68k-atari.tos/upx-3.91.ttp
68768e06b4261d749b1e697d1a75e0871e66b21f59d4235e4998d88f98b540ad *mipsel-linux.elf/upx-3.91
7e20ffee5cae1f8c5fff57fa4a25f52115510643ad1282048f51b3f4b285e824 *mipsel-linux.elf/upx-3.91
342350804bd91a64825dc022142df9efac0f98a400dd24ad49d890865fcdd10e *powerpc-linux.elf/upx-3.91
"
expected_sha256sums__t140_compress_lzma_2_no_filter="\
926006d4461c7df64659aa7b484a663ff0d482712c2240c3b40f7a63d3f9c07c *amd64-linux.elf/upx-3.91
3af2a2346a252dfacefb6209725907b2947dc1ccf5e99af139608354f852507c *arm-wince.pe/upx-3.91.exe
11045dca0976b131ec5bfd58160627c72462e8b9d35fdfc64f3f0c6eb9d497ca *armeb-linux.elf/upx-3.91
a1761724510df2254d298884def8b421fb988866faebd874618041d1d53ad89c *armeb-linux.elf/upx-3.91
964fb400b0b4a2b1926ce7076610db8c3a8e41807fe030209af1615d43b6a020 *i386-dos32.djgpp2.coff/upx-3.91.exe
d7a31bf4bc27dae47707731dbf59d7f9bf61038f21c81d6c7ce081285a9bb79d *i386-linux.elf/upx-3.91
837d900ab3e629073d3206d078dabbbffac9ad087d826bf2be51af1668147774 *i386-linux.elf/upx-3.91
171bde9f27a5571b524e9d7cdba6cefa142bb8a0b114c4d5294944ee5781e0bb *i386-win32.pe/upx-3.91.exe
8826c1f910007360ba6cec02c91bd7cdc87bce1ce27804ca728846b92d9086c9 *m68k-atari.tos/upx-3.91.ttp
bd9b3d1d7f66bf3b2394d3c96b61613323df15ab48d877621576637feecb445f *mipsel-linux.elf/upx-3.91
8708a5e8b6f4ce590b8b4308b0bdeeb8e930a064d2aeab9eeeb9befc322c551a *mipsel-linux.elf/upx-3.91
b599ec1ac95748e5964fed0a262d6fdf45eb2677289d00675e3a20dbd182593a *powerpc-linux.elf/upx-3.91
"
expected_sha256sums__t150_compress_ucl_2_all_filters="\
b7ae93def74c119d62ef1a92eb06074b8ce3a4429512ac64de6120097fb48692 *amd64-linux.elf/upx-3.91
dc7323e753ce62e6a1c22112f139953dbaa1e5268530479f8ad48e0c54062295 *arm-wince.pe/upx-3.91.exe
25f2d135e042e417f66e193b801a654990027b2fd584f0ff976fe3e888f639df *armeb-linux.elf/upx-3.91
9f3f077a7b5624ddd91d979837b282f9a95c41d6cedd3c0b0a6cda450fc46f10 *armeb-linux.elf/upx-3.91
8614d93ba30def6866b3be92ae5bdd5f294266e0fc4a26c078682917f127656d *i386-dos32.djgpp2.coff/upx-3.91.exe
53797fc3ebaf0a805e2f1db8a39cb90feaa96ecb50255c333eca9aa159645534 *i386-linux.elf/upx-3.91
ca103203ad545351725690a12dc4a80fbd468a75061864ab15eea51e1679718d *i386-linux.elf/upx-3.91
7c3d7398f63eb9e235992d2d8fd6de9e355f6f21621c45032a6ae6c9009067e6 *i386-win32.pe/upx-3.91.exe
25e9e84bf4e01350b362d088f8107d8228b4576bc47b6b718e9e742f7e4a5205 *m68k-atari.tos/upx-3.91.ttp
3a347f56fff4538bdfd30dab402c7656c4a15d42c390e828b106679f35589b4d *mipsel-linux.elf/upx-3.91
fb51563bb81637379db2a0f28a22b0077b115021a480373d4efa694564cb1a0e *mipsel-linux.elf/upx-3.91
c7a9e77ca00eee8116513ad27b82de1d9d1c9100c7d533113ccbd3b99c91fc67 *powerpc-linux.elf/upx-3.91
"
expected_sha256sums__t160_compress_all_methods_1_no_filter="\
e091849d471a5eb866a34ebe09ca4ccae014dae5b592b59b013a4a689bd67385 *amd64-linux.elf/upx-3.91
1c9c618741739404f40d198d2fc77010539589379bf260502af9f10f1ec0d05b *arm-wince.pe/upx-3.91.exe
001e2bd3c30ea0f21ec800c48be8877aa1d1cd97819353bd9713ef15baed7783 *armeb-linux.elf/upx-3.91
a49116af3fd482adcbc4e6b319e12c2d0907d205eb660cf55e9e8bfdc29f4b4a *armeb-linux.elf/upx-3.91
863bbf7f3cf41296987b085a4db8acba372e3d65d8d9c656f9a7276f2e7aa4d3 *i386-dos32.djgpp2.coff/upx-3.91.exe
ad88a49ff5251397f20858c3b60aee23e1ad3bca440ff187608781164b263b9a *i386-linux.elf/upx-3.91
bc98b196cbe35c9ed81b342a631938e1c402e834160136762c194297b038fdb1 *i386-linux.elf/upx-3.91
4c73a38e81fe12f36dc37e514f8580c12bdf5d8cb92e9a07b7070db291a2f7eb *i386-win32.pe/upx-3.91.exe
0f902defbce3c9a8ea08910ff2ac62b9f06e7ceed0570501cb3b6287bfd6d797 *m68k-atari.tos/upx-3.91.ttp
cf18d628feb7720b962a64b5b240dc86268257973cce46e2d98c67de4e4cdf50 *mipsel-linux.elf/upx-3.91
fcc2e2c8fddbc2c03f153a08560da2cc6e9936a646c561d0db1c70875dce9c8b *mipsel-linux.elf/upx-3.91
2e46e51385a86ac403da8edefe595d0627259ab483f871a53d228ca21a03ede7 *powerpc-linux.elf/upx-3.91
"
expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
46d8a75ddc5141f042431188404f720aa2966982d3df25d058b43f4dec692eb0 *amd64-linux.elf/upx-3.91
66653a91c355a1ad1ab7b07c6c20b2d2899d0f42078683d0f4d540df476b1afb *arm-wince.pe/upx-3.91.exe
9563feafae70b78f8bcdb7b831adea7eeb87dba232e660a307e83ceafd5dcfad *armeb-linux.elf/upx-3.91
92630136b8e3716491a5a11c177ea6f3a5e663c40eca526707f617ace5f867af *armeb-linux.elf/upx-3.91
490a196fbba4a8f21bfb9ac2a3b92a6dc7e287f255a3ab987f7d29d5a75d8db4 *i386-dos32.djgpp2.coff/upx-3.91.exe
d30326c5acb6d5fd15d69a5d08d7b2eaee05dacfb999581dbc0312cded9a9d26 *i386-linux.elf/upx-3.91
24b3359726518349588c92c4fb2210911fae338e2ed1aa6e6e34c3048cecda03 *i386-linux.elf/upx-3.91
14b192b5419ca0ec2b3f238dc6ed9c17596e82ff2674a299d4b0a76d118a73de *i386-win32.pe/upx-3.91.exe
2eb756cf3c7e4f80fea379a267071c981f3ab1fbb3eaab7057ca18a2b400fb8f *m68k-atari.tos/upx-3.91.ttp
80fa1894a5f3406c1d8e238623cfbaf1fc736e28fb822554d5a2d274ff31d8fd *mipsel-linux.elf/upx-3.91
07ab4317e0cab489e9c28ea9effd14f56a5895853396232a8f6d7896e4909549 *mipsel-linux.elf/upx-3.91
bd4482fec346ec52435cb77ab50249fe63f11033dbc79bda24d4897b90d2b1fd *powerpc-linux.elf/upx-3.91
"
########## end .sha256sums.recreate
Expand Down
3 changes: 3 additions & 0 deletions src/p_lx_elf.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1020,6 +1020,9 @@ void PackLinuxElf32x86::addStubEntrySections(Filter const *ft)
if (Elf32_Ehdr::ET_DYN==get_te16(&ehdri.e_type)) {
addLoader("LEXECDYN", NULL);
}
else {
addLoader("LEXECEXE", NULL);
}
addLoader("LEXEC025", NULL);
addLoader("FOLDEXEC", NULL);
}
Expand Down

0 comments on commit 8f572e5

Please sign in to comment.