/proc/self/exe now is optional

... for the benefit of 'unshare', 'chroot', etc.
If not present, then upx run-time stub unmaps all pages of original main program.
https://github.com/upx/upx/issues/721

	modified:   stub/src/amd64-linux.elf-entry.S
	modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
	modified:   stub/src/i386-linux.elf-fold.S
	modified:   stub/src/mipsel.r3000-linux.elf-fold.S
	modified:   stub/src/powerpc-linux.elf-fold.S
	modified:   stub/src/powerpc64le-linux.elf-fold.S
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh

           ... plus all associaed *.h, *.map, *.dump in stub/
This commit is contained in:
John Reiser
2023-10-30 08:23:52 -07:00
parent f62576a2be
commit 52400e2561
43 changed files with 4302 additions and 4340 deletions
+45 -45
View File
@@ -8,60 +8,60 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x8b0
.text 0x00000000001000bc 0x8b4
*(.text)
.text 0x00000000001000bc 0x1b3 tmp/amd64-linux.elf-fold.o
0x000000000010025f munmap
0x0000000000100226 mmap
0x0000000000100267 write
0x000000000010026b read
0x000000000010023d Pprotect
0x000000000010024f exit
0x0000000000100253 brk
0x000000000010025b open
0x0000000000100263 mprotect
0x0000000000100257 close
*fill* 0x000000000010026f 0x1 00
.text 0x0000000000100270 0x6fa tmp/amd64-linux.elf-main.o
0x0000000000100822 upx_main
*fill* 0x000000000010096a 0x2 00
.text 0x000000000010096c 0x0 tmp/amd64-expand.o
.text 0x00000000001000bc 0x1b7 tmp/amd64-linux.elf-fold.o
0x0000000000100263 munmap
0x000000000010022a mmap
0x000000000010026b write
0x000000000010026f read
0x0000000000100241 Pprotect
0x0000000000100253 exit
0x0000000000100257 brk
0x000000000010025f open
0x0000000000100267 mprotect
0x000000000010025b close
*fill* 0x0000000000100273 0x1 00
.text 0x0000000000100274 0x6fa tmp/amd64-linux.elf-main.o
0x0000000000100826 upx_main
*fill* 0x000000000010096e 0x2 00
.text 0x0000000000100970 0x0 tmp/amd64-expand.o
*(.data)
.data 0x000000000010096c 0x0 tmp/amd64-linux.elf-fold.o
.data 0x000000000010096c 0x0 tmp/amd64-linux.elf-main.o
.data 0x000000000010096c 0x0 tmp/amd64-expand.o
0x000000000010096c . = ALIGN (0x1)
0x000000000010096c __start_EXP_HEAD = .
.data 0x0000000000100970 0x0 tmp/amd64-linux.elf-fold.o
.data 0x0000000000100970 0x0 tmp/amd64-linux.elf-main.o
.data 0x0000000000100970 0x0 tmp/amd64-expand.o
0x0000000000100970 . = ALIGN (0x1)
0x0000000000100970 __start_EXP_HEAD = .
EXP_HEAD 0x000000000010096c 0xe0
EXP_HEAD 0x000000000010096c 0xe0 tmp/amd64-expand.o
0x000000000010096c f_expand
0x0000000000100a4c __stop_EXP_HEAD = .
0x0000000000100a4c . = ALIGN (0x1)
0x0000000000100a4c __start_NRV2E = .
EXP_HEAD 0x0000000000100970 0xe0
EXP_HEAD 0x0000000000100970 0xe0 tmp/amd64-expand.o
0x0000000000100970 f_expand
0x0000000000100a50 __stop_EXP_HEAD = .
0x0000000000100a50 . = ALIGN (0x1)
0x0000000000100a50 __start_NRV2E = .
NRV2E 0x0000000000100a4c 0xe5
NRV2E 0x0000000000100a4c 0xe5 tmp/amd64-expand.o
0x0000000000100b31 __stop_NRV2E = .
0x0000000000100b31 . = ALIGN (0x1)
0x0000000000100b31 __start_NRV2D = .
NRV2E 0x0000000000100a50 0xe5
NRV2E 0x0000000000100a50 0xe5 tmp/amd64-expand.o
0x0000000000100b35 __stop_NRV2E = .
0x0000000000100b35 . = ALIGN (0x1)
0x0000000000100b35 __start_NRV2D = .
NRV2D 0x0000000000100b31 0xd7
NRV2D 0x0000000000100b31 0xd7 tmp/amd64-expand.o
0x0000000000100c08 __stop_NRV2D = .
0x0000000000100c08 . = ALIGN (0x1)
0x0000000000100c08 __start_NRV2B = .
NRV2D 0x0000000000100b35 0xd7
NRV2D 0x0000000000100b35 0xd7 tmp/amd64-expand.o
0x0000000000100c0c __stop_NRV2D = .
0x0000000000100c0c . = ALIGN (0x1)
0x0000000000100c0c __start_NRV2B = .
NRV2B 0x0000000000100c08 0xc1
NRV2B 0x0000000000100c08 0xc1 tmp/amd64-expand.o
0x0000000000100cc9 __stop_NRV2B = .
NRV2B 0x0000000000100c0c 0xc1
NRV2B 0x0000000000100c0c 0xc1 tmp/amd64-expand.o
0x0000000000100ccd __stop_NRV2B = .
.data
.bss 0x0000000000100ccc 0x0
.bss 0x0000000000100ccc 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x0000000000100ccc 0x0 tmp/amd64-linux.elf-main.o
.bss 0x0000000000100ccc 0x0 tmp/amd64-expand.o
.bss 0x0000000000100cd0 0x0
.bss 0x0000000000100cd0 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x0000000000100cd0 0x0 tmp/amd64-linux.elf-main.o
.bss 0x0000000000100cd0 0x0 tmp/amd64-expand.o
.rela.dyn 0x0000000000100cd0 0x0
.rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o