--android-shlib for arm32 and i386

... including work-around if no memfd_create() on early Android 32-bit
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   p_elf_enum.h
	modified:   p_lx_elf.cpp
	modified:   stub/src/arm.v4a-linux.elf-so_entry.S
	modified:   stub/src/arm.v4a-linux.elf-so_fold.S
	modified:   stub/src/i386-linux.elf-so_main.c
	modified:   stub/src/upxfd_android.c
           plus generated *.h *.dump *.map
This commit is contained in:
John Reiser
2024-08-25 14:55:55 -07:00
parent 7f062c7ca5
commit 8065eebca3
29 changed files with 15751 additions and 16253 deletions
+68 -63
View File
@@ -4,14 +4,14 @@ Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 ELFMAINZ 01f0 0 0 034 2**0 CONTENTS
2 ELFMAINX 06d4 0 0 0224 2**2 CONTENTS
2 ELFMAINX 074c 0 0 0224 2**2 CONTENTS
SYMBOL TABLE:
00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d ELFMAINX 0 ELFMAINX
00000000 l d ELFMAINY 0 ELFMAINY
00000000 *UND* 0 MFLG
000000ec g ELFMAINZ 0 getpid
0000048c g F ELFMAINX 0248 upx_mmap_and_fd
00000500 g F ELFMAINX 024c upx_mmap_and_fd
00000008 g ELFMAINZ 0 memcpy
00000000 *UND* 0 O_BINFO
0000004c g ELFMAINZ 0 mempcpy
@@ -84,75 +84,80 @@ OFFSET TYPE VALUE
000002bc R_ARM_PC24 memset
000002c8 R_ARM_PC24 stat
000002d0 R_ARM_PC24 ELFMAINX
000002e0 R_ARM_PC24 ELFMAINX
000002e4 R_ARM_PC24 ELFMAINX
000002ec R_ARM_PC24 ELFMAINX
000002f8 R_ARM_PC24 mkdir
00000300 R_ARM_PC24 ELFMAINX
00000308 R_ARM_PC24 exit
00000324 R_ARM_PC24 ELFMAINX
0000033c R_ARM_PC24 mempcpy
0000034c R_ARM_PC24 ELFMAINX
00000350 R_ARM_PC24 ELFMAINX
00000374 R_ARM_PC24 open
00000388 R_ARM_PC24 read
00000394 R_ARM_PC24 close
000003b8 R_ARM_PC24 ELFMAINX
000003c8 R_ARM_PC24 ELFMAINX
000003d0 R_ARM_PC24 ELFMAINX
00000314 R_ARM_PC24 my_bkpt
00000330 R_ARM_PC24 ELFMAINX
00000348 R_ARM_PC24 mempcpy
0000035c R_ARM_PC24 ELFMAINX
00000360 R_ARM_PC24 ELFMAINX
00000388 R_ARM_PC24 open
0000039c R_ARM_PC24 read
000003a8 R_ARM_PC24 close
000003b4 R_ARM_PC24 my_bkpt
000003cc R_ARM_PC24 ELFMAINX
000003dc R_ARM_PC24 ELFMAINX
000003ec R_ARM_PC24 mempcpy
00000400 R_ARM_PC24 ELFMAINX
00000404 R_ARM_PC24 ELFMAINX
0000041c R_ARM_PC24 mempcpy
0000042c R_ARM_PC24 ELFMAINX
00000430 R_ARM_PC24 ELFMAINX
000003e0 R_ARM_PC24 ELFMAINX
000003ec R_ARM_PC24 ELFMAINX
00000400 R_ARM_PC24 mempcpy
00000418 R_ARM_PC24 ELFMAINX
00000420 R_ARM_PC24 ELFMAINX
00000424 R_ARM_PC24 ELFMAINX
00000448 R_ARM_PC24 mempcpy
00000450 R_ARM_PC24 getpid
00000458 R_ARM_PC24 ELFMAINX
00000464 R_ARM_PC24 ELFMAINX
00000470 R_ARM_PC24 ELFMAINX
00000488 R_ARM_PC24 ELFMAINX
000004a4 R_ARM_PC24 ELFMAINX
000004b8 R_ARM_PC24 memfd_create
000004c4 R_ARM_PC24 ELFMAINX
000004d0 R_ARM_PC24 memfd_create
000004dc R_ARM_PC24 ELFMAINX
00000454 R_ARM_PC24 mempcpy
00000468 R_ARM_PC24 ELFMAINX
0000046c R_ARM_PC24 ELFMAINX
00000474 R_ARM_PC24 ELFMAINX
00000478 R_ARM_PC24 ELFMAINX
00000490 R_ARM_PC24 mempcpy
000004a8 R_ARM_PC24 ELFMAINX
000004ac R_ARM_PC24 ELFMAINX
000004c4 R_ARM_PC24 mempcpy
000004cc R_ARM_PC24 getpid
000004d4 R_ARM_PC24 ELFMAINX
000004e0 R_ARM_PC24 ELFMAINX
00000500 R_ARM_PC24 open
00000508 R_ARM_PC24 ELFMAINX
0000050c R_ARM_PC24 ELFMAINX
00000524 R_ARM_PC24 my_bkpt
00000530 R_ARM_PC24 uname
00000534 R_ARM_PC24 ELFMAINX
00000548 R_ARM_PC24 ELFMAINX
000004ec R_ARM_PC24 ELFMAINX
00000518 R_ARM_PC24 ELFMAINX
0000052c R_ARM_PC24 memfd_create
00000538 R_ARM_PC24 ELFMAINX
00000544 R_ARM_PC24 memfd_create
00000550 R_ARM_PC24 ELFMAINX
00000554 R_ARM_PC24 ELFMAINX
00000568 R_ARM_PC24 ELFMAINX
00000570 R_ARM_PC24 ELFMAINX
00000574 R_ARM_PC24 open
0000057c R_ARM_PC24 ELFMAINX
00000580 R_ARM_PC24 ELFMAINX
00000588 R_ARM_PC24 ELFMAINX
0000058c R_ARM_PC24 get_upxfn_path
000005ac R_ARM_PC24 ELFMAINX
000005b4 R_ARM_PC24 ELFMAINX
000005c0 R_ARM_PC24 ELFMAINX
000005cc R_ARM_PC24 ELFMAINX
000005d4 R_ARM_PC24 ELFMAINX
000005e4 R_ARM_PC24 open
000005f0 R_ARM_PC24 ELFMAINX
000005f8 R_ARM_PC24 unlink
00000600 R_ARM_PC24 ELFMAINX
0000060c R_ARM_PC24 ELFMAINX
00000614 R_ARM_PC24 ELFMAINX
00000620 R_ARM_PC24 ftruncate
00000598 R_ARM_PC24 my_bkpt
000005a4 R_ARM_PC24 uname
000005a8 R_ARM_PC24 ELFMAINX
000005bc R_ARM_PC24 ELFMAINX
000005c4 R_ARM_PC24 ELFMAINX
000005c8 R_ARM_PC24 ELFMAINX
000005dc R_ARM_PC24 ELFMAINX
000005e4 R_ARM_PC24 ELFMAINX
000005f4 R_ARM_PC24 ELFMAINX
000005fc R_ARM_PC24 ELFMAINX
00000600 R_ARM_PC24 get_upxfn_path
00000620 R_ARM_PC24 ELFMAINX
00000628 R_ARM_PC24 ELFMAINX
0000062c R_ARM_PC24 ELFMAINX
0000063c R_ARM_PC24 memset
0000065c R_ARM_PC24 write
00000664 R_ARM_PC24 ELFMAINX
0000066c R_ARM_PC24 ELFMAINX
0000067c R_ARM_PC24 lseek
00000688 R_ARM_PC24 ELFMAINX
00000634 R_ARM_PC24 ELFMAINX
00000644 R_ARM_PC24 ELFMAINX
0000064c R_ARM_PC24 ELFMAINX
0000065c R_ARM_PC24 open
00000668 R_ARM_PC24 ELFMAINX
00000670 R_ARM_PC24 unlink
00000678 R_ARM_PC24 ELFMAINX
00000684 R_ARM_PC24 ELFMAINX
0000068c R_ARM_PC24 ELFMAINX
00000694 R_ARM_PC24 ELFMAINX
000006b8 R_ARM_PC24 mmap
00000698 R_ARM_PC24 ftruncate
000006a0 R_ARM_PC24 ELFMAINX
000006a4 R_ARM_PC24 ELFMAINX
000006b4 R_ARM_PC24 memset
000006d4 R_ARM_PC24 write
000006dc R_ARM_PC24 ELFMAINX
000006e4 R_ARM_PC24 ELFMAINX
000006f4 R_ARM_PC24 lseek
00000700 R_ARM_PC24 ELFMAINX
00000704 R_ARM_PC24 ELFMAINX
0000070c R_ARM_PC24 ELFMAINX
00000730 R_ARM_PC24 mmap