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
+30 -30
View File
@@ -2,37 +2,37 @@ file format elf64-x86-64
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 AMD64BXX 0000004c 0000000000000000 0000000000000000 00000040 2**0 CONTENTS, READONLY
1 MACHMAINX 00000005 0000000000000000 0000000000000000 0000008c 2**0 CONTENTS, RELOC, READONLY
2 MACH_UNC 00000008 0000000000000000 0000000000000000 00000091 2**0 CONTENTS, READONLY
3 NRV_HEAD 00000067 0000000000000000 0000000000000000 00000099 2**0 CONTENTS, READONLY
4 NRV2E 000000ba 0000000000000000 0000000000000000 00000100 2**0 CONTENTS, RELOC, READONLY
5 NRV2D 000000a1 0000000000000000 0000000000000000 000001ba 2**0 CONTENTS, RELOC, READONLY
6 NRV2B 00000093 0000000000000000 0000000000000000 0000025b 2**0 CONTENTS, RELOC, READONLY
7 LZMA_ELF00 00000064 0000000000000000 0000000000000000 000002ee 2**0 CONTENTS, RELOC, READONLY
8 LZMA_DEC10 000009f7 0000000000000000 0000000000000000 00000352 2**0 CONTENTS, READONLY
9 LZMA_DEC20 000009f7 0000000000000000 0000000000000000 00000d49 2**0 CONTENTS, READONLY
10 LZMA_DEC30 00000018 0000000000000000 0000000000000000 00001740 2**0 CONTENTS, READONLY
11 NRV_TAIL 00000000 0000000000000000 0000000000000000 00001758 2**0 CONTENTS, READONLY
12 MACHMAINY 00000011 0000000000000000 0000000000000000 00001758 2**0 CONTENTS, READONLY
13 MACHMAINZ 00000135 0000000000000000 0000000000000000 00001769 2**0 CONTENTS, RELOC, READONLY
0 AMD64BXX 04c 0 0 040 2**0 CONTENTS
1 MACHMAINX 05 0 0 08c 2**0 CONTENTS
2 MACH_UNC 08 0 0 091 2**0 CONTENTS
3 NRV_HEAD 067 0 0 099 2**0 CONTENTS
4 NRV2E 0ba 0 0 0100 2**0 CONTENTS
5 NRV2D 0a1 0 0 01ba 2**0 CONTENTS
6 NRV2B 093 0 0 025b 2**0 CONTENTS
7 LZMA_ELF00 064 0 0 02ee 2**0 CONTENTS
8 LZMA_DEC10 09f7 0 0 0352 2**0 CONTENTS
9 LZMA_DEC20 09f7 0 0 0d49 2**0 CONTENTS
10 LZMA_DEC30 018 0 0 01740 2**0 CONTENTS
11 NRV_TAIL 0 0 0 01758 2**0 CONTENTS
12 MACHMAINY 011 0 0 01758 2**0 CONTENTS
13 MACHMAINZ 0135 0 0 01769 2**0 CONTENTS
SYMBOL TABLE:
0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
0000000000000000 l d MACHMAINY 0000000000000000 MACHMAINY
0000000000000000 l d MACHMAINZ 0000000000000000 MACHMAINZ
0000000000000000 l d AMD64BXX 0000000000000000 AMD64BXX
0000000000000000 l d MACHMAINX 0000000000000000 MACHMAINX
0000000000000000 l d MACH_UNC 0000000000000000 MACH_UNC
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_DEC10 0000000000000000 LZMA_DEC10
0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20
0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL
0000000000000000 g MACHMAINX 0000000000000000 _start
0000000000000011 g MACHMAINY 0000000000000000 end_decompress
0000000000000000 l d NRV_HEAD 0 NRV_HEAD
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
0000000000000000 l d MACHMAINY 0 MACHMAINY
0000000000000000 l d MACHMAINZ 0 MACHMAINZ
0000000000000000 l d AMD64BXX 0 AMD64BXX
0000000000000000 l d MACHMAINX 0 MACHMAINX
0000000000000000 l d MACH_UNC 0 MACH_UNC
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_DEC10 0 LZMA_DEC10
0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20
0000000000000000 l d NRV_TAIL 0 NRV_TAIL
0000000000000000 g MACHMAINX 0 _start
0000000000000011 g MACHMAINY 0 end_decompress
RELOCATION RECORDS FOR [MACHMAINX]:
OFFSET TYPE VALUE