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
+123 -245
View File
@@ -2,258 +2,136 @@ file format elf32-bigarm
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 012c 0 0 044 2**0 CONTENTS
4 NRV2D 0118 0 0 0170 2**0 CONTENTS
5 NRV2B 0dc 0 0 0288 2**0 CONTENTS
6 LZMA_ELF00 0ac 0 0 0364 2**0 CONTENTS
7 LZMA_DEC20 0938 0 0 0410 2**0 CONTENTS
8 LZMA_DEC10 0478 0 0 0d48 2**0 CONTENTS
9 LZMA_DEC30 0 0 0 011c0 2**0 CONTENTS
10 ELFMAINY 0 0 0 011c0 2**0 CONTENTS
11 ELFMAINZ 0100 0 0 011c0 2**0 CONTENTS
0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 0114 0 0 034 2**0 CONTENTS
2 ELFMAINX 0628 0 0 0148 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 012c ucl_nrv2e_decompress_8
00000000 g F NRV2D 0118 ucl_nrv2d_decompress_8
00000000 g F NRV2B 0dc ucl_nrv2b_decompress_8
00000000 g LZMA_DEC10 0 LzmaDecode
00000000 g ELFMAINY 0 end_decompress
00000090 g ELFMAINZ 0 getpid
00000474 g F ELFMAINX 01b4 upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO
00000100 g ELFMAINZ 0 cpr0
0000004c g ELFMAINZ 0 mempcpy
00000088 g ELFMAINZ 0 ftruncate
00000098 g ELFMAINZ 0 lseek
000000d8 g ELFMAINZ 0 mmap
000000c0 g ELFMAINZ 0 uname
00000000 g ELFMAINY 0 end_decompress
000000d0 g ELFMAINZ 0 write
00000078 g ELFMAINZ 0 fdatasync
00000000 g ELFMAINZ 0 get_upxfn_path
00000068 g ELFMAINZ 0 memfd_create
00000004 g ELFMAINX 0 _start
000000b0 g ELFMAINZ 0 read
000000c8 g ELFMAINZ 0 unlink
0000002c g ELFMAINZ 0 memset
00000160 g F ELFMAINX 0dc ucl_nrv2b_decompress_8
00000080 g ELFMAINZ 0 fsync
000000b8 g ELFMAINZ 0 stat
00000114 g ELFMAINZ 0 cpr0
000000a8 g ELFMAINZ 0 open
000000a0 g ELFMAINZ 0 mkdir
00000070 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
00000110 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
0000005c R_ARM_PC24 NRV2E
00000060 R_ARM_PC24 NRV2E
00000068 R_ARM_PC24 NRV2E
00000074 R_ARM_PC24 NRV2E
00000080 R_ARM_PC24 NRV2E
0000008c R_ARM_PC24 NRV2E
00000090 R_ARM_PC24 NRV2E
0000009c R_ARM_PC24 NRV2E
000000ac R_ARM_PC24 NRV2E
000000b4 R_ARM_PC24 NRV2E
000000b8 R_ARM_PC24 NRV2E
000000c0 R_ARM_PC24 NRV2E
000000c4 R_ARM_PC24 NRV2E
000000d0 R_ARM_PC24 NRV2E
000000d4 R_ARM_PC24 NRV2E
000000dc R_ARM_PC24 NRV2E
000000e8 R_ARM_PC24 NRV2E
000000ec R_ARM_PC24 NRV2E
000000f4 R_ARM_PC24 NRV2E
000000fc R_ARM_PC24 NRV2E
00000124 R_ARM_PC24 NRV2E
00000128 R_ARM_PC24 NRV2E
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2D
0000005c R_ARM_PC24 NRV2D
00000060 R_ARM_PC24 NRV2D
00000068 R_ARM_PC24 NRV2D
00000074 R_ARM_PC24 NRV2D
00000080 R_ARM_PC24 NRV2D
0000008c R_ARM_PC24 NRV2D
00000090 R_ARM_PC24 NRV2D
0000009c R_ARM_PC24 NRV2D
000000ac R_ARM_PC24 NRV2D
000000b4 R_ARM_PC24 NRV2D
000000bc R_ARM_PC24 NRV2D
000000c8 R_ARM_PC24 NRV2D
000000d0 R_ARM_PC24 NRV2D
000000dc R_ARM_PC24 NRV2D
000000e8 R_ARM_PC24 NRV2D
000000ec R_ARM_PC24 NRV2D
00000110 R_ARM_PC24 NRV2D
00000114 R_ARM_PC24 NRV2D
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
00000010 R_ARM_PC24 NRV2B
00000060 R_ARM_PC24 NRV2B
00000068 R_ARM_PC24 NRV2B
0000006c R_ARM_PC24 NRV2B
0000007c R_ARM_PC24 NRV2B
00000080 R_ARM_PC24 NRV2B
00000084 R_ARM_PC24 NRV2B
00000090 R_ARM_PC24 NRV2B
000000a0 R_ARM_PC24 NRV2B
000000a4 R_ARM_PC24 NRV2B
000000ac R_ARM_PC24 NRV2B
000000b4 R_ARM_PC24 NRV2B
000000b8 R_ARM_PC24 NRV2B
000000d4 R_ARM_PC24 NRV2B
000000d8 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
000000a8 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
00000098 R_ARM_PC24 ELFMAINZ
000000c8 R_ARM_PC24 ELFMAINZ
000000cc R_ARM_PC24 ELFMAINZ
000000dc R_ARM_PC24 ELFMAINZ
000000e4 R_ARM_PC24 ELFMAINZ
000000f8 R_ARM_PC24 ELFMAINZ
000000fc 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
00000158 R_ARM_PC24 ELFMAINX
00000170 R_ARM_PC24 ELFMAINX
000001c0 R_ARM_PC24 ELFMAINX
000001c8 R_ARM_PC24 ELFMAINX
000001cc R_ARM_PC24 ELFMAINX
000001dc R_ARM_PC24 ELFMAINX
000001e0 R_ARM_PC24 ELFMAINX
000001e4 R_ARM_PC24 ELFMAINX
000001f0 R_ARM_PC24 ELFMAINX
00000200 R_ARM_PC24 ELFMAINX
00000204 R_ARM_PC24 ELFMAINX
0000020c R_ARM_PC24 ELFMAINX
00000214 R_ARM_PC24 ELFMAINX
00000218 R_ARM_PC24 ELFMAINX
00000234 R_ARM_PC24 ELFMAINX
00000238 R_ARM_PC24 ELFMAINX
00000248 R_ARM_PC24 ELFMAINX
00000264 R_ARM_PC24 ELFMAINX
0000027c R_ARM_PC24 ELFMAINX
00000290 R_ARM_PC24 ELFMAINX
000002bc R_ARM_PC24 memset
000002c8 R_ARM_PC24 stat
000002d0 R_ARM_PC24 ELFMAINX
000002e4 R_ARM_PC24 ELFMAINX
000002f4 R_ARM_PC24 mkdir
0000030c R_ARM_PC24 ELFMAINX
00000324 R_ARM_PC24 mempcpy
00000334 R_ARM_PC24 ELFMAINX
00000338 R_ARM_PC24 ELFMAINX
0000035c R_ARM_PC24 open
00000370 R_ARM_PC24 read
0000037c R_ARM_PC24 close
000003a0 R_ARM_PC24 ELFMAINX
000003b0 R_ARM_PC24 ELFMAINX
000003b8 R_ARM_PC24 ELFMAINX
000003c4 R_ARM_PC24 ELFMAINX
000003d4 R_ARM_PC24 mempcpy
000003e8 R_ARM_PC24 ELFMAINX
000003ec R_ARM_PC24 ELFMAINX
00000404 R_ARM_PC24 mempcpy
00000414 R_ARM_PC24 ELFMAINX
00000418 R_ARM_PC24 ELFMAINX
00000430 R_ARM_PC24 mempcpy
00000438 R_ARM_PC24 getpid
00000440 R_ARM_PC24 ELFMAINX
0000044c R_ARM_PC24 ELFMAINX
00000458 R_ARM_PC24 ELFMAINX
00000470 R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 ELFMAINX
000004a0 R_ARM_PC24 memfd_create
000004c0 R_ARM_PC24 uname
000004c4 R_ARM_PC24 ELFMAINX
000004dc R_ARM_PC24 ELFMAINX
000004f4 R_ARM_PC24 ELFMAINX
000004f8 R_ARM_PC24 get_upxfn_path
00000510 R_ARM_PC24 ELFMAINX
00000518 R_ARM_PC24 ELFMAINX
00000524 R_ARM_PC24 ELFMAINX
00000530 R_ARM_PC24 ELFMAINX
00000538 R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 open
00000554 R_ARM_PC24 ELFMAINX
0000055c R_ARM_PC24 unlink
00000564 R_ARM_PC24 ELFMAINX
0000056c R_ARM_PC24 ELFMAINX
00000578 R_ARM_PC24 ftruncate
00000580 R_ARM_PC24 ELFMAINX
00000584 R_ARM_PC24 ELFMAINX
00000594 R_ARM_PC24 memset
000005b4 R_ARM_PC24 write
000005bc R_ARM_PC24 ELFMAINX
000005c4 R_ARM_PC24 ELFMAINX
000005d4 R_ARM_PC24 lseek
000005e0 R_ARM_PC24 ELFMAINX
000005e4 R_ARM_PC24 ELFMAINX
000005ec R_ARM_PC24 ELFMAINX
00000610 R_ARM_PC24 mmap