O_DIRECTORY is architecture-dependent

https://github.com/upx/upx/issues/902
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
	modified:   stub/src/powerpc64-linux.elf-fold.S
	modified:   stub/src/upxfd_android.c
	modified:   stub/src/upxfd_linux.c
           plus generated .h .map .dump
This commit is contained in:
John Reiser
2025-03-21 10:54:27 -07:00
parent a25c20ee0b
commit ff9d577e46
26 changed files with 8572 additions and 8526 deletions
+53 -53
View File
@@ -5,10 +5,10 @@ Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINY 0 0 0 034 2**0 CONTENTS
1 HUMF_A 04 0 0 034 2**0 CONTENTS
2 HUMF_L 04 0 0 038 2**0 CONTENTS
3 UMF_ANDROID 0540 0 0 03c 2**2 CONTENTS
4 UMF_LINUX 0140 0 0 057c 2**2 CONTENTS
5 ELFMAINX 0248 0 0 06bc 2**2 CONTENTS
6 ELFMAINZ 0218 0248 0248 0904 2**0 CONTENTS
3 UMF_ANDROID 0544 0 0 03c 2**2 CONTENTS
4 UMF_LINUX 0144 0 0 0580 2**2 CONTENTS
5 ELFMAINX 0248 0 0 06c4 2**2 CONTENTS
6 ELFMAINZ 0218 0248 0248 090c 2**0 CONTENTS
SYMBOL TABLE:
00000000 l d UMF_ANDROID 0 UMF_ANDROID
00000000 l d UMF_LINUX 0 UMF_LINUX
@@ -27,9 +27,9 @@ SYMBOL TABLE:
00000294 g ELFMAINZ 0 mempcpy
00000320 g ELFMAINZ 0 ftruncate
00000348 g ELFMAINZ 0 lseek
000002c4 g F UMF_ANDROID 027c upx_mmap_and_fd_android
000002c4 g F UMF_ANDROID 0280 upx_mmap_and_fd_android
00000418 g ELFMAINZ 0 mmap
00000000 g F UMF_LINUX 0140 upx_mmap_and_fd_linux
00000000 g F UMF_LINUX 0144 upx_mmap_and_fd_linux
000003ac g ELFMAINZ 0 uname
00000000 g ELFMAINY 0 end_decompress
000003d4 g ELFMAINZ 0 write
@@ -107,47 +107,47 @@ OFFSET TYPE VALUE
00000308 R_ARM_PC24 memfd_create
00000314 R_ARM_PC24 UMF_ANDROID
00000318 R_ARM_PC24 UMF_ANDROID
00000338 R_ARM_PC24 open
00000340 R_ARM_PC24 UMF_ANDROID
0000033c R_ARM_PC24 open
00000344 R_ARM_PC24 UMF_ANDROID
0000035c R_ARM_PC24 my_bkpt
00000368 R_ARM_PC24 uname
0000036c R_ARM_PC24 UMF_ANDROID
00000380 R_ARM_PC24 UMF_ANDROID
00000388 R_ARM_PC24 UMF_ANDROID
00000348 R_ARM_PC24 UMF_ANDROID
00000360 R_ARM_PC24 my_bkpt
0000036c R_ARM_PC24 uname
00000370 R_ARM_PC24 UMF_ANDROID
00000384 R_ARM_PC24 UMF_ANDROID
0000038c R_ARM_PC24 UMF_ANDROID
000003a0 R_ARM_PC24 UMF_ANDROID
000003a8 R_ARM_PC24 UMF_ANDROID
000003b8 R_ARM_PC24 UMF_ANDROID
000003c0 R_ARM_PC24 UMF_ANDROID
000003c4 R_ARM_PC24 get_upxfn_path
000003e4 R_ARM_PC24 UMF_ANDROID
000003ec R_ARM_PC24 UMF_ANDROID
000003f8 R_ARM_PC24 UMF_ANDROID
00000408 R_ARM_PC24 UMF_ANDROID
00000410 R_ARM_PC24 UMF_ANDROID
00000420 R_ARM_PC24 open
0000042c R_ARM_PC24 UMF_ANDROID
00000434 R_ARM_PC24 unlink
0000043c R_ARM_PC24 UMF_ANDROID
00000448 R_ARM_PC24 UMF_ANDROID
0000044c R_ARM_PC24 get_page_mask
00000464 R_ARM_PC24 UMF_ANDROID
0000046c R_ARM_PC24 UMF_ANDROID
00000478 R_ARM_PC24 ftruncate
00000480 R_ARM_PC24 UMF_ANDROID
00000390 R_ARM_PC24 UMF_ANDROID
000003a4 R_ARM_PC24 UMF_ANDROID
000003ac R_ARM_PC24 UMF_ANDROID
000003bc R_ARM_PC24 UMF_ANDROID
000003c4 R_ARM_PC24 UMF_ANDROID
000003c8 R_ARM_PC24 get_upxfn_path
000003e8 R_ARM_PC24 UMF_ANDROID
000003f0 R_ARM_PC24 UMF_ANDROID
000003fc R_ARM_PC24 UMF_ANDROID
0000040c R_ARM_PC24 UMF_ANDROID
00000414 R_ARM_PC24 UMF_ANDROID
00000424 R_ARM_PC24 open
00000430 R_ARM_PC24 UMF_ANDROID
00000438 R_ARM_PC24 unlink
00000440 R_ARM_PC24 UMF_ANDROID
0000044c R_ARM_PC24 UMF_ANDROID
00000450 R_ARM_PC24 get_page_mask
00000468 R_ARM_PC24 UMF_ANDROID
00000470 R_ARM_PC24 UMF_ANDROID
0000047c R_ARM_PC24 ftruncate
00000484 R_ARM_PC24 UMF_ANDROID
00000494 R_ARM_PC24 lseek
000004b8 R_ARM_PC24 write
000004c8 R_ARM_PC24 lseek
000004d4 R_ARM_PC24 UMF_ANDROID
000004d8 R_ARM_PC24 get_page_mask
000004e4 R_ARM_PC24 UMF_ANDROID
000004f4 R_ARM_PC24 write
000004f8 R_ARM_PC24 UMF_ANDROID
00000518 R_ARM_PC24 mmap
00000528 R_ARM_PC24 UMF_ANDROID
00000530 R_ARM_PC24 UMF_ANDROID
00000488 R_ARM_PC24 UMF_ANDROID
00000498 R_ARM_PC24 lseek
000004bc R_ARM_PC24 write
000004cc R_ARM_PC24 lseek
000004d8 R_ARM_PC24 UMF_ANDROID
000004dc R_ARM_PC24 get_page_mask
000004e8 R_ARM_PC24 UMF_ANDROID
000004f8 R_ARM_PC24 write
000004fc R_ARM_PC24 UMF_ANDROID
0000051c R_ARM_PC24 mmap
0000052c R_ARM_PC24 UMF_ANDROID
00000534 R_ARM_PC24 UMF_ANDROID
RELOCATION RECORDS FOR [UMF_LINUX]:
OFFSET TYPE VALUE
@@ -157,16 +157,16 @@ OFFSET TYPE VALUE
0000003c R_ARM_PC24 memfd_create
00000048 R_ARM_PC24 UMF_LINUX
0000004c R_ARM_PC24 UMF_LINUX
0000006c R_ARM_PC24 open
00000074 R_ARM_PC24 UMF_LINUX
00000080 R_ARM_PC24 UMF_LINUX
00000070 R_ARM_PC24 open
00000078 R_ARM_PC24 UMF_LINUX
00000084 R_ARM_PC24 UMF_LINUX
000000d4 R_ARM_PC24 write
000000dc R_ARM_PC24 exit
000000e8 R_ARM_PC24 ftruncate
000000f4 R_ARM_PC24 UMF_LINUX
0000011c R_ARM_PC24 mmap
00000124 R_ARM_PC24 get_page_mask
00000088 R_ARM_PC24 UMF_LINUX
000000d8 R_ARM_PC24 write
000000e0 R_ARM_PC24 exit
000000ec R_ARM_PC24 ftruncate
000000f8 R_ARM_PC24 UMF_LINUX
00000120 R_ARM_PC24 mmap
00000128 R_ARM_PC24 get_page_mask
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
+4 -4
View File
@@ -59,12 +59,12 @@ HUMF_A 0x0000000000000000 0x4
HUMF_L 0x0000000000000000 0x4
HUMF_L 0x0000000000000000 0x4 tmp/arm.v4a-linux.elf-help_umf.o
UMF_ANDROID 0x0000000000000000 0x540
UMF_ANDROID 0x0000000000000000 0x540 tmp/arm.v4a-linux.elf-upxfd_android.o
UMF_ANDROID 0x0000000000000000 0x544
UMF_ANDROID 0x0000000000000000 0x544 tmp/arm.v4a-linux.elf-upxfd_android.o
0x00000000000002c4 upx_mmap_and_fd_android
UMF_LINUX 0x0000000000000000 0x140
UMF_LINUX 0x0000000000000000 0x140 tmp/arm.v4a-linux.elf-upxfd_linux.o
UMF_LINUX 0x0000000000000000 0x144
UMF_LINUX 0x0000000000000000 0x144 tmp/arm.v4a-linux.elf-upxfd_linux.o
0x0000000000000000 upx_mmap_and_fd_linux
EXP_HEAD 0x0000000000000000 0xdc
+52 -52
View File
@@ -6,9 +6,9 @@ Idx Name Size VMA LMA File off Algn Flags
1 ELFMAINZ 0218 0 0 034 2**0 CONTENTS
2 HUMF_A 04 0 0 024c 2**0 CONTENTS
3 HUMF_L 04 0 0 0250 2**0 CONTENTS
4 UMF_ANDROID 0540 0 0 0254 2**2 CONTENTS
5 UMF_LINUX 0140 0 0 0794 2**2 CONTENTS
6 ELFMAINX 0248 0 0 08d4 2**2 CONTENTS
4 UMF_ANDROID 0544 0 0 0254 2**2 CONTENTS
5 UMF_LINUX 0144 0 0 0798 2**2 CONTENTS
6 ELFMAINX 0248 0 0 08dc 2**2 CONTENTS
SYMBOL TABLE:
00000000 l d ELFMAINZ 0 ELFMAINZ
00000000 l d UMF_ANDROID 0 UMF_ANDROID
@@ -27,9 +27,9 @@ SYMBOL TABLE:
0000004c g ELFMAINZ 0 mempcpy
000000d8 g ELFMAINZ 0 ftruncate
00000100 g ELFMAINZ 0 lseek
000002c4 g F UMF_ANDROID 027c upx_mmap_and_fd_android
000002c4 g F UMF_ANDROID 0280 upx_mmap_and_fd_android
000001d0 g ELFMAINZ 0 mmap
00000000 g F UMF_LINUX 0140 upx_mmap_and_fd_linux
00000000 g F UMF_LINUX 0144 upx_mmap_and_fd_linux
00000164 g ELFMAINZ 0 uname
00000000 g ELFMAINY 0 end_decompress
0000018c g ELFMAINZ 0 write
@@ -117,47 +117,47 @@ OFFSET TYPE VALUE
00000308 R_ARM_PC24 memfd_create
00000314 R_ARM_PC24 UMF_ANDROID
00000318 R_ARM_PC24 UMF_ANDROID
00000338 R_ARM_PC24 open
00000340 R_ARM_PC24 UMF_ANDROID
0000033c R_ARM_PC24 open
00000344 R_ARM_PC24 UMF_ANDROID
0000035c R_ARM_PC24 my_bkpt
00000368 R_ARM_PC24 uname
0000036c R_ARM_PC24 UMF_ANDROID
00000380 R_ARM_PC24 UMF_ANDROID
00000388 R_ARM_PC24 UMF_ANDROID
00000348 R_ARM_PC24 UMF_ANDROID
00000360 R_ARM_PC24 my_bkpt
0000036c R_ARM_PC24 uname
00000370 R_ARM_PC24 UMF_ANDROID
00000384 R_ARM_PC24 UMF_ANDROID
0000038c R_ARM_PC24 UMF_ANDROID
000003a0 R_ARM_PC24 UMF_ANDROID
000003a8 R_ARM_PC24 UMF_ANDROID
000003b8 R_ARM_PC24 UMF_ANDROID
000003c0 R_ARM_PC24 UMF_ANDROID
000003c4 R_ARM_PC24 get_upxfn_path
000003e4 R_ARM_PC24 UMF_ANDROID
000003ec R_ARM_PC24 UMF_ANDROID
000003f8 R_ARM_PC24 UMF_ANDROID
00000408 R_ARM_PC24 UMF_ANDROID
00000410 R_ARM_PC24 UMF_ANDROID
00000420 R_ARM_PC24 open
0000042c R_ARM_PC24 UMF_ANDROID
00000434 R_ARM_PC24 unlink
0000043c R_ARM_PC24 UMF_ANDROID
00000448 R_ARM_PC24 UMF_ANDROID
0000044c R_ARM_PC24 get_page_mask
00000464 R_ARM_PC24 UMF_ANDROID
0000046c R_ARM_PC24 UMF_ANDROID
00000478 R_ARM_PC24 ftruncate
00000480 R_ARM_PC24 UMF_ANDROID
00000390 R_ARM_PC24 UMF_ANDROID
000003a4 R_ARM_PC24 UMF_ANDROID
000003ac R_ARM_PC24 UMF_ANDROID
000003bc R_ARM_PC24 UMF_ANDROID
000003c4 R_ARM_PC24 UMF_ANDROID
000003c8 R_ARM_PC24 get_upxfn_path
000003e8 R_ARM_PC24 UMF_ANDROID
000003f0 R_ARM_PC24 UMF_ANDROID
000003fc R_ARM_PC24 UMF_ANDROID
0000040c R_ARM_PC24 UMF_ANDROID
00000414 R_ARM_PC24 UMF_ANDROID
00000424 R_ARM_PC24 open
00000430 R_ARM_PC24 UMF_ANDROID
00000438 R_ARM_PC24 unlink
00000440 R_ARM_PC24 UMF_ANDROID
0000044c R_ARM_PC24 UMF_ANDROID
00000450 R_ARM_PC24 get_page_mask
00000468 R_ARM_PC24 UMF_ANDROID
00000470 R_ARM_PC24 UMF_ANDROID
0000047c R_ARM_PC24 ftruncate
00000484 R_ARM_PC24 UMF_ANDROID
00000494 R_ARM_PC24 lseek
000004b8 R_ARM_PC24 write
000004c8 R_ARM_PC24 lseek
000004d4 R_ARM_PC24 UMF_ANDROID
000004d8 R_ARM_PC24 get_page_mask
000004e4 R_ARM_PC24 UMF_ANDROID
000004f4 R_ARM_PC24 write
000004f8 R_ARM_PC24 UMF_ANDROID
00000518 R_ARM_PC24 mmap
00000528 R_ARM_PC24 UMF_ANDROID
00000530 R_ARM_PC24 UMF_ANDROID
00000488 R_ARM_PC24 UMF_ANDROID
00000498 R_ARM_PC24 lseek
000004bc R_ARM_PC24 write
000004cc R_ARM_PC24 lseek
000004d8 R_ARM_PC24 UMF_ANDROID
000004dc R_ARM_PC24 get_page_mask
000004e8 R_ARM_PC24 UMF_ANDROID
000004f8 R_ARM_PC24 write
000004fc R_ARM_PC24 UMF_ANDROID
0000051c R_ARM_PC24 mmap
0000052c R_ARM_PC24 UMF_ANDROID
00000534 R_ARM_PC24 UMF_ANDROID
RELOCATION RECORDS FOR [UMF_LINUX]:
OFFSET TYPE VALUE
@@ -167,16 +167,16 @@ OFFSET TYPE VALUE
0000003c R_ARM_PC24 memfd_create
00000048 R_ARM_PC24 UMF_LINUX
0000004c R_ARM_PC24 UMF_LINUX
0000006c R_ARM_PC24 open
00000074 R_ARM_PC24 UMF_LINUX
00000080 R_ARM_PC24 UMF_LINUX
00000070 R_ARM_PC24 open
00000078 R_ARM_PC24 UMF_LINUX
00000084 R_ARM_PC24 UMF_LINUX
000000d4 R_ARM_PC24 write
000000dc R_ARM_PC24 exit
000000e8 R_ARM_PC24 ftruncate
000000f4 R_ARM_PC24 UMF_LINUX
0000011c R_ARM_PC24 mmap
00000124 R_ARM_PC24 get_page_mask
00000088 R_ARM_PC24 UMF_LINUX
000000d8 R_ARM_PC24 write
000000e0 R_ARM_PC24 exit
000000ec R_ARM_PC24 ftruncate
000000f8 R_ARM_PC24 UMF_LINUX
00000120 R_ARM_PC24 mmap
00000128 R_ARM_PC24 get_page_mask
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
+4 -4
View File
@@ -59,12 +59,12 @@ HUMF_A 0x0000000000000000 0x4
HUMF_L 0x0000000000000000 0x4
HUMF_L 0x0000000000000000 0x4 tmp/armeb.v4a-linux.elf-help_umf.o
UMF_ANDROID 0x0000000000000000 0x540
UMF_ANDROID 0x0000000000000000 0x540 tmp/armeb.v4a-linux.elf-upxfd_android.o
UMF_ANDROID 0x0000000000000000 0x544
UMF_ANDROID 0x0000000000000000 0x544 tmp/armeb.v4a-linux.elf-upxfd_android.o
0x00000000000002c4 upx_mmap_and_fd_android
UMF_LINUX 0x0000000000000000 0x140
UMF_LINUX 0x0000000000000000 0x140 tmp/armeb.v4a-linux.elf-upxfd_linux.o
UMF_LINUX 0x0000000000000000 0x144
UMF_LINUX 0x0000000000000000 0x144 tmp/armeb.v4a-linux.elf-upxfd_linux.o
0x0000000000000000 upx_mmap_and_fd_linux
EXP_HEAD 0x0000000000000000 0xdc