Fix --lzma (and so --ultra-brute) for 32-bit ARM
https://github.com/upx/upx/issues/167 (comment #14) modified: stub/src/arm.v4a-linux.elf-entry.S modified: ../.github/travis_testsuite_1.sh
This commit is contained in:
+621
-621
File diff suppressed because it is too large
Load Diff
+622
-622
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -159,6 +159,7 @@ unfold: // in: r3= mflg; lr= &O_BINFO
|
||||
// Unfold
|
||||
ldr r3,[r6,#sz_unc]; str r3,[sp,#-4]! @ P_01
|
||||
mov r3,sp @ &sz_unc
|
||||
ldrb r0,[r6,#b_method]; str r0,[sp,#-4]! @ P_02 5th param to f_exp
|
||||
add r2,r6,r10 @ dst= reloc(&b_info)
|
||||
ldr r1,[r6,#sz_cpr] @ srclen
|
||||
add r0,r6,#3*4 @ src
|
||||
@@ -166,7 +167,8 @@ unfold: // in: r3= mflg; lr= &O_BINFO
|
||||
#if DEBUG /*{*/
|
||||
stmdb sp!,{TRACE_REGS}; mov r0,#2; bl trace
|
||||
#endif /*}*/
|
||||
mov lr,pc; ldr pc,[sp,#4+ F_f_exp] @ call f_exp [ARMv4 lacks blx]
|
||||
mov lr,pc; ldr pc,[sp,#2*4+ F_f_exp] @ call f_exp [ARMv4 lacks blx]
|
||||
add sp,sp,#4 @ P_02 remove 5th param
|
||||
ldr r3,[sp],#4 @ P_01 sz_unc
|
||||
|
||||
ldr r1,[sp,#F_mflg] @ mflg
|
||||
|
||||
@@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d40 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011b8 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 00000000 00000000 00000000 000011b8 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 0000010c 00000000 00000000 000011b8 2**2 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000118 00000000 00000000 000011b8 2**2 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@@ -35,7 +35,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
0000010c g ELFMAINZ 00000000 cpr0
|
||||
00000118 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@@ -249,5 +249,5 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000104 R_ARM_PC24 ELFMAINZ
|
||||
00000108 R_ARM_ABS32 O_BINFO
|
||||
00000110 R_ARM_PC24 ELFMAINZ
|
||||
00000114 R_ARM_ABS32 O_BINFO
|
||||
|
||||
@@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d80 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011f8 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 00000000 00000000 00000000 000011f8 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 0000011c 00000000 00000000 000011f8 2**2 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000128 00000000 00000000 000011f8 2**2 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@@ -35,7 +35,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
0000011c g ELFMAINZ 00000000 cpr0
|
||||
00000128 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@@ -249,5 +249,5 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000114 R_ARM_PC24 ELFMAINZ
|
||||
00000118 R_ARM_ABS32 O_BINFO
|
||||
00000120 R_ARM_PC24 ELFMAINZ
|
||||
00000124 R_ARM_ABS32 O_BINFO
|
||||
|
||||
@@ -13,7 +13,7 @@ Idx Name Size VMA LMA File off Algn Flags
|
||||
8 LZMA_DEC10 00000478 00000000 00000000 00000d40 2**0 CONTENTS, RELOC, READONLY
|
||||
9 LZMA_DEC30 00000000 00000000 00000000 000011b8 2**0 CONTENTS, READONLY
|
||||
10 ELFMAINY 00000000 00000000 00000000 000011b8 2**0 CONTENTS, READONLY
|
||||
11 ELFMAINZ 0000010c 00000000 00000000 000011b8 2**2 CONTENTS, RELOC, READONLY
|
||||
11 ELFMAINZ 00000118 00000000 00000000 000011b8 2**2 CONTENTS, RELOC, READONLY
|
||||
SYMBOL TABLE:
|
||||
00000000 l d NRV2E 00000000 NRV2E
|
||||
00000000 l d NRV2D 00000000 NRV2D
|
||||
@@ -35,7 +35,7 @@ SYMBOL TABLE:
|
||||
00000000 g LZMA_DEC10 00000000 LzmaDecode
|
||||
00000000 g ELFMAINY 00000000 end_decompress
|
||||
00000000 *UND* 00000000 O_BINFO
|
||||
0000010c g ELFMAINZ 00000000 cpr0
|
||||
00000118 g ELFMAINZ 00000000 cpr0
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINX]:
|
||||
OFFSET TYPE VALUE
|
||||
@@ -249,5 +249,5 @@ OFFSET TYPE VALUE
|
||||
|
||||
RELOCATION RECORDS FOR [ELFMAINZ]:
|
||||
OFFSET TYPE VALUE
|
||||
00000104 R_ARM_PC24 ELFMAINZ
|
||||
00000108 R_ARM_ABS32 O_BINFO
|
||||
00000110 R_ARM_PC24 ELFMAINZ
|
||||
00000114 R_ARM_ABS32 O_BINFO
|
||||
|
||||
Reference in New Issue
Block a user