amd64-linux revamp for compressing shared libraries

Major changes: p_lx_elf.cpp and stub/src/amd64-linux.elf-so*.
(Includes run-time infrastructure for multiple de-compressors.)
	modified:   linker.cpp
	modified:   p_lx_elf.cpp
	modified:   p_lx_elf.h
	modified:   p_unix.cpp
	modified:   p_unix.h
	modified:   stub/Makefile
	modified:   stub/src/amd64-darwin.dylib-entry.S
	modified:   stub/src/amd64-darwin.macho-entry.S
	new file:   stub/src/amd64-expand.S
	modified:   stub/src/amd64-linux.elf-entry.S
	new file:   stub/src/amd64-linux.elf-so_entry.S
	new file:   stub/src/amd64-linux.elf-so_fold.S
	new file:   stub/src/amd64-linux.elf-so_fold.lds
	new file:   stub/src/amd64-linux.elf-so_main.c
	modified:   stub/src/amd64-linux.shlib-init.S
	modified:   stub/src/amd64-win64.pep.S
	modified:   stub/src/arch/amd64/nrv2b_d.S
	modified:   stub/src/arch/amd64/nrv2d_d.S
	modified:   stub/src/arch/amd64/nrv2e_d.S
           plus many generated stub/*.h and stub/tmp/*.bin.dump
This commit is contained in:
John Reiser
2023-01-09 09:39:25 -08:00
committed by Markus F.X.J. Oberhumer
parent 5f3ebc8a7f
commit 26d8e9c4c5
133 changed files with 42126 additions and 48117 deletions
+64 -64
View File
@@ -2,71 +2,71 @@ file format elf32-i386
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 COMMAIN1 0000001d 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
1 COMSBBBP 00000002 00000000 00000000 00000051 2**0 CONTENTS, READONLY
2 COMPSHDI 00000001 00000000 00000000 00000053 2**0 CONTENTS, READONLY
3 COMCALLT 00000001 00000000 00000000 00000054 2**0 CONTENTS, READONLY
4 COMMAIN2 00000003 00000000 00000000 00000055 2**0 CONTENTS, RELOC, READONLY
5 UPX1HEAD 00000016 00000000 00000000 00000058 2**0 CONTENTS, READONLY
6 COMCUTPO 00000000 00000000 00000000 0000006e 2**0 CONTENTS, READONLY
7 NRV2B160 0000000a 00000000 00000000 0000006e 2**0 CONTENTS, RELOC, READONLY
8 NRVDDONE 00000002 00000000 00000000 00000078 2**0 CONTENTS, RELOC, READONLY
9 NRVDRETU 00000002 00000000 00000000 0000007a 2**0 CONTENTS, RELOC, READONLY
10 NRVDECO1 0000001e 00000000 00000000 0000007c 2**0 CONTENTS, RELOC, READONLY
11 NRVLED00 00000001 00000000 00000000 0000009a 2**0 CONTENTS, READONLY
12 NRVGTD00 00000007 00000000 00000000 0000009b 2**0 CONTENTS, READONLY
13 NRVDECO2 00000016 00000000 00000000 000000a2 2**0 CONTENTS, RELOC, READONLY
14 CALLTR16 0000000b 00000000 00000000 000000b8 2**0 CONTENTS, RELOC, READONLY
15 CT16I286 00000003 00000000 00000000 000000c3 2**0 CONTENTS, READONLY
16 CT16SUB0 00000002 00000000 00000000 000000c6 2**0 CONTENTS, READONLY
17 CT16I086 00000008 00000000 00000000 000000c8 2**0 CONTENTS, READONLY
18 CALLTRI2 00000003 00000000 00000000 000000d0 2**0 CONTENTS, RELOC, READONLY
19 CT16E800 00000002 00000000 00000000 000000d3 2**0 CONTENTS, READONLY
20 CT16E900 00000002 00000000 00000000 000000d5 2**0 CONTENTS, READONLY
21 CALLTRI5 00000006 00000000 00000000 000000d7 2**0 CONTENTS, RELOC, READONLY
22 CT16JEND 00000002 00000000 00000000 000000dd 2**0 CONTENTS, RELOC, READONLY
23 CT16JUL2 00000002 00000000 00000000 000000df 2**0 CONTENTS, RELOC, READONLY
24 CT16I287 00000003 00000000 00000000 000000e1 2**0 CONTENTS, READONLY
25 CT16SUB1 00000002 00000000 00000000 000000e4 2**0 CONTENTS, READONLY
26 CT16I087 00000008 00000000 00000000 000000e6 2**0 CONTENTS, READONLY
27 CALLTRI6 00000003 00000000 00000000 000000ee 2**0 CONTENTS, RELOC, READONLY
28 CORETURN 00000001 00000000 00000000 000000f1 2**0 CONTENTS, READONLY
0 COMMAIN1 01d 0 0 034 2**0 CONTENTS
1 COMSBBBP 02 0 0 051 2**0 CONTENTS
2 COMPSHDI 01 0 0 053 2**0 CONTENTS
3 COMCALLT 01 0 0 054 2**0 CONTENTS
4 COMMAIN2 03 0 0 055 2**0 CONTENTS
5 UPX1HEAD 016 0 0 058 2**0 CONTENTS
6 COMCUTPO 0 0 0 06e 2**0 CONTENTS
7 NRV2B160 0a 0 0 06e 2**0 CONTENTS
8 NRVDDONE 02 0 0 078 2**0 CONTENTS
9 NRVDRETU 02 0 0 07a 2**0 CONTENTS
10 NRVDECO1 01e 0 0 07c 2**0 CONTENTS
11 NRVLED00 01 0 0 09a 2**0 CONTENTS
12 NRVGTD00 07 0 0 09b 2**0 CONTENTS
13 NRVDECO2 016 0 0 0a2 2**0 CONTENTS
14 CALLTR16 0b 0 0 0b8 2**0 CONTENTS
15 CT16I286 03 0 0 0c3 2**0 CONTENTS
16 CT16SUB0 02 0 0 0c6 2**0 CONTENTS
17 CT16I086 08 0 0 0c8 2**0 CONTENTS
18 CALLTRI2 03 0 0 0d0 2**0 CONTENTS
19 CT16E800 02 0 0 0d3 2**0 CONTENTS
20 CT16E900 02 0 0 0d5 2**0 CONTENTS
21 CALLTRI5 06 0 0 0d7 2**0 CONTENTS
22 CT16JEND 02 0 0 0dd 2**0 CONTENTS
23 CT16JUL2 02 0 0 0df 2**0 CONTENTS
24 CT16I287 03 0 0 0e1 2**0 CONTENTS
25 CT16SUB1 02 0 0 0e4 2**0 CONTENTS
26 CT16I087 08 0 0 0e6 2**0 CONTENTS
27 CALLTRI6 03 0 0 0ee 2**0 CONTENTS
28 CORETURN 01 0 0 0f1 2**0 CONTENTS
SYMBOL TABLE:
00000000 l d NRV2B160 00000000 NRV2B160
00000000 l d NRVDECO2 00000000 NRVDECO2
00000000 l d CALLTR16 00000000 CALLTR16
00000000 l d CALLTRI5 00000000 CALLTRI5
00000000 l d CALLTRI6 00000000 CALLTRI6
00000000 l d COMMAIN1 00000000 COMMAIN1
00000000 l d COMSBBBP 00000000 COMSBBBP
00000000 l d COMPSHDI 00000000 COMPSHDI
00000000 l d COMCALLT 00000000 COMCALLT
00000000 l d COMMAIN2 00000000 COMMAIN2
00000000 l d UPX1HEAD 00000000 UPX1HEAD
00000000 l d COMCUTPO 00000000 COMCUTPO
00000000 l d NRVDDONE 00000000 NRVDDONE
00000000 l d NRVDRETU 00000000 NRVDRETU
00000000 l d NRVDECO1 00000000 NRVDECO1
00000000 l d NRVLED00 00000000 NRVLED00
00000000 l d NRVGTD00 00000000 NRVGTD00
00000000 l d CT16I286 00000000 CT16I286
00000000 l d CT16SUB0 00000000 CT16SUB0
00000000 l d CT16I086 00000000 CT16I086
00000000 l d CALLTRI2 00000000 CALLTRI2
00000000 l d CT16E800 00000000 CT16E800
00000000 l d CT16E900 00000000 CT16E900
00000000 l d CT16JEND 00000000 CT16JEND
00000000 l d CT16JUL2 00000000 CT16JUL2
00000000 l d CT16I287 00000000 CT16I287
00000000 l d CT16SUB1 00000000 CT16SUB1
00000000 l d CT16I087 00000000 CT16I087
00000000 l d CORETURN 00000000 CORETURN
00000000 *UND* 00000000 sp_limit
00000000 *UND* 00000000 bytes_to_copy
00000000 *UND* 00000000 copy_source
00000000 *UND* 00000000 copy_destination
00000000 *UND* 00000000 neg_e_len
00000000 *UND* 00000000 calltrick_calls
00000000 l d NRV2B160 0 NRV2B160
00000000 l d NRVDECO2 0 NRVDECO2
00000000 l d CALLTR16 0 CALLTR16
00000000 l d CALLTRI5 0 CALLTRI5
00000000 l d CALLTRI6 0 CALLTRI6
00000000 l d COMMAIN1 0 COMMAIN1
00000000 l d COMSBBBP 0 COMSBBBP
00000000 l d COMPSHDI 0 COMPSHDI
00000000 l d COMCALLT 0 COMCALLT
00000000 l d COMMAIN2 0 COMMAIN2
00000000 l d UPX1HEAD 0 UPX1HEAD
00000000 l d COMCUTPO 0 COMCUTPO
00000000 l d NRVDDONE 0 NRVDDONE
00000000 l d NRVDRETU 0 NRVDRETU
00000000 l d NRVDECO1 0 NRVDECO1
00000000 l d NRVLED00 0 NRVLED00
00000000 l d NRVGTD00 0 NRVGTD00
00000000 l d CT16I286 0 CT16I286
00000000 l d CT16SUB0 0 CT16SUB0
00000000 l d CT16I086 0 CT16I086
00000000 l d CALLTRI2 0 CALLTRI2
00000000 l d CT16E800 0 CT16E800
00000000 l d CT16E900 0 CT16E900
00000000 l d CT16JEND 0 CT16JEND
00000000 l d CT16JUL2 0 CT16JUL2
00000000 l d CT16I287 0 CT16I287
00000000 l d CT16SUB1 0 CT16SUB1
00000000 l d CT16I087 0 CT16I087
00000000 l d CORETURN 0 CORETURN
00000000 *UND* 0 sp_limit
00000000 *UND* 0 bytes_to_copy
00000000 *UND* 0 copy_source
00000000 *UND* 0 copy_destination
00000000 *UND* 0 neg_e_len
00000000 *UND* 0 calltrick_calls
RELOCATION RECORDS FOR [COMMAIN1]:
OFFSET TYPE VALUE