mirror of
https://github.com/upx/upx.git
synced 2025-02-24 18:12:14 +00:00
Adapt around qemu-arm placement of ET_DYN and stack.
modified: stub/src/arm.v4a-linux.elf-entry.S modified: ../.github/travis_testsuite_1.sh plus arm*.elf-entry.h, arm*.elf-entry.bin.dump
This commit is contained in:
parent
02b4a4c974
commit
92527126a8
14
.github/travis_testsuite_1.sh
vendored
14
.github/travis_testsuite_1.sh
vendored
@ -151,7 +151,7 @@ b8c35fa2956da17ca505956e9f5017bb5f3a746322647e24ccb8ff28059cafa4 *powerpc-linux.
|
||||
expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
|
||||
4c50abad95a6f659bf82ff1b80046ec85ecbe089eb3faa7bc3745ba8b502a04d *amd64-linux.elf/upx-3.91
|
||||
c1a6ef9d0b8a26f1d6e3307af6f119bc95411a54421c7da3bd6ade9c4eead187 *arm-wince.pe/upx-3.91.exe
|
||||
660095ec2ba8681eadf4d941860ea6ceded2525f2b28321679b583423e82d15e *armeb-linux.elf/upx-3.91
|
||||
f8e9a7201a3016b4bbd97c0e468fc69affccc18fc5a71ba70c0aa1d2212f3027 *armeb-linux.elf/upx-3.91
|
||||
7d5f0fd6f18e4cd16655ef58805f228bcaddd5b035ce998faed446e290aea3d9 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
f0ad83e018214c26093c0ada70ea0156b63c824a5bdf0ead9120634d67f73cea *i386-linux.elf/upx-3.91
|
||||
d3cfb5347758ee54e54cfc92ae502a3e19702cd4fec115d74f84f8a5ab7a9bc2 *i386-win32.pe/upx-3.91.exe
|
||||
@ -162,7 +162,7 @@ a1397350c20b0c2eeae84310a939106688119688bdbc4212af996a8a285c7b8a *powerpc-linux.
|
||||
expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
|
||||
40d50a15a0d46963407035b95a63d369041f6dfd874a977efac1a808c37c8d57 *amd64-linux.elf/upx-3.91
|
||||
2bb2477bdf4643954b4bb707b1017459238b03f66883303cd20e9e8740764dd7 *arm-wince.pe/upx-3.91.exe
|
||||
0e527c96f87f0ec16738c4d2cea8d5da84353019862f479fd19b37ebae16cc8d *armeb-linux.elf/upx-3.91
|
||||
4dfd0f09628bd76fd1d49a4de1c77e1d17227ca6659a009e987c8d85e93ebe4e *armeb-linux.elf/upx-3.91
|
||||
c52473f5dbdac560c05d5d173e5342b5e696e604517359baef581672eb25a9e6 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
89dca0f4252c058767832a4f5021f1c2682ed8b54bf5cd779f0252bc1ea50beb *i386-linux.elf/upx-3.91
|
||||
5bebadb8455b052580b1f22a949c3eb5a441c8b6ba9c6b50506cb703fc3f65ce *i386-win32.pe/upx-3.91.exe
|
||||
@ -173,7 +173,7 @@ ef94d8b0e02a650c302bec9f2d50462f2accc2fbb8003cc4977bc550d2e5b9f2 *m68k-atari.tos
|
||||
expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
|
||||
9a69b0e1984fa8b7f77cb54e2ce07189b23a8840a2e2f8908ed0bcf7d51f32cf *amd64-linux.elf/upx-3.91
|
||||
0915344e0ee8e7c006e6cce71c024f518e097a88820c7ab3ca183ab1c614ce82 *arm-wince.pe/upx-3.91.exe
|
||||
bb84af663ce5eed8482506aed30d414edd2d955c98416fbe9202e24f2ca35a43 *armeb-linux.elf/upx-3.91
|
||||
ea3103c3df4f09ab6f9a720be8c52ce8d3f8540b0ddc33abfbaa3273fcb5bd87 *armeb-linux.elf/upx-3.91
|
||||
5c5ff78652e76834f3f9ab110c42e3a34ef54c748bce212b0e942049f43f5d4d *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
bc5174b72168fc614245560fc0a0ba1de440fb5b59f56a66c19a6b40d5c4b3b3 *i386-linux.elf/upx-3.91
|
||||
ef5e25c79d356e9ed0736f34dc5ee7a8f4c66d0c330b8d16672fac7d829b5a7c *i386-win32.pe/upx-3.91.exe
|
||||
@ -184,7 +184,7 @@ ddd208079ad2fbbcc101baca1f7db3cbd31d88fcceeda5940e11798594672422 *mipsel-linux.e
|
||||
expected_sha256sums__t140_compress_lzma_2_no_filter="\
|
||||
f75a024db06d60dd70ab321196847af955c4e812f55439a584ff960bd336ec10 *amd64-linux.elf/upx-3.91
|
||||
3af2a2346a252dfacefb6209725907b2947dc1ccf5e99af139608354f852507c *arm-wince.pe/upx-3.91.exe
|
||||
c4d6f8b155d15a84b5403ee1259b819fe3f48d81e90410ef9976129bec2008b5 *armeb-linux.elf/upx-3.91
|
||||
2fcace545a64bc19e82a18ff16d8b5b106b4f6b3a8e4a318dec00c6a5308ec61 *armeb-linux.elf/upx-3.91
|
||||
964fb400b0b4a2b1926ce7076610db8c3a8e41807fe030209af1615d43b6a020 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
828f34977b65e1555688766a6dd20739a66be47ecf69119aaea5f5279ea0fd75 *i386-linux.elf/upx-3.91
|
||||
171bde9f27a5571b524e9d7cdba6cefa142bb8a0b114c4d5294944ee5781e0bb *i386-win32.pe/upx-3.91.exe
|
||||
@ -195,7 +195,7 @@ c4d6f8b155d15a84b5403ee1259b819fe3f48d81e90410ef9976129bec2008b5 *armeb-linux.el
|
||||
expected_sha256sums__t150_compress_ucl_2_all_filters="\
|
||||
00c002d151486fa4201a8ed85f05e2ea9f7aa13e36253ff7d5ce5b3db5b5438a *amd64-linux.elf/upx-3.91
|
||||
dc7323e753ce62e6a1c22112f139953dbaa1e5268530479f8ad48e0c54062295 *arm-wince.pe/upx-3.91.exe
|
||||
90f789f9ab85422df62c82e090b9b39f473a47507af2968b7a2b24da4ef222b8 *armeb-linux.elf/upx-3.91
|
||||
28bdf621be8b1e6d5c6df647232417d6b3eb3103f94fe5ed1cecb449099f170b *armeb-linux.elf/upx-3.91
|
||||
8614d93ba30def6866b3be92ae5bdd5f294266e0fc4a26c078682917f127656d *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
7c33a5300d93079e6612229242584c80103a11826e78c0fcf6f8e5047d638c27 *i386-linux.elf/upx-3.91
|
||||
7c3d7398f63eb9e235992d2d8fd6de9e355f6f21621c45032a6ae6c9009067e6 *i386-win32.pe/upx-3.91.exe
|
||||
@ -206,7 +206,7 @@ dc7323e753ce62e6a1c22112f139953dbaa1e5268530479f8ad48e0c54062295 *arm-wince.pe/u
|
||||
expected_sha256sums__t160_compress_all_methods_1_no_filter="\
|
||||
496d15162a22f677a1e4105925f1334981807c5bf1ae43e7e00e0373f89cd8fe *amd64-linux.elf/upx-3.91
|
||||
1c9c618741739404f40d198d2fc77010539589379bf260502af9f10f1ec0d05b *arm-wince.pe/upx-3.91.exe
|
||||
7721fc14b301edf631a599fd187b627b49937dc10f78b8b3821ca05b83fb6cff *armeb-linux.elf/upx-3.91
|
||||
9650cd1ca32414fc25a85999dde2e927239f2158a9d49e9e99ab88ed1ecd2cef *armeb-linux.elf/upx-3.91
|
||||
863bbf7f3cf41296987b085a4db8acba372e3d65d8d9c656f9a7276f2e7aa4d3 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
5f4eb68842b46b9a1c138e5330e588b493d2927e27130be245f6d7aded82ef15 *i386-linux.elf/upx-3.91
|
||||
4c73a38e81fe12f36dc37e514f8580c12bdf5d8cb92e9a07b7070db291a2f7eb *i386-win32.pe/upx-3.91.exe
|
||||
@ -217,7 +217,7 @@ f7b0bf04e620bc098fb24f381e92cfb76a6bf38020029f26029ff90acd1a9023 *powerpc-linux.
|
||||
expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
|
||||
ffcdbd72b65c94924e51248fc68c2d787798633846af9324719e6f67140e92b1 *amd64-linux.elf/upx-3.91
|
||||
66653a91c355a1ad1ab7b07c6c20b2d2899d0f42078683d0f4d540df476b1afb *arm-wince.pe/upx-3.91.exe
|
||||
5d676ae7d3523823379f0d3b5a34e4f6923f7dd7808c008542f10ab11adbfac5 *armeb-linux.elf/upx-3.91
|
||||
6cbf1744a7bbc16fbf15c197d9d6aaa3599ce3f033bda143e51812ecfa0d0906 *armeb-linux.elf/upx-3.91
|
||||
490a196fbba4a8f21bfb9ac2a3b92a6dc7e287f255a3ab987f7d29d5a75d8db4 *i386-dos32.djgpp2.coff/upx-3.91.exe
|
||||
a0630df230ec301d1919d4fb15c66e7a403d17a03dfe4c79cd7835e2eb0d1b19 *i386-linux.elf/upx-3.91
|
||||
14b192b5419ca0ec2b3f238dc6ed9c17596e82ff2674a299d4b0a76d118a73de *i386-win32.pe/upx-3.91.exe
|
||||
|
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
@ -146,13 +146,21 @@ unfold: // in: r11= &f_exp; lr= &O_BINFO
|
||||
addeq r9,r9,r7 @ brk(0)
|
||||
add r9,r9,#PAGE_SIZE
|
||||
sub r9,r9,#1
|
||||
mov r9,r9,lsr #PAGE_SHIFT
|
||||
mov r9,r9,lsl #PAGE_SHIFT @ ADRU
|
||||
ldr r8,[lr] @ {fold_begin}.sz_unc
|
||||
add r6,r6,r9 @ ADRX= O_BINFO + new_base
|
||||
sub r0,lr,r7 @ &eof - &Elf_Ehdr
|
||||
add r10,r8,r0 @ .sz_unc + sizeof(this_stub) == LENU
|
||||
add r10,r10,#2*4 @ 2-instr subr for mflg
|
||||
|
||||
sub r0,sp,#8<<20 @ allow 8MB stack (qemu ET_DYN puts below Elf_Ehdr)
|
||||
cmp r0,#0xf7<<24 @ qemu wants for itself 0xf7000000 and above
|
||||
movhs r0,#0xf7<<24 @ min(0xf7000000, sp - 8M)
|
||||
sub r0,r0,r10 @ LENU must fit
|
||||
cmp r9,r0
|
||||
movhs r9,r0 @ move below
|
||||
|
||||
mov r9,r9,lsr #PAGE_SHIFT @ round down
|
||||
mov r9,r9,lsl #PAGE_SHIFT @ new ADRU
|
||||
add r6,r6,r9 @ ADRX= O_BINFO + new_base(==ADRU)
|
||||
ldr r3,[r11, #mflg - f_exp] // MAP_{PRIVATE|ANON}
|
||||
sub r11,r11,r7 @ offset(f_exp)
|
||||
add r11,r11,r9 @ new f_exp
|
||||
|
@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d48 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011c0 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 00000036 00000000 00000000 000011c0 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 000000ec 00000000 00000000 000011f6 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000104 00000000 00000000 000011f6 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@ -38,7 +38,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
000000ec g ELFMAINZ 00000000 cpr0
|
||||
00000104 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@ -255,7 +255,7 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000074 R_ARM_PC24 ELFMAINY
|
||||
00000094 R_ARM_PC24 ELFMAINZ
|
||||
000000e4 R_ARM_PC24 ELFMAINZ
|
||||
000000e8 R_ARM_ABS32 O_BINFO
|
||||
0000008c R_ARM_PC24 ELFMAINY
|
||||
000000ac R_ARM_PC24 ELFMAINZ
|
||||
000000fc R_ARM_PC24 ELFMAINZ
|
||||
00000100 R_ARM_ABS32 O_BINFO
|
||||
|
@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d88 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 00001200 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 0000003e 00000000 00000000 00001200 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 000000f0 00000000 00000000 0000123e 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000108 00000000 00000000 0000123e 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@ -38,7 +38,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
000000f0 g ELFMAINZ 00000000 cpr0
|
||||
00000108 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@ -255,7 +255,7 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000078 R_ARM_PC24 ELFMAINY
|
||||
00000098 R_ARM_PC24 ELFMAINZ
|
||||
000000e8 R_ARM_PC24 ELFMAINZ
|
||||
000000ec R_ARM_ABS32 O_BINFO
|
||||
00000090 R_ARM_PC24 ELFMAINY
|
||||
000000b0 R_ARM_PC24 ELFMAINZ
|
||||
00000100 R_ARM_PC24 ELFMAINZ
|
||||
00000104 R_ARM_ABS32 O_BINFO
|
||||
|
@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d48 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011c0 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 00000036 00000000 00000000 000011c0 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 000000ec 00000000 00000000 000011f6 2**0 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000104 00000000 00000000 000011f6 2**0 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@ -38,7 +38,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
000000ec g ELFMAINZ 00000000 cpr0
|
||||
00000104 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@ -255,7 +255,7 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000074 R_ARM_PC24 ELFMAINY
|
||||
00000094 R_ARM_PC24 ELFMAINZ
|
||||
000000e4 R_ARM_PC24 ELFMAINZ
|
||||
000000e8 R_ARM_ABS32 O_BINFO
|
||||
0000008c R_ARM_PC24 ELFMAINY
|
||||
000000ac R_ARM_PC24 ELFMAINZ
|
||||
000000fc R_ARM_PC24 ELFMAINZ
|
||||
00000100 R_ARM_ABS32 O_BINFO
|
||||
|
Loading…
x
Reference in New Issue
Block a user