Many changes for ELF shared libraries on Linux and Android

Handling more than 2 PT_LOAD (and thus more than 1 executable PT_LOAD)
required extensive changes.  But the bonus is the infrastructure
to support a different (de-)compression algorithm for each PT_LOAD.

https://github.com/upx/upx/issues/341   i386 .so decompression
https://github.com/upx/upx/issues/609   armv7 .so on Android
https://github.com/upx/upx/issues/625   amd64 .so execution
https://github.com/upx/upx/issues/654   armv7 .exe
Not yet: .so on MIPS, PowerPC, PowerPC64
This commit is contained in:
John Reiser
2023-03-04 17:37:25 -08:00
committed by Markus F.X.J. Oberhumer
parent fa56a1d9cd
commit adb0ca8250
121 changed files with 15796 additions and 6036 deletions
+7 -7
View File
@@ -10,13 +10,13 @@ Idx Name Size VMA LMA File off Algn
5 NRV2B 0144 0 0 033c 2**0 CONTENTS
6 LZMA_ELF00 010c 0 0 0480 2**0 CONTENTS
7 LZMA_DEC20 0968 0 0 058c 2**0 CONTENTS
8 LZMA_DEC10 049c 0 0 0ef4 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 01390 2**0 CONTENTS
10 ELFMAINY 03e 0 0 01390 2**0 CONTENTS
11 ELFMAINZ 0 0 0 013ce 2**0 CONTENTS
12 ELFMAJNZ 024 0 0 013ce 2**0 CONTENTS
13 ANDMAJNZ 04 0 0 013f2 2**0 CONTENTS
14 ELFMAKNZ 02a0 0 0 013f6 2**0 CONTENTS
8 LZMA_DEC10 04a0 0 0 0ef4 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 01394 2**0 CONTENTS
10 ELFMAINY 03e 0 0 01394 2**0 CONTENTS
11 ELFMAINZ 0 0 0 013d2 2**0 CONTENTS
12 ELFMAJNZ 024 0 0 013d2 2**0 CONTENTS
13 ANDMAJNZ 04 0 0 013f6 2**0 CONTENTS
14 ELFMAKNZ 02a0 0 0 013fa 2**0 CONTENTS
SYMBOL TABLE:
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
0000000000000000 l d ELFMAINZ 0 ELFMAINZ