Allow pre-linking when compressing shared libraries

Such as Wine kernel32.dll etc.
https://github.com/upx/upx/issues/660
	modified:   stub/amd64-linux.elf-so_fold.h
	modified:   stub/arm.v4a-linux.elf-so_fold.h
	modified:   stub/arm.v5a-linux.elf-so_fold.h
	modified:   stub/arm64-linux.elf-so_fold.h
	modified:   stub/i386-linux.elf-so_fold.h
	modified:   stub/src/amd64-linux.elf-so_main.c
	modified:   stub/src/i386-linux.elf-so_main.c
	modified:   stub/tmp/amd64-linux.elf-so_fold.bin.dump
This commit is contained in:
John Reiser
2023-04-03 13:18:21 -07:00
parent b9533f409c
commit 14521eb6dd
8 changed files with 5382 additions and 5375 deletions
+19 -19
View File
@@ -2,19 +2,19 @@ file format elf64-x86-64
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 SO_MAIN 05cc 0 0 040 2**4 CONTENTS
1 EXP_HEAD 0dc 0 0 060c 2**0 CONTENTS
2 NRV2E 0e5 0 0 06e8 2**0 CONTENTS
3 NRV2D 0d7 0 0 07cd 2**0 CONTENTS
4 NRV2B 0c1 0 0 08a4 2**0 CONTENTS
5 SO_HEAD 01b 0 0 0965 2**0 CONTENTS
6 ptr_NEXT 0 0 0 0980 2**0 CONTENTS
7 SO_TAIL 071 0 0 0980 2**0 CONTENTS
8 LZMA_ELF00 064 0 0 09f1 2**0 CONTENTS
9 LZMA_DEC10 09f7 0 0 0a55 2**0 CONTENTS
10 LZMA_DEC20 09f7 0 0 0144c 2**0 CONTENTS
11 LZMA_DEC30 018 0 0 01e43 2**0 CONTENTS
12 EXP_TAIL 0e 0 0 01e5b 2**0 CONTENTS
0 SO_MAIN 05d8 0 0 040 2**4 CONTENTS
1 EXP_HEAD 0dc 0 0 0618 2**0 CONTENTS
2 NRV2E 0e5 0 0 06f4 2**0 CONTENTS
3 NRV2D 0d7 0 0 07d9 2**0 CONTENTS
4 NRV2B 0c1 0 0 08b0 2**0 CONTENTS
5 SO_HEAD 01b 0 0 0971 2**0 CONTENTS
6 ptr_NEXT 0 0 0 098c 2**0 CONTENTS
7 SO_TAIL 071 0 0 098c 2**0 CONTENTS
8 LZMA_ELF00 064 0 0 09fd 2**0 CONTENTS
9 LZMA_DEC10 09f7 0 0 0a61 2**0 CONTENTS
10 LZMA_DEC20 09f7 0 0 01458 2**0 CONTENTS
11 LZMA_DEC30 018 0 0 01e4f 2**0 CONTENTS
12 EXP_TAIL 0e 0 0 01e67 2**0 CONTENTS
SYMBOL TABLE:
0000000000000000 l d EXP_HEAD 0 EXP_HEAD
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
@@ -44,7 +44,7 @@ SYMBOL TABLE:
000000000000004b g SO_TAIL 0 openat
000000000000005e g SO_TAIL 0 mprotect
0000000000000047 g SO_TAIL 0 close
0000000000000368 g F SO_MAIN 0264 upx_so_main
0000000000000368 g F SO_MAIN 0270 upx_so_main
RELOCATION RECORDS FOR [SO_MAIN]:
OFFSET TYPE VALUE
@@ -60,11 +60,11 @@ OFFSET TYPE VALUE
000000000000030d R_X86_64_PLT32 memcpy+0xfffffffffffffffc
000000000000032e R_X86_64_PLT32 mmap+0xfffffffffffffffc
000000000000033c R_X86_64_PLT32 memcpy+0xfffffffffffffffc
00000000000003d9 R_X86_64_PLT32 mmap+0xfffffffffffffffc
00000000000003ea R_X86_64_PLT32 memcpy+0xfffffffffffffffc
0000000000000417 R_X86_64_PLT32 Pprotect+0xfffffffffffffffc
0000000000000588 R_X86_64_PLT32 Pprotect+0xfffffffffffffffc
00000000000005a1 R_X86_64_PLT32 munmap+0xfffffffffffffffc
00000000000003e9 R_X86_64_PLT32 mmap+0xfffffffffffffffc
00000000000003fa R_X86_64_PLT32 memcpy+0xfffffffffffffffc
0000000000000427 R_X86_64_PLT32 Pprotect+0xfffffffffffffffc
0000000000000595 R_X86_64_PLT32 Pprotect+0xfffffffffffffffc
00000000000005ad R_X86_64_PLT32 munmap+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE