ELF2 for arm64 main programs

modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   stub/Makefile
	modified:   stub/src/amd64-expand.S
	modified:   stub/src/amd64-linux.elf-entry.S
	modified:   stub/src/amd64-linux.elf-main2.c
	modified:   stub/src/arch/amd64/lzma_d.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
	modified:   stub/src/arch/arm64/v8/lzma_d.S
	modified:   stub/src/arch/arm64/v8/macros.S
	modified:   stub/src/arch/arm64/v8/nrv2b_d32.S
	modified:   stub/src/arch/arm64/v8/nrv2d_d32.S
	modified:   stub/src/arch/arm64/v8/nrv2e_d32.S
	modified:   stub/src/arm64-expand.S
	modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
           plus generated *.h *.map *.dump
This commit is contained in:
John Reiser
2024-06-25 18:58:00 -07:00
parent 6276a4a7c4
commit 5f6bdb0a8f
35 changed files with 3641 additions and 3529 deletions
+6 -3
View File
@@ -28,6 +28,9 @@ SYMBOL TABLE:
0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20
0000000000000000 l d NRV_TAIL 0 NRV_TAIL
0000000000000000 g MACHMAINX 0 _start
0000000000000000 *UND* 0 eof_n2e
0000000000000000 *UND* 0 eof_n2d
0000000000000000 *UND* 0 eof_n2b
0000000000000011 g MACHMAINY 0 end_decompress
RELOCATION RECORDS FOR [MACHMAINX]:
@@ -37,17 +40,17 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000021
000000000000005c R_X86_64_PC32 MACHMAINY+0xfffffffffffffffc
000000000000005c R_X86_64_PC32 eof_n2e+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000021
000000000000005c R_X86_64_PC32 MACHMAINY+0xfffffffffffffffc
000000000000005c R_X86_64_PC32 eof_n2d+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000021
0000000000000053 R_X86_64_PC32 MACHMAINY+0xfffffffffffffffc
0000000000000053 R_X86_64_PC32 eof_n2b+0xfffffffffffffffc
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
+6 -3
View File
@@ -32,6 +32,9 @@ SYMBOL TABLE:
0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20
0000000000000000 l d NRV_TAIL 0 NRV_TAIL
0000000000000000 g MACHMAINX 0 _start
0000000000000000 *UND* 0 eof_n2e
0000000000000000 *UND* 0 eof_n2d
0000000000000000 *UND* 0 eof_n2b
0000000000000011 g MACHMAINY 0 end_decompress
RELOCATION RECORDS FOR [MACHMAINX]:
@@ -41,17 +44,17 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000021
000000000000005c R_X86_64_PC32 MACHMAINY+0xfffffffffffffffc
000000000000005c R_X86_64_PC32 eof_n2e+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000021
000000000000005c R_X86_64_PC32 MACHMAINY+0xfffffffffffffffc
000000000000005c R_X86_64_PC32 eof_n2d+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000021
0000000000000053 R_X86_64_PC32 MACHMAINY+0xfffffffffffffffc
0000000000000053 R_X86_64_PC32 eof_n2b+0xfffffffffffffffc
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
+3 -3
View File
@@ -2,8 +2,8 @@ file format elf64-x86-64
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 016e 0 0 040 2**0 CONTENTS
1 ELFMAINZ 04 0 0 01b0 2**2 CONTENTS
0 ELFMAINX 0171 0 0 040 2**0 CONTENTS
1 ELFMAINZ 04 0 0 01b4 2**2 CONTENTS
SYMBOL TABLE:
0000000000000000 l d ELFMAINZ 0 ELFMAINZ
0000000000000000 l d ELFMAINX 0 ELFMAINX
@@ -12,7 +12,7 @@ SYMBOL TABLE:
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
0000000000000056 R_X86_64_PC32 ELFMAINZ+0xfffffffffffffffc
0000000000000059 R_X86_64_PC32 ELFMAINZ+0xfffffffffffffffc
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
+3 -3
View File
@@ -8,13 +8,13 @@ Linker script and memory map
0x000000000010004c . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000000000 0x8f1
.text 0x0000000000000000 0x8f7
.text 0x0000000000000000 0x160 tmp/amd64-linux.elf-fold.o
0x0000000000000158 get_page_mask
.text 0x0000000000000160 0x0 tmp/amd64-expand.o
.text 0x0000000000000160 0x791 tmp/amd64-linux.elf-main2.o
.text 0x0000000000000160 0x797 tmp/amd64-linux.elf-main2.o
0x00000000000002b5 underlay
0x00000000000007bc upx_main
0x00000000000007c2 upx_main
EXP_HEAD 0x0000000000000000 0xe1
EXP_HEAD 0x0000000000000000 0xe1 tmp/amd64-expand.o
+6 -3
View File
@@ -28,6 +28,9 @@ SYMBOL TABLE:
0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20
0000000000000000 l d NRV_TAIL 0 NRV_TAIL
0000000000000000 g ELFMAINX 0 _start
0000000000000000 *UND* 0 eof_n2e
0000000000000000 *UND* 0 eof_n2d
0000000000000000 *UND* 0 eof_n2b
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
@@ -36,17 +39,17 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000021
000000000000005c R_X86_64_PC32 ELFMAINY+0xfffffffffffffffc
000000000000005c R_X86_64_PC32 eof_n2e+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000021
000000000000005c R_X86_64_PC32 ELFMAINY+0xfffffffffffffffc
000000000000005c R_X86_64_PC32 eof_n2d+0xfffffffffffffffc
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000021
0000000000000053 R_X86_64_PC32 ELFMAINY+0xfffffffffffffffc
0000000000000053 R_X86_64_PC32 eof_n2b+0xfffffffffffffffc
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
+5 -4
View File
@@ -2,16 +2,16 @@ file format elf64-littleaarch64
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 0250 0 0 040 2**0 CONTENTS
1 ELFMAINY 0 0 0 0290 2**0 CONTENTS
2 ELFMAINZ 01c 0 0 0290 2**2 CONTENTS
0 ELFMAINX 01e8 0 0 040 2**0 CONTENTS
1 ELFMAINY 0 0 0 0228 2**0 CONTENTS
2 ELFMAINZ 01c 0 0 0228 2**2 CONTENTS
SYMBOL TABLE:
0000000000000000 l d ELFMAINZ 0 ELFMAINZ
0000000000000000 l d ELFMAINX 0 ELFMAINX
0000000000000000 l d ELFMAINY 0 ELFMAINY
0000000000000000 *UND* 0 MFLG
0000000000000004 g ELFMAINX 0 _start
000000000000010c g F ELFMAINX 0144 ucl_nrv2b_decompress_32
000000000000010c g F ELFMAINX 0dc ucl_nrv2b_decompress_32
0000000000000000 g ELFMAINY 0 end_decompress
0000000000000000 *UND* 0 O_BINFO
@@ -19,6 +19,7 @@ RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
0000000000000000 R_AARCH64_ABS32 MFLG
000000000000003c R_AARCH64_CALL26 ELFMAINZ+0x0000000000000004
0000000000000048 R_AARCH64_ADR_PREL_LO21 ELFMAINZ
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
+16 -16
View File
@@ -12,17 +12,17 @@ LOAD tmp/arm64-expand.o
LOAD tmp/arm64-linux.elf-main2.o
OUTPUT(tmp/arm64-linux.elf-fold.bin elf64-littleaarch64)
.text 0x0000000000000000 0xaa8
.text 0x0000000000000000 0x250 tmp/arm64-linux.elf-fold.o
.text 0x0000000000000000 0xa98
.text 0x0000000000000000 0x240 tmp/arm64-linux.elf-fold.o
0x0000000000000008 get_page_mask
0x0000000000000018 mmap_privanon
0x0000000000000028 mmap
0x0000000000000044 Pprotect
0x0000000000000044 mprotect
.text 0x0000000000000250 0x0 tmp/arm64-expand.o
.text 0x0000000000000250 0x858 tmp/arm64-linux.elf-main2.o
0x0000000000000904 underlay
0x0000000000000970 upx_main
.text 0x0000000000000240 0x0 tmp/arm64-expand.o
.text 0x0000000000000240 0x858 tmp/arm64-linux.elf-main2.o
0x00000000000008f4 underlay
0x0000000000000960 upx_main
.data 0x0000000000000000 0x0
.data 0x0000000000000000 0x0 tmp/arm64-linux.elf-fold.o
@@ -57,24 +57,24 @@ EXP_HEAD 0x0000000000000000 0x104
EXP_HEAD 0x0000000000000000 0x104 tmp/arm64-expand.o
0x0000000000000000 f_expand
EXP_TAIL 0x0000000000000000 0x20
EXP_TAIL 0x0000000000000000 0x20 tmp/arm64-expand.o
EXP_TAIL 0x0000000000000000 0xa8
EXP_TAIL 0x0000000000000000 0xa8 tmp/arm64-expand.o
0x0000000000000000 eof
NRV2E 0x0000000000000000 0x17c
NRV2E 0x0000000000000000 0x17c tmp/arm64-expand.o
NRV2E 0x0000000000000000 0xf4
NRV2E 0x0000000000000000 0xf4 tmp/arm64-expand.o
0x0000000000000000 ucl_nrv2e_decompress_32
NRV2D 0x0000000000000000 0x170
NRV2D 0x0000000000000000 0x170 tmp/arm64-expand.o
NRV2D 0x0000000000000000 0xe8
NRV2D 0x0000000000000000 0xe8 tmp/arm64-expand.o
0x0000000000000000 ucl_nrv2d_decompress_32
NRV2B 0x0000000000000000 0x144
NRV2B 0x0000000000000000 0x144 tmp/arm64-expand.o
NRV2B 0x0000000000000000 0xbc
NRV2B 0x0000000000000000 0xbc tmp/arm64-expand.o
0x0000000000000000 ucl_nrv2b_decompress_32
LZMA_ELF00 0x0000000000000000 0x10c
LZMA_ELF00 0x0000000000000000 0x10c tmp/arm64-expand.o
LZMA_ELF00 0x0000000000000000 0x84
LZMA_ELF00 0x0000000000000000 0x84 tmp/arm64-expand.o
LZMA_DEC20 0x0000000000000000 0x968
LZMA_DEC20 0x0000000000000000 0x968 tmp/arm64-expand.o
+30 -15
View File
@@ -5,18 +5,18 @@ Idx Name Size VMA LMA File off Algn
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 04a0 0 0 0ef4 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 01394 2**0 CONTENTS
10 ELFMAINY 03e 0 0 01394 2**0 CONTENTS
11 ELFMAINZ 0 0 0 013d2 2**0 CONTENTS
12 ELFMAJNZ 024 0 0 013d2 2**0 CONTENTS
13 ANDMAJNZ 04 0 0 013f6 2**0 CONTENTS
14 ELFMAKNZ 02a0 0 0 013fa 2**0 CONTENTS
3 NRV2E 0ec 0 0 050 2**0 CONTENTS
4 NRV2D 0e0 0 0 013c 2**0 CONTENTS
5 NRV2B 0b4 0 0 021c 2**0 CONTENTS
6 LZMA_ELF00 084 0 0 02d0 2**0 CONTENTS
7 LZMA_DEC20 0968 0 0 0354 2**0 CONTENTS
8 LZMA_DEC10 04a0 0 0 0cbc 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 0115c 2**0 CONTENTS
10 ELFMAINY 03e 0 0 0115c 2**0 CONTENTS
11 ELFMAINZ 0 0 0 0119a 2**0 CONTENTS
12 ELFMAJNZ 024 0 0 0119a 2**0 CONTENTS
13 ANDMAJNZ 04 0 0 011be 2**0 CONTENTS
14 ELFMAKNZ 02a0 0 0 011c2 2**0 CONTENTS
SYMBOL TABLE:
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
0000000000000000 l d ELFMAINZ 0 ELFMAINZ
@@ -34,9 +34,12 @@ SYMBOL TABLE:
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 F NRV2E 0ec ucl_nrv2e_decompress_32
0000000000000000 *UND* 0 eof_n2e
0000000000000000 g F NRV2D 0e0 ucl_nrv2d_decompress_32
0000000000000000 *UND* 0 eof_n2d
0000000000000000 g F NRV2B 0b4 ucl_nrv2b_decompress_32
0000000000000000 *UND* 0 eof_n2b
0000000000000000 g LZMA_DEC10 0 LzmaDecode
0000000000000000 g ELFMAINY 0 end_decompress
@@ -44,6 +47,18 @@ RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
000000000000000c R_AARCH64_CALL26 ELFMAINZ
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
000000000000007c R_AARCH64_CONDBR19 eof_n2e
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
000000000000007c R_AARCH64_CONDBR19 eof_n2d
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
0000000000000078 R_AARCH64_CONDBR19 eof_n2b
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
0000000000000004 R_AARCH64_CONDBR19 LZMA_DEC30