32-bit ELF escape hatch when no fit on last executable page
... about 1/1000 (4/PAGE_SIZE) chance modified: src/stub/src/i386-linux.elf-main.c modified: misc/testsuite/upx_testsuite_1-expected_sha256sums.sh plus all 32-bit elf-fold.h, elf-fold.map
This commit is contained in:
+5
-5
@@ -8,7 +8,7 @@ Linker script and memory map
|
||||
|
||||
0x0000000000008040 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000008040 0xafc
|
||||
.text 0x0000000000008040 0xaec
|
||||
*(.text)
|
||||
.text 0x0000000000008040 0x348 tmp/arm.v4a-linux.elf-fold.o
|
||||
0x0000000000008260 my_bkpt
|
||||
@@ -30,12 +30,12 @@ Linker script and memory map
|
||||
0x0000000000008314 mmap_privanon
|
||||
0x000000000000832c __udivsi3
|
||||
0x000000000000832c div10
|
||||
.text 0x0000000000008388 0x7b4 tmp/arm.v4a-linux.elf-main.o
|
||||
.text 0x0000000000008388 0x7a4 tmp/arm.v4a-linux.elf-main.o
|
||||
0x0000000000008388 get_page_mask
|
||||
0x0000000000008a08 upx_main
|
||||
0x00000000000089f8 upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000008b3c 0x0 tmp/arm.v4a-linux.elf-fold.o
|
||||
.data 0x0000000000008b3c 0x0 tmp/arm.v4a-linux.elf-main.o
|
||||
.data 0x0000000000008b2c 0x0 tmp/arm.v4a-linux.elf-fold.o
|
||||
.data 0x0000000000008b2c 0x0 tmp/arm.v4a-linux.elf-main.o
|
||||
|
||||
.data
|
||||
LOAD tmp/arm.v4a-linux.elf-fold.o
|
||||
|
||||
+8
-8
@@ -9,7 +9,7 @@ Linker script and memory map
|
||||
TARGET(elf32-littlearm)
|
||||
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000008080 0xba8
|
||||
.text 0x0000000000008080 0xb98
|
||||
*(.text)
|
||||
.text 0x0000000000008080 0x3fc tmp/arm.v5a-linux.elf-fold.o
|
||||
0x0000000000008358 munmap
|
||||
@@ -31,18 +31,18 @@ TARGET(elf32-littlearm)
|
||||
0x0000000000008420 div10
|
||||
0x000000000000836c mprotect
|
||||
0x00000000000082f4 close
|
||||
.text 0x000000000000847c 0x7ac tmp/armel-linux.elf-main.o
|
||||
.text 0x000000000000847c 0x79c tmp/armel-linux.elf-main.o
|
||||
0x000000000000847c get_page_mask
|
||||
0x0000000000008af4 upx_main
|
||||
0x0000000000008ae4 upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000008c28 0x0 tmp/arm.v5a-linux.elf-fold.o
|
||||
.data 0x0000000000008c28 0x0 tmp/armel-linux.elf-main.o
|
||||
.data 0x0000000000008c18 0x0 tmp/arm.v5a-linux.elf-fold.o
|
||||
.data 0x0000000000008c18 0x0 tmp/armel-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000008c28 0x0
|
||||
.bss 0x0000000000008c28 0x0 tmp/arm.v5a-linux.elf-fold.o
|
||||
.bss 0x0000000000008c28 0x0 tmp/armel-linux.elf-main.o
|
||||
.bss 0x0000000000008c18 0x0
|
||||
.bss 0x0000000000008c18 0x0 tmp/arm.v5a-linux.elf-fold.o
|
||||
.bss 0x0000000000008c18 0x0 tmp/armel-linux.elf-main.o
|
||||
LOAD tmp/arm.v5a-linux.elf-fold.o
|
||||
LOAD tmp/armel-linux.elf-main.o
|
||||
OUTPUT(tmp/arm.v5a-linux.elf-fold.bin elf32-littlearm)
|
||||
|
||||
+8
-8
@@ -9,7 +9,7 @@ Linker script and memory map
|
||||
TARGET(elf32-bigarm)
|
||||
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000008080 0xafc
|
||||
.text 0x0000000000008080 0xaec
|
||||
*(.text)
|
||||
.text 0x0000000000008080 0x348 tmp/armeb.v4a-linux.elf-fold.o
|
||||
0x00000000000082ec munmap
|
||||
@@ -31,18 +31,18 @@ TARGET(elf32-bigarm)
|
||||
0x000000000000836c div10
|
||||
0x00000000000082f4 mprotect
|
||||
0x00000000000082c4 close
|
||||
.text 0x00000000000083c8 0x7b4 tmp/armeb.v4a-linux.elf-main.o
|
||||
.text 0x00000000000083c8 0x7a4 tmp/armeb.v4a-linux.elf-main.o
|
||||
0x00000000000083c8 get_page_mask
|
||||
0x0000000000008a48 upx_main
|
||||
0x0000000000008a38 upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000008b7c 0x0 tmp/armeb.v4a-linux.elf-fold.o
|
||||
.data 0x0000000000008b7c 0x0 tmp/armeb.v4a-linux.elf-main.o
|
||||
.data 0x0000000000008b6c 0x0 tmp/armeb.v4a-linux.elf-fold.o
|
||||
.data 0x0000000000008b6c 0x0 tmp/armeb.v4a-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000008b7c 0x0
|
||||
.bss 0x0000000000008b7c 0x0 tmp/armeb.v4a-linux.elf-fold.o
|
||||
.bss 0x0000000000008b7c 0x0 tmp/armeb.v4a-linux.elf-main.o
|
||||
.bss 0x0000000000008b6c 0x0
|
||||
.bss 0x0000000000008b6c 0x0 tmp/armeb.v4a-linux.elf-fold.o
|
||||
.bss 0x0000000000008b6c 0x0 tmp/armeb.v4a-linux.elf-main.o
|
||||
LOAD tmp/armeb.v4a-linux.elf-fold.o
|
||||
LOAD tmp/armeb.v4a-linux.elf-main.o
|
||||
OUTPUT(tmp/armeb.v4a-linux.elf-fold.bin elf32-bigarm)
|
||||
|
||||
+10
-9
@@ -9,25 +9,26 @@ Linker script and memory map
|
||||
TARGET(elf32-i386)
|
||||
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000c01080 0x798
|
||||
.text 0x0000000000c01080 0x790
|
||||
*(.text)
|
||||
.text 0x0000000000c01080 0x194 tmp/i386-linux.elf-fold.o
|
||||
0x0000000000c011e8 mmap
|
||||
0x0000000000c011c0 Pprotect
|
||||
.text 0x0000000000c01214 0x604 tmp/i386-linux.elf-main.o
|
||||
.text 0x0000000000c01214 0x5fa tmp/i386-linux.elf-main.o
|
||||
0x0000000000c0136f get_page_mask
|
||||
0x0000000000c0170e upx_main
|
||||
0x0000000000c01704 upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000c01818 0x0 tmp/i386-linux.elf-fold.o
|
||||
.data 0x0000000000c01818 0x0 tmp/i386-linux.elf-main.o
|
||||
*fill* 0x0000000000c0180e 0x2 00
|
||||
.data 0x0000000000c01810 0x0 tmp/i386-linux.elf-fold.o
|
||||
.data 0x0000000000c01810 0x0 tmp/i386-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000c01818 0x0
|
||||
.bss 0x0000000000c01818 0x0 tmp/i386-linux.elf-fold.o
|
||||
.bss 0x0000000000c01818 0x0 tmp/i386-linux.elf-main.o
|
||||
.bss 0x0000000000c01810 0x0
|
||||
.bss 0x0000000000c01810 0x0 tmp/i386-linux.elf-fold.o
|
||||
.bss 0x0000000000c01810 0x0 tmp/i386-linux.elf-main.o
|
||||
|
||||
.rel.dyn 0x0000000000c01818 0x0
|
||||
.rel.dyn 0x0000000000c01810 0x0
|
||||
.rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
|
||||
LOAD tmp/i386-linux.elf-fold.o
|
||||
LOAD tmp/i386-linux.elf-main.o
|
||||
|
||||
+8
-8
@@ -9,21 +9,21 @@ Linker script and memory map
|
||||
TARGET(elf32-bigmips)
|
||||
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000100080 0xb40
|
||||
.text 0x0000000000100080 0xb30
|
||||
*(.text)
|
||||
.text 0x0000000000100080 0x1c0 tmp/mips.r3000-linux.elf-fold.o
|
||||
0x000000000010021c Pprotect
|
||||
.text 0x0000000000100240 0x980 tmp/mips.r3000-linux.elf-main.o
|
||||
0x0000000000100a28 upx_main
|
||||
.text 0x0000000000100240 0x970 tmp/mips.r3000-linux.elf-main.o
|
||||
0x0000000000100a0c upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000100bc0 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.data 0x0000000000100bc0 0x0 tmp/mips.r3000-linux.elf-main.o
|
||||
.data 0x0000000000100bb0 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.data 0x0000000000100bb0 0x0 tmp/mips.r3000-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000100bc0 0x0
|
||||
.bss 0x0000000000100bc0 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.bss 0x0000000000100bc0 0x0 tmp/mips.r3000-linux.elf-main.o
|
||||
.bss 0x0000000000100bb0 0x0
|
||||
.bss 0x0000000000100bb0 0x0 tmp/mips.r3000-linux.elf-fold.o
|
||||
.bss 0x0000000000100bb0 0x0 tmp/mips.r3000-linux.elf-main.o
|
||||
LOAD tmp/mips.r3000-linux.elf-fold.o
|
||||
LOAD tmp/mips.r3000-linux.elf-main.o
|
||||
OUTPUT(tmp/mips.r3000-linux.elf-fold.bin elf32-bigmips)
|
||||
|
||||
+8
-8
@@ -9,21 +9,21 @@ Linker script and memory map
|
||||
TARGET(elf32-littlemips)
|
||||
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000100080 0xb40
|
||||
.text 0x0000000000100080 0xb30
|
||||
*(.text)
|
||||
.text 0x0000000000100080 0x1c0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
0x000000000010021c Pprotect
|
||||
.text 0x0000000000100240 0x980 tmp/mipsel.r3000-linux.elf-main.o
|
||||
0x0000000000100a28 upx_main
|
||||
.text 0x0000000000100240 0x970 tmp/mipsel.r3000-linux.elf-main.o
|
||||
0x0000000000100a0c upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000100bc0 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.data 0x0000000000100bc0 0x0 tmp/mipsel.r3000-linux.elf-main.o
|
||||
.data 0x0000000000100bb0 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.data 0x0000000000100bb0 0x0 tmp/mipsel.r3000-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000100bc0 0x0
|
||||
.bss 0x0000000000100bc0 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.bss 0x0000000000100bc0 0x0 tmp/mipsel.r3000-linux.elf-main.o
|
||||
.bss 0x0000000000100bb0 0x0
|
||||
.bss 0x0000000000100bb0 0x0 tmp/mipsel.r3000-linux.elf-fold.o
|
||||
.bss 0x0000000000100bb0 0x0 tmp/mipsel.r3000-linux.elf-main.o
|
||||
LOAD tmp/mipsel.r3000-linux.elf-fold.o
|
||||
LOAD tmp/mipsel.r3000-linux.elf-main.o
|
||||
OUTPUT(tmp/mipsel.r3000-linux.elf-fold.bin elf32-littlemips)
|
||||
|
||||
+9
-9
@@ -9,7 +9,7 @@ Linker script and memory map
|
||||
TARGET(elf32-powerpc)
|
||||
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
|
||||
|
||||
.text 0x0000000000100080 0x1100
|
||||
.text 0x0000000000100080 0x10f0
|
||||
*(.text)
|
||||
.text 0x0000000000100080 0x2a4 tmp/powerpc-linux.elf-fold.o
|
||||
0x0000000000100084 get_page_mask
|
||||
@@ -25,19 +25,19 @@ TARGET(elf32-powerpc)
|
||||
0x00000000001002fc open
|
||||
0x000000000010030c mprotect
|
||||
0x0000000000100304 close
|
||||
.text 0x0000000000100324 0xe5c tmp/powerpc-linux.elf-main.o
|
||||
0x0000000000100f80 upx_main
|
||||
.text 0x0000000000100324 0xe4c tmp/powerpc-linux.elf-main.o
|
||||
0x0000000000100f70 upx_main
|
||||
*(.data)
|
||||
.data 0x0000000000101180 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.data 0x0000000000101180 0x0 tmp/powerpc-linux.elf-main.o
|
||||
.data 0x0000000000101170 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.data 0x0000000000101170 0x0 tmp/powerpc-linux.elf-main.o
|
||||
|
||||
.data
|
||||
|
||||
.bss 0x0000000000101180 0x0
|
||||
.bss 0x0000000000101180 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.bss 0x0000000000101180 0x0 tmp/powerpc-linux.elf-main.o
|
||||
.bss 0x0000000000101170 0x0
|
||||
.bss 0x0000000000101170 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
.bss 0x0000000000101170 0x0 tmp/powerpc-linux.elf-main.o
|
||||
|
||||
.rela.dyn 0x0000000000101180 0x0
|
||||
.rela.dyn 0x0000000000101170 0x0
|
||||
.rela.text 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o
|
||||
LOAD tmp/powerpc-linux.elf-fold.o
|
||||
LOAD tmp/powerpc-linux.elf-main.o
|
||||
|
||||
Reference in New Issue
Block a user