ELF2 for arm32

modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   p_lx_elf.cpp
	modified:   stub/Makefile
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	new file:   stub/src/arm.v4a-linux.elf-entry.lds
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/arm.v4a-linux.elf-fold.lds
	new file:   stub/src/arm.v4a-linux.elf-main2.c
	new file:   stub/src/arm.v4a-linux.elf-so_entry.lds
	new file:   stub/src/arm.v5a-linux.elf-entry.lds
	new file:   stub/src/arm.v5a-linux.elf-fold.lds
	new file:   stub/src/arm.v5a-linux.elf-main2.c
	new file:   stub/src/arm.v5a-linux.elf-so_entry.lds
	new file:   stub/src/armeb.v4a-expand.S
	new file:   stub/src/armeb.v4a-linux.elf-entry.lds
	modified:   stub/src/armeb.v4a-linux.elf-fold.lds
	new file:   stub/src/armeb.v4a-linux.elf-main2.c
	new file:   stub/src/armeb.v4a-linux.elf-so_main2.c
	modified:   stub/src/i386-linux.elf-main2.c
           plus generated *.h *.map *.dump
This commit is contained in:
John Reiser
2024-07-08 11:42:48 -07:00
parent f7cab0cf71
commit 66dc1d90d8
35 changed files with 11120 additions and 6475 deletions
+124 -245
View File
@@ -2,258 +2,137 @@ file format elf32-littlearm
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 010 0 0 034 2**0 CONTENTS
1 NRV_HEAD 0 0 0 044 2**0 CONTENTS
2 NRV_TAIL 0 0 0 044 2**0 CONTENTS
3 NRV2E 0144 0 0 044 2**0 CONTENTS
4 NRV2D 0130 0 0 0188 2**0 CONTENTS
5 NRV2B 0f4 0 0 02b8 2**0 CONTENTS
6 LZMA_ELF00 0c4 0 0 03ac 2**0 CONTENTS
7 LZMA_DEC20 0938 0 0 0470 2**0 CONTENTS
8 LZMA_DEC10 0478 0 0 0da8 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 01220 2**0 CONTENTS
10 ELFMAINY 0 0 0 01220 2**0 CONTENTS
11 ELFMAINZ 0108 0 0 01220 2**0 CONTENTS
0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 01d4 0 0 034 2**0 CONTENTS
2 ELFMAINX 064c 0 0 0208 2**2 CONTENTS
SYMBOL TABLE:
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 ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d NRV_HEAD 0 NRV_HEAD
00000000 l d NRV_TAIL 0 NRV_TAIL
00000000 l d LZMA_DEC30 0 LZMA_DEC30
00000000 l d ELFMAINY 0 ELFMAINY
00000000 *UND* 0 MFLG
00000004 g ELFMAINX 0 _start
00000000 g F NRV2E 0144 ucl_nrv2e_decompress_8
00000000 g F NRV2D 0130 ucl_nrv2d_decompress_8
00000000 g F NRV2B 0f4 ucl_nrv2b_decompress_8
00000000 g LZMA_DEC10 0 LzmaDecode
00000000 g ELFMAINY 0 end_decompress
000000d8 g ELFMAINZ 0 getpid
00000498 g F ELFMAINX 01b4 upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO
00000108 g ELFMAINZ 0 cpr0
0000004c g ELFMAINZ 0 mempcpy
000000c4 g ELFMAINZ 0 ftruncate
000000ec g ELFMAINZ 0 lseek
0000018c g ELFMAINZ 0 mmap
00000150 g ELFMAINZ 0 uname
00000000 g ELFMAINY 0 end_decompress
00000178 g ELFMAINZ 0 write
0000009c g ELFMAINZ 0 fdatasync
00000000 g ELFMAINZ 0 get_upxfn_path
00000068 g ELFMAINZ 0 memfd_create
00000004 g ELFMAINX 0 _start
00000128 g ELFMAINZ 0 read
00000164 g ELFMAINZ 0 unlink
0000002c g ELFMAINZ 0 memset
00000168 g F ELFMAINX 0f4 ucl_nrv2b_decompress_8
000000b0 g ELFMAINZ 0 fsync
0000013c g ELFMAINZ 0 stat
000001d4 g ELFMAINZ 0 cpr0
00000114 g ELFMAINZ 0 open
00000100 g ELFMAINZ 0 mkdir
00000088 g ELFMAINZ 0 close
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
0000000c R_ARM_PC24 ELFMAINZ
00000020 R_ARM_PC24 ELFMAINZ
00000030 R_ARM_PC24 ELFMAINZ
00000040 R_ARM_PC24 ELFMAINZ
00000050 R_ARM_PC24 ELFMAINZ
00000060 R_ARM_PC24 ELFMAINZ
000001d0 R_ARM_ABS32 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
00000000 R_ARM_ABS32 MFLG
0000000c R_ARM_PC24 ELFMAINZ
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2E
00000074 R_ARM_PC24 NRV2E
00000078 R_ARM_PC24 NRV2E
00000080 R_ARM_PC24 NRV2E
0000008c R_ARM_PC24 NRV2E
00000098 R_ARM_PC24 NRV2E
000000a4 R_ARM_PC24 NRV2E
000000a8 R_ARM_PC24 NRV2E
000000b4 R_ARM_PC24 NRV2E
000000c4 R_ARM_PC24 NRV2E
000000cc R_ARM_PC24 NRV2E
000000d0 R_ARM_PC24 NRV2E
000000d8 R_ARM_PC24 NRV2E
000000dc R_ARM_PC24 NRV2E
000000e8 R_ARM_PC24 NRV2E
000000ec R_ARM_PC24 NRV2E
000000f4 R_ARM_PC24 NRV2E
00000100 R_ARM_PC24 NRV2E
00000104 R_ARM_PC24 NRV2E
0000010c R_ARM_PC24 NRV2E
00000114 R_ARM_PC24 NRV2E
0000013c R_ARM_PC24 NRV2E
00000140 R_ARM_PC24 NRV2E
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2D
00000074 R_ARM_PC24 NRV2D
00000078 R_ARM_PC24 NRV2D
00000080 R_ARM_PC24 NRV2D
0000008c R_ARM_PC24 NRV2D
00000098 R_ARM_PC24 NRV2D
000000a4 R_ARM_PC24 NRV2D
000000a8 R_ARM_PC24 NRV2D
000000b4 R_ARM_PC24 NRV2D
000000c4 R_ARM_PC24 NRV2D
000000cc R_ARM_PC24 NRV2D
000000d4 R_ARM_PC24 NRV2D
000000e0 R_ARM_PC24 NRV2D
000000e8 R_ARM_PC24 NRV2D
000000f4 R_ARM_PC24 NRV2D
00000100 R_ARM_PC24 NRV2D
00000104 R_ARM_PC24 NRV2D
00000128 R_ARM_PC24 NRV2D
0000012c R_ARM_PC24 NRV2D
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2B
00000078 R_ARM_PC24 NRV2B
00000080 R_ARM_PC24 NRV2B
00000084 R_ARM_PC24 NRV2B
00000094 R_ARM_PC24 NRV2B
00000098 R_ARM_PC24 NRV2B
0000009c R_ARM_PC24 NRV2B
000000a8 R_ARM_PC24 NRV2B
000000b8 R_ARM_PC24 NRV2B
000000bc R_ARM_PC24 NRV2B
000000c4 R_ARM_PC24 NRV2B
000000cc R_ARM_PC24 NRV2B
000000d0 R_ARM_PC24 NRV2B
000000ec R_ARM_PC24 NRV2B
000000f0 R_ARM_PC24 NRV2B
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
00000008 R_ARM_PC24 LZMA_ELF00
0000004c R_ARM_PC24 LZMA_ELF00
00000080 R_ARM_PC24 LZMA_ELF00
000000c0 R_ARM_PC24 LZMA_ELF00
RELOCATION RECORDS FOR [LZMA_DEC20]:
OFFSET TYPE VALUE
00000074 R_ARM_PC24 LZMA_DEC20
00000090 R_ARM_PC24 LZMA_DEC20
000000b8 R_ARM_PC24 LZMA_DEC20
000000cc R_ARM_PC24 LZMA_DEC20
000000f4 R_ARM_PC24 LZMA_DEC20
00000100 R_ARM_PC24 LZMA_DEC20
00000108 R_ARM_PC24 LZMA_DEC20
00000144 R_ARM_PC24 LZMA_DEC20
00000190 R_ARM_PC24 LZMA_DEC20
000001cc R_ARM_PC24 LZMA_DEC20
000001d8 R_ARM_PC24 LZMA_DEC20
00000204 R_ARM_PC24 LZMA_DEC20
00000218 R_ARM_PC24 LZMA_DEC20
00000220 R_ARM_PC24 LZMA_DEC20
00000234 R_ARM_PC24 LZMA_DEC20
0000023c R_ARM_PC24 LZMA_DEC20
00000240 R_ARM_PC24 LZMA_DEC20
0000024c R_ARM_PC24 LZMA_DEC20
00000258 R_ARM_PC24 LZMA_DEC20
000002a4 R_ARM_PC24 LZMA_DEC20
000002c8 R_ARM_PC24 LZMA_DEC20
000002e8 R_ARM_PC24 LZMA_DEC20
00000304 R_ARM_PC24 LZMA_DEC20
0000030c R_ARM_PC24 LZMA_DEC20
0000033c R_ARM_PC24 LZMA_DEC20
00000388 R_ARM_PC24 LZMA_DEC20
000003a0 R_ARM_PC24 LZMA_DEC20
000003a8 R_ARM_PC24 LZMA_DEC20
000003cc R_ARM_PC24 LZMA_DEC20
000003e0 R_ARM_PC24 LZMA_DEC20
000003e8 R_ARM_PC24 LZMA_DEC20
00000424 R_ARM_PC24 LZMA_DEC20
00000438 R_ARM_PC24 LZMA_DEC20
0000046c R_ARM_PC24 LZMA_DEC20
00000484 R_ARM_PC24 LZMA_DEC20
0000048c R_ARM_PC24 LZMA_DEC20
000004b0 R_ARM_PC24 LZMA_DEC20
000004d4 R_ARM_PC24 LZMA_DEC20
000004ec R_ARM_PC24 LZMA_DEC20
000004f4 R_ARM_PC24 LZMA_DEC20
00000518 R_ARM_PC24 LZMA_DEC20
0000053c R_ARM_PC24 LZMA_DEC20
00000598 R_ARM_PC24 LZMA_DEC20
000005a0 R_ARM_PC24 LZMA_DEC20
000005c0 R_ARM_PC24 LZMA_DEC20
000005e4 R_ARM_PC24 LZMA_DEC20
000005fc R_ARM_PC24 LZMA_DEC20
00000604 R_ARM_PC24 LZMA_DEC20
00000624 R_ARM_PC24 LZMA_DEC20
00000648 R_ARM_PC24 LZMA_DEC20
00000680 R_ARM_PC24 LZMA_DEC20
0000068c R_ARM_PC24 LZMA_DEC20
000006d0 R_ARM_PC24 LZMA_DEC20
000006ec R_ARM_PC24 LZMA_DEC20
0000071c R_ARM_PC24 LZMA_DEC20
00000728 R_ARM_PC24 LZMA_DEC20
0000076c R_ARM_PC24 LZMA_DEC20
0000077c R_ARM_PC24 LZMA_DEC20
0000079c R_ARM_PC24 LZMA_DEC20
000007b8 R_ARM_PC24 LZMA_DEC20
000007c4 R_ARM_PC24 LZMA_DEC20
000007d0 R_ARM_PC24 LZMA_DEC20
000007f4 R_ARM_PC24 LZMA_DEC20
00000820 R_ARM_PC24 LZMA_DEC20
0000082c R_ARM_PC24 LZMA_DEC20
0000087c R_ARM_PC24 LZMA_DEC20
00000888 R_ARM_PC24 LZMA_DEC20
000008a0 R_ARM_PC24 LZMA_DEC20
000008e8 R_ARM_PC24 LZMA_DEC20
000008f4 R_ARM_PC24 LZMA_DEC20
000008fc R_ARM_PC24 LZMA_DEC20
00000904 R_ARM_PC24 LZMA_DEC20
00000928 R_ARM_PC24 LZMA_DEC20
RELOCATION RECORDS FOR [LZMA_DEC10]:
OFFSET TYPE VALUE
00000078 R_ARM_PC24 LZMA_DEC10
00000080 R_ARM_PC24 LZMA_DEC10
00000088 R_ARM_PC24 LZMA_DEC10
000000a8 R_ARM_PC24 LZMA_DEC10
000000ac R_ARM_PC24 LZMA_DEC10
000000e4 R_ARM_PC24 LZMA_DEC10
00000100 R_ARM_PC24 LZMA_DEC10
0000010c R_ARM_PC24 LZMA_DEC10
00000114 R_ARM_PC24 LZMA_DEC10
00000118 R_ARM_PC24 LZMA_DEC10
00000120 R_ARM_PC24 LZMA_DEC10
00000128 R_ARM_PC24 LZMA_DEC10
00000144 R_ARM_PC24 LZMA_DEC10
0000014c R_ARM_PC24 LZMA_DEC10
00000150 R_ARM_PC24 LZMA_DEC10
00000180 R_ARM_PC24 LZMA_DEC10
00000188 R_ARM_PC24 LZMA_DEC10
0000018c R_ARM_PC24 LZMA_DEC10
0000019c R_ARM_PC24 LZMA_DEC10
000001a0 R_ARM_PC24 LZMA_DEC10
000001c0 R_ARM_PC24 LZMA_DEC10
000001cc R_ARM_PC24 LZMA_DEC10
000001d4 R_ARM_PC24 LZMA_DEC10
000001dc R_ARM_PC24 LZMA_DEC10
000001e4 R_ARM_PC24 LZMA_DEC10
000001ec R_ARM_PC24 LZMA_DEC10
00000228 R_ARM_PC24 LZMA_DEC10
0000022c R_ARM_PC24 LZMA_DEC10
00000244 R_ARM_PC24 LZMA_DEC10
0000024c R_ARM_PC24 LZMA_DEC10
00000250 R_ARM_PC24 LZMA_DEC10
00000268 R_ARM_PC24 LZMA_DEC10
00000284 R_ARM_PC24 LZMA_DEC10
0000028c R_ARM_PC24 LZMA_DEC10
000002a4 R_ARM_PC24 LZMA_DEC10
000002c8 R_ARM_PC24 LZMA_DEC10
000002d0 R_ARM_PC24 LZMA_DEC10
000002dc R_ARM_PC24 LZMA_DEC10
000002f4 R_ARM_PC24 LZMA_DEC10
0000030c R_ARM_PC24 LZMA_DEC10
00000314 R_ARM_PC24 LZMA_DEC10
0000032c R_ARM_PC24 LZMA_DEC10
00000350 R_ARM_PC24 LZMA_DEC10
00000358 R_ARM_PC24 LZMA_DEC10
00000370 R_ARM_PC24 LZMA_DEC10
00000378 R_ARM_PC24 LZMA_DEC10
0000039c R_ARM_PC24 LZMA_DEC10
000003b0 R_ARM_PC24 LZMA_DEC10
000003b8 R_ARM_PC24 LZMA_DEC10
000003c8 R_ARM_PC24 LZMA_DEC10
000003cc R_ARM_PC24 LZMA_DEC10
00000400 R_ARM_PC24 LZMA_DEC10
00000418 R_ARM_PC24 LZMA_DEC10
00000440 R_ARM_PC24 LZMA_DEC10
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
000000a0 R_ARM_PC24 ELFMAINZ
000000d0 R_ARM_PC24 ELFMAINZ
000000d4 R_ARM_PC24 ELFMAINZ
000000e4 R_ARM_PC24 ELFMAINZ
000000ec R_ARM_PC24 ELFMAINZ
00000100 R_ARM_PC24 ELFMAINZ
00000104 R_ARM_ABS32 O_BINFO
00000010 R_ARM_PC24 ELFMAINX
00000014 R_ARM_PC24 ELFMAINX
00000020 R_ARM_PC24 ELFMAINX
00000028 R_ARM_PC24 ELFMAINX
00000058 R_ARM_PC24 ELFMAINZ
00000090 R_ARM_PC24 ELFMAINX
000000a0 R_ARM_PC24 upx_mmap_and_fd
000000cc R_ARM_PC24 ELFMAINX
00000108 R_ARM_PC24 ELFMAINX
00000160 R_ARM_PC24 ELFMAINX
00000178 R_ARM_PC24 ELFMAINX
000001e0 R_ARM_PC24 ELFMAINX
000001e8 R_ARM_PC24 ELFMAINX
000001ec R_ARM_PC24 ELFMAINX
000001fc R_ARM_PC24 ELFMAINX
00000200 R_ARM_PC24 ELFMAINX
00000204 R_ARM_PC24 ELFMAINX
00000210 R_ARM_PC24 ELFMAINX
00000220 R_ARM_PC24 ELFMAINX
00000224 R_ARM_PC24 ELFMAINX
0000022c R_ARM_PC24 ELFMAINX
00000234 R_ARM_PC24 ELFMAINX
00000238 R_ARM_PC24 ELFMAINX
00000254 R_ARM_PC24 ELFMAINX
00000258 R_ARM_PC24 ELFMAINX
00000268 R_ARM_PC24 ELFMAINX
00000284 R_ARM_PC24 ELFMAINX
0000029c R_ARM_PC24 ELFMAINX
000002b0 R_ARM_PC24 ELFMAINX
000002dc R_ARM_PC24 memset
000002e8 R_ARM_PC24 stat
000002f0 R_ARM_PC24 ELFMAINX
00000304 R_ARM_PC24 ELFMAINX
0000030c R_ARM_PC24 ELFMAINX
00000318 R_ARM_PC24 mkdir
00000330 R_ARM_PC24 ELFMAINX
00000348 R_ARM_PC24 mempcpy
00000358 R_ARM_PC24 ELFMAINX
0000035c R_ARM_PC24 ELFMAINX
00000380 R_ARM_PC24 open
00000390 R_ARM_PC24 read
0000039c R_ARM_PC24 close
000003c0 R_ARM_PC24 ELFMAINX
000003d0 R_ARM_PC24 ELFMAINX
000003d8 R_ARM_PC24 ELFMAINX
000003e4 R_ARM_PC24 ELFMAINX
000003f4 R_ARM_PC24 mempcpy
00000408 R_ARM_PC24 ELFMAINX
0000040c R_ARM_PC24 ELFMAINX
00000424 R_ARM_PC24 mempcpy
00000434 R_ARM_PC24 ELFMAINX
00000438 R_ARM_PC24 ELFMAINX
00000450 R_ARM_PC24 mempcpy
00000458 R_ARM_PC24 getpid
00000460 R_ARM_PC24 ELFMAINX
0000046c R_ARM_PC24 ELFMAINX
00000478 R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 ELFMAINX
000004b4 R_ARM_PC24 ELFMAINX
000004c4 R_ARM_PC24 memfd_create
000004e4 R_ARM_PC24 uname
000004e8 R_ARM_PC24 ELFMAINX
00000500 R_ARM_PC24 ELFMAINX
00000518 R_ARM_PC24 ELFMAINX
0000051c R_ARM_PC24 get_upxfn_path
00000534 R_ARM_PC24 ELFMAINX
0000053c R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 ELFMAINX
00000554 R_ARM_PC24 ELFMAINX
0000055c R_ARM_PC24 ELFMAINX
0000056c R_ARM_PC24 open
00000578 R_ARM_PC24 ELFMAINX
00000580 R_ARM_PC24 unlink
00000588 R_ARM_PC24 ELFMAINX
00000590 R_ARM_PC24 ELFMAINX
0000059c R_ARM_PC24 ftruncate
000005a4 R_ARM_PC24 ELFMAINX
000005a8 R_ARM_PC24 ELFMAINX
000005b8 R_ARM_PC24 memset
000005d8 R_ARM_PC24 write
000005e0 R_ARM_PC24 ELFMAINX
000005e8 R_ARM_PC24 ELFMAINX
000005f8 R_ARM_PC24 lseek
00000604 R_ARM_PC24 ELFMAINX
00000608 R_ARM_PC24 ELFMAINX
00000610 R_ARM_PC24 ELFMAINX
00000634 R_ARM_PC24 mmap