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
+28 -28
View File
@@ -2,35 +2,35 @@ file format elf32-bigmips
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 000000c4 00000000 00000000 00000034 2**0 CONTENTS, RELOC, READONLY
1 NRV2E 00000154 00000000 00000000 000000f8 2**0 CONTENTS, RELOC, READONLY
2 NRV2D 00000144 00000000 00000000 0000024c 2**0 CONTENTS, RELOC, READONLY
3 NRV2B 00000128 00000000 00000000 00000390 2**0 CONTENTS, RELOC, READONLY
4 LZMA_ELF00 0000009c 00000000 00000000 000004b8 2**0 CONTENTS, READONLY
5 LZMA_DEC20 00000ad8 00000000 00000000 00000554 2**0 CONTENTS, READONLY
6 LZMA_DEC10 00000ad8 00000000 00000000 0000102c 2**0 CONTENTS, READONLY
7 LZMA_DEC30 00000004 00000000 00000000 00001b04 2**0 CONTENTS, READONLY
8 NRV_HEAD 00000010 00000000 00000000 00001b08 2**0 CONTENTS, READONLY
9 NRV_TAIL 00000010 00000000 00000000 00001b18 2**0 CONTENTS, READONLY
10 CFLUSH 00000024 00000000 00000000 00001b28 2**0 CONTENTS, READONLY
11 ELFMAINY 00000000 00000000 00000000 00001b4c 2**0 CONTENTS, READONLY
12 ELFMAINZ 000002f0 00000000 00000000 00001b4c 2**0 CONTENTS, READONLY
0 ELFMAINX 0c4 0 0 034 2**0 CONTENTS
1 NRV2E 0154 0 0 0f8 2**0 CONTENTS
2 NRV2D 0144 0 0 024c 2**0 CONTENTS
3 NRV2B 0128 0 0 0390 2**0 CONTENTS
4 LZMA_ELF00 09c 0 0 04b8 2**0 CONTENTS
5 LZMA_DEC20 0ad8 0 0 0554 2**0 CONTENTS
6 LZMA_DEC10 0ad8 0 0 0102c 2**0 CONTENTS
7 LZMA_DEC30 04 0 0 01b04 2**0 CONTENTS
8 NRV_HEAD 010 0 0 01b08 2**0 CONTENTS
9 NRV_TAIL 010 0 0 01b18 2**0 CONTENTS
10 CFLUSH 024 0 0 01b28 2**0 CONTENTS
11 ELFMAINY 0 0 0 01b4c 2**0 CONTENTS
12 ELFMAINZ 02f0 0 0 01b4c 2**0 CONTENTS
SYMBOL TABLE:
00000000 l d NRV_TAIL 00000000 NRV_TAIL
00000000 l d ELFMAINZ 00000000 ELFMAINZ
00000000 l d ELFMAINX 00000000 ELFMAINX
00000000 l d NRV2E 00000000 NRV2E
00000000 l d NRV2D 00000000 NRV2D
00000000 l d NRV2B 00000000 NRV2B
00000000 l d LZMA_ELF00 00000000 LZMA_ELF00
00000000 l d LZMA_DEC20 00000000 LZMA_DEC20
00000000 l d LZMA_DEC10 00000000 LZMA_DEC10
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
00000000 l d NRV_HEAD 00000000 NRV_HEAD
00000000 l d CFLUSH 00000000 CFLUSH
00000000 l d ELFMAINY 00000000 ELFMAINY
00000000 g O ELFMAINX 00000000 _start
00000000 g O ELFMAINY 00000000 end_decompress
00000000 l d NRV_TAIL 0 NRV_TAIL
00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d NRV2E 0 NRV2E
00000000 l d NRV2D 0 NRV2D
00000000 l d NRV2B 0 NRV2B
00000000 l d LZMA_ELF00 0 LZMA_ELF00
00000000 l d LZMA_DEC20 0 LZMA_DEC20
00000000 l d LZMA_DEC10 0 LZMA_DEC10
00000000 l d LZMA_DEC30 0 LZMA_DEC30
00000000 l d NRV_HEAD 0 NRV_HEAD
00000000 l d CFLUSH 0 CFLUSH
00000000 l d ELFMAINY 0 ELFMAINY
00000000 g O ELFMAINX 0 _start
00000000 g O ELFMAINY 0 end_decompress
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE