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
+36 -36
View File
@@ -2,43 +2,43 @@ file format elf64-littleaarch64
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 00000010 0000000000000000 0000000000000000 00000040 2**0 CONTENTS, RELOC, READONLY
1 NRV_HEAD 00000000 0000000000000000 0000000000000000 00000050 2**0 CONTENTS, READONLY
2 NRV_TAIL 00000000 0000000000000000 0000000000000000 00000050 2**0 CONTENTS, READONLY
3 NRV2E 0000017c 0000000000000000 0000000000000000 00000050 2**0 CONTENTS, READONLY
4 NRV2D 00000170 0000000000000000 0000000000000000 000001cc 2**0 CONTENTS, READONLY
5 NRV2B 00000144 0000000000000000 0000000000000000 0000033c 2**0 CONTENTS, READONLY
6 LZMA_ELF00 0000010c 0000000000000000 0000000000000000 00000480 2**0 CONTENTS, RELOC, READONLY
7 LZMA_DEC20 00000968 0000000000000000 0000000000000000 0000058c 2**0 CONTENTS, READONLY
8 LZMA_DEC10 0000049c 0000000000000000 0000000000000000 00000ef4 2**0 CONTENTS, READONLY
9 LZMA_DEC30 00000000 0000000000000000 0000000000000000 00001390 2**0 CONTENTS, READONLY
10 ELFMAINY 0000003e 0000000000000000 0000000000000000 00001390 2**0 CONTENTS, READONLY
11 ELFMAINZ 00000000 0000000000000000 0000000000000000 000013ce 2**0 CONTENTS, READONLY
12 ELFMAJNZ 00000024 0000000000000000 0000000000000000 000013ce 2**0 CONTENTS, READONLY
13 ANDMAJNZ 00000004 0000000000000000 0000000000000000 000013f2 2**0 CONTENTS, READONLY
14 ELFMAKNZ 000002a0 0000000000000000 0000000000000000 000013f6 2**0 CONTENTS, READONLY
0 ELFMAINX 010 0 0 040 2**0 CONTENTS
1 NRV_HEAD 0 0 0 050 2**0 CONTENTS
2 NRV_TAIL 0 0 0 050 2**0 CONTENTS
3 NRV2E 017c 0 0 050 2**0 CONTENTS
4 NRV2D 0170 0 0 01cc 2**0 CONTENTS
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
SYMBOL TABLE:
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
0000000000000000 l d ELFMAINZ 0000000000000000 ELFMAINZ
0000000000000000 l d ELFMAINX 0000000000000000 ELFMAINX
0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD
0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL
0000000000000000 l d NRV2E 0000000000000000 NRV2E
0000000000000000 l d NRV2D 0000000000000000 NRV2D
0000000000000000 l d NRV2B 0000000000000000 NRV2B
0000000000000000 l d LZMA_ELF00 0000000000000000 LZMA_ELF00
0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20
0000000000000000 l d LZMA_DEC10 0000000000000000 LZMA_DEC10
0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY
0000000000000000 l d ELFMAJNZ 0000000000000000 ELFMAJNZ
0000000000000000 l d ANDMAJNZ 0000000000000000 ANDMAJNZ
0000000000000000 l d ELFMAKNZ 0000000000000000 ELFMAKNZ
0000000000000000 g ELFMAINX 0000000000000000 _start
0000000000000000 g F NRV2E 000000000000017c ucl_nrv2e_decompress_32
0000000000000000 g F NRV2D 0000000000000170 ucl_nrv2d_decompress_32
0000000000000000 g F NRV2B 0000000000000144 ucl_nrv2b_decompress_32
0000000000000000 g LZMA_DEC10 0000000000000000 LzmaDecode
0000000000000000 g ELFMAINY 0000000000000000 end_decompress
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
0000000000000000 l d ELFMAINZ 0 ELFMAINZ
0000000000000000 l d ELFMAINX 0 ELFMAINX
0000000000000000 l d NRV_HEAD 0 NRV_HEAD
0000000000000000 l d NRV_TAIL 0 NRV_TAIL
0000000000000000 l d NRV2E 0 NRV2E
0000000000000000 l d NRV2D 0 NRV2D
0000000000000000 l d NRV2B 0 NRV2B
0000000000000000 l d LZMA_ELF00 0 LZMA_ELF00
0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20
0000000000000000 l d LZMA_DEC10 0 LZMA_DEC10
0000000000000000 l d ELFMAINY 0 ELFMAINY
0000000000000000 l d ELFMAJNZ 0 ELFMAJNZ
0000000000000000 l d ANDMAJNZ 0 ANDMAJNZ
0000000000000000 l d ELFMAKNZ 0 ELFMAKNZ
0000000000000000 g ELFMAINX 0 _start
0000000000000000 g F NRV2E 017c ucl_nrv2e_decompress_32
0000000000000000 g F NRV2D 0170 ucl_nrv2d_decompress_32
0000000000000000 g F NRV2B 0144 ucl_nrv2b_decompress_32
0000000000000000 g LZMA_DEC10 0 LzmaDecode
0000000000000000 g ELFMAINY 0 end_decompress
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE