i386 works: ELF layout for page holes

modified:   stub/src/i386-linux.elf-entry.S
	modified:   stub/src/i386-linux.elf-fold.S
	modified:   stub/src/i386-linux.elf-main.c

	modified:   stub/arm.v4a-linux.elf-fold.h
	modified:   stub/arm.v5a-linux.elf-fold.h
	modified:   stub/armeb.v4a-linux.elf-fold.h
	modified:   stub/i386-linux.elf-entry.h
	modified:   stub/i386-linux.elf-fold.h
	modified:   stub/mips.r3000-linux.elf-fold.h
	modified:   stub/mipsel.r3000-linux.elf-fold.h
	modified:   stub/powerpc-linux.elf-fold.h
	modified:   stub/src/include/linux.h
	modified:   stub/tmp/arm.v4a-linux.elf-fold.map
	modified:   stub/tmp/arm.v5a-linux.elf-fold.map
	modified:   stub/tmp/armeb.v4a-linux.elf-fold.map
	modified:   stub/tmp/i386-linux.elf-entry.bin.dump
	modified:   stub/tmp/i386-linux.elf-fold.map
	modified:   stub/tmp/mips.r3000-linux.elf-fold.map
	modified:   stub/tmp/mipsel.r3000-linux.elf-fold.map
	modified:   stub/tmp/powerpc-linux.elf-fold.map
This commit is contained in:
John Reiser
2020-05-15 16:05:26 -07:00
committed by Markus F.X.J. Oberhumer
parent 80c27e0822
commit fd2939e18d
20 changed files with 2805 additions and 2810 deletions
+8 -8
View File
@@ -9,7 +9,7 @@ Linker script and memory map
TARGET(elf32-littlearm)
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008080 0xa94
.text 0x0000000000008080 0xaa8
*(.text)
.text 0x0000000000008080 0x30c tmp/arm.v4a-linux.elf-fold.o
0x00000000000082dc munmap
@@ -29,18 +29,18 @@ TARGET(elf32-littlearm)
0x0000000000008330 div10
0x00000000000082e4 mprotect
0x00000000000082b4 close
.text 0x000000000000838c 0x788 tmp/arm.v4a-linux.elf-main.o
.text 0x000000000000838c 0x79c tmp/arm.v4a-linux.elf-main.o
0x00000000000083ac get_page_mask
0x00000000000089e0 upx_main
0x00000000000089f4 upx_main
*(.data)
.data 0x0000000000008b14 0x0 tmp/arm.v4a-linux.elf-fold.o
.data 0x0000000000008b14 0x0 tmp/arm.v4a-linux.elf-main.o
.data 0x0000000000008b28 0x0 tmp/arm.v4a-linux.elf-fold.o
.data 0x0000000000008b28 0x0 tmp/arm.v4a-linux.elf-main.o
.data
.bss 0x0000000000008b14 0x0
.bss 0x0000000000008b14 0x0 tmp/arm.v4a-linux.elf-fold.o
.bss 0x0000000000008b14 0x0 tmp/arm.v4a-linux.elf-main.o
.bss 0x0000000000008b28 0x0
.bss 0x0000000000008b28 0x0 tmp/arm.v4a-linux.elf-fold.o
.bss 0x0000000000008b28 0x0 tmp/arm.v4a-linux.elf-main.o
LOAD tmp/arm.v4a-linux.elf-fold.o
LOAD tmp/arm.v4a-linux.elf-main.o
OUTPUT(tmp/arm.v4a-linux.elf-fold.bin elf32-littlearm)
+8 -8
View File
@@ -9,7 +9,7 @@ Linker script and memory map
TARGET(elf32-littlearm)
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008080 0xb30
.text 0x0000000000008080 0xb44
*(.text)
.text 0x0000000000008080 0x3ac tmp/arm.v5a-linux.elf-fold.o
0x0000000000008348 munmap
@@ -29,18 +29,18 @@ TARGET(elf32-littlearm)
0x00000000000083d0 div10
0x000000000000835c mprotect
0x00000000000082e4 close
.text 0x000000000000842c 0x784 tmp/armel-linux.elf-main.o
.text 0x000000000000842c 0x798 tmp/armel-linux.elf-main.o
0x000000000000844c get_page_mask
0x0000000000008a7c upx_main
0x0000000000008a90 upx_main
*(.data)
.data 0x0000000000008bb0 0x0 tmp/arm.v5a-linux.elf-fold.o
.data 0x0000000000008bb0 0x0 tmp/armel-linux.elf-main.o
.data 0x0000000000008bc4 0x0 tmp/arm.v5a-linux.elf-fold.o
.data 0x0000000000008bc4 0x0 tmp/armel-linux.elf-main.o
.data
.bss 0x0000000000008bb0 0x0
.bss 0x0000000000008bb0 0x0 tmp/arm.v5a-linux.elf-fold.o
.bss 0x0000000000008bb0 0x0 tmp/armel-linux.elf-main.o
.bss 0x0000000000008bc4 0x0
.bss 0x0000000000008bc4 0x0 tmp/arm.v5a-linux.elf-fold.o
.bss 0x0000000000008bc4 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
View File
@@ -9,7 +9,7 @@ Linker script and memory map
TARGET(elf32-bigarm)
0x0000000000008080 . = ((0x8000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000008080 0xa94
.text 0x0000000000008080 0xaa8
*(.text)
.text 0x0000000000008080 0x30c tmp/armeb.v4a-linux.elf-fold.o
0x00000000000082dc munmap
@@ -29,18 +29,18 @@ TARGET(elf32-bigarm)
0x0000000000008330 div10
0x00000000000082e4 mprotect
0x00000000000082b4 close
.text 0x000000000000838c 0x788 tmp/armeb.v4a-linux.elf-main.o
.text 0x000000000000838c 0x79c tmp/armeb.v4a-linux.elf-main.o
0x00000000000083ac get_page_mask
0x00000000000089e0 upx_main
0x00000000000089f4 upx_main
*(.data)
.data 0x0000000000008b14 0x0 tmp/armeb.v4a-linux.elf-fold.o
.data 0x0000000000008b14 0x0 tmp/armeb.v4a-linux.elf-main.o
.data 0x0000000000008b28 0x0 tmp/armeb.v4a-linux.elf-fold.o
.data 0x0000000000008b28 0x0 tmp/armeb.v4a-linux.elf-main.o
.data
.bss 0x0000000000008b14 0x0
.bss 0x0000000000008b14 0x0 tmp/armeb.v4a-linux.elf-fold.o
.bss 0x0000000000008b14 0x0 tmp/armeb.v4a-linux.elf-main.o
.bss 0x0000000000008b28 0x0
.bss 0x0000000000008b28 0x0 tmp/armeb.v4a-linux.elf-fold.o
.bss 0x0000000000008b28 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)
+2 -2
View File
@@ -169,7 +169,7 @@ Idx Name Size VMA LMA File off Algn Flags
164 ctok32.30 0000000a 00000000 00000000 00001aa8 2**0 CONTENTS, RELOC, READONLY
165 ctok32.40 00000005 00000000 00000000 00001ab2 2**0 CONTENTS, RELOC, READONLY
166 LEXEC017 00000002 00000000 00000000 00001ab7 2**0 CONTENTS, READONLY
167 LEXEC020 000000e2 00000000 00000000 00001ab9 2**0 CONTENTS, RELOC, READONLY
167 LEXEC020 000000ab 00000000 00000000 00001ab9 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
00000000 l d N2BSMA10 00000000 N2BSMA10
00000000 l d N2BFAS11 00000000 N2BFAS11
@@ -657,4 +657,4 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [LEXEC020]:
OFFSET TYPE VALUE
000000de R_386_32 O_BINFO
000000a7 R_386_32 O_BINFO
+13 -12
View File
@@ -9,24 +9,25 @@ Linker script and memory map
TARGET(elf32-i386)
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000c01080 0x744
.text 0x0000000000c01080 0x748
*(.text)
.text 0x0000000000c01080 0x14c tmp/i386-linux.elf-fold.o
0x0000000000c011a0 mmap
.text 0x0000000000c011cc 0x5f8 tmp/i386-linux.elf-main.o
0x0000000000c012f4 get_page_mask
0x0000000000c016ba upx_main
.text 0x0000000000c01080 0x15c tmp/i386-linux.elf-fold.o
0x0000000000c011ae mmap
.text 0x0000000000c011dc 0x5eb tmp/i386-linux.elf-main.o
0x0000000000c01304 get_page_mask
0x0000000000c016bd upx_main
*(.data)
.data 0x0000000000c017c4 0x0 tmp/i386-linux.elf-fold.o
.data 0x0000000000c017c4 0x0 tmp/i386-linux.elf-main.o
*fill* 0x0000000000c017c7 0x1 00
.data 0x0000000000c017c8 0x0 tmp/i386-linux.elf-fold.o
.data 0x0000000000c017c8 0x0 tmp/i386-linux.elf-main.o
.data
.bss 0x0000000000c017c4 0x0
.bss 0x0000000000c017c4 0x0 tmp/i386-linux.elf-fold.o
.bss 0x0000000000c017c4 0x0 tmp/i386-linux.elf-main.o
.bss 0x0000000000c017c8 0x0
.bss 0x0000000000c017c8 0x0 tmp/i386-linux.elf-fold.o
.bss 0x0000000000c017c8 0x0 tmp/i386-linux.elf-main.o
.rel.dyn 0x0000000000c017c4 0x0
.rel.dyn 0x0000000000c017c8 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
View File
@@ -9,20 +9,20 @@ Linker script and memory map
TARGET(elf32-bigmips)
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000100080 0xa80
.text 0x0000000000100080 0xaa0
*(.text)
.text 0x0000000000100080 0x170 tmp/mips.r3000-linux.elf-fold.o
.text 0x00000000001001f0 0x910 tmp/mips.r3000-linux.elf-main.o
0x000000000010095c upx_main
.text 0x00000000001001f0 0x930 tmp/mips.r3000-linux.elf-main.o
0x0000000000100984 upx_main
*(.data)
.data 0x0000000000100b00 0x0 tmp/mips.r3000-linux.elf-fold.o
.data 0x0000000000100b00 0x0 tmp/mips.r3000-linux.elf-main.o
.data 0x0000000000100b20 0x0 tmp/mips.r3000-linux.elf-fold.o
.data 0x0000000000100b20 0x0 tmp/mips.r3000-linux.elf-main.o
.data
.bss 0x0000000000100b00 0x0
.bss 0x0000000000100b00 0x0 tmp/mips.r3000-linux.elf-fold.o
.bss 0x0000000000100b00 0x0 tmp/mips.r3000-linux.elf-main.o
.bss 0x0000000000100b20 0x0
.bss 0x0000000000100b20 0x0 tmp/mips.r3000-linux.elf-fold.o
.bss 0x0000000000100b20 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
View File
@@ -9,20 +9,20 @@ Linker script and memory map
TARGET(elf32-littlemips)
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000100080 0xa80
.text 0x0000000000100080 0xaa0
*(.text)
.text 0x0000000000100080 0x170 tmp/mipsel.r3000-linux.elf-fold.o
.text 0x00000000001001f0 0x910 tmp/mipsel.r3000-linux.elf-main.o
0x000000000010095c upx_main
.text 0x00000000001001f0 0x930 tmp/mipsel.r3000-linux.elf-main.o
0x0000000000100984 upx_main
*(.data)
.data 0x0000000000100b00 0x0 tmp/mipsel.r3000-linux.elf-fold.o
.data 0x0000000000100b00 0x0 tmp/mipsel.r3000-linux.elf-main.o
.data 0x0000000000100b20 0x0 tmp/mipsel.r3000-linux.elf-fold.o
.data 0x0000000000100b20 0x0 tmp/mipsel.r3000-linux.elf-main.o
.data
.bss 0x0000000000100b00 0x0
.bss 0x0000000000100b00 0x0 tmp/mipsel.r3000-linux.elf-fold.o
.bss 0x0000000000100b00 0x0 tmp/mipsel.r3000-linux.elf-main.o
.bss 0x0000000000100b20 0x0
.bss 0x0000000000100b20 0x0 tmp/mipsel.r3000-linux.elf-fold.o
.bss 0x0000000000100b20 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
View File
@@ -9,7 +9,7 @@ Linker script and memory map
TARGET(elf32-powerpc)
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000100080 0x10c0
.text 0x0000000000100080 0x10d8
*(.text)
.text 0x0000000000100080 0x250 tmp/powerpc-linux.elf-fold.o
0x0000000000100080 get_page_mask
@@ -24,19 +24,19 @@ TARGET(elf32-powerpc)
0x00000000001002a8 open
0x00000000001002b8 mprotect
0x00000000001002b0 close
.text 0x00000000001002d0 0xe70 tmp/powerpc-linux.elf-main.o
0x0000000000100f40 upx_main
.text 0x00000000001002d0 0xe88 tmp/powerpc-linux.elf-main.o
0x0000000000100f58 upx_main
*(.data)
.data 0x0000000000101140 0x0 tmp/powerpc-linux.elf-fold.o
.data 0x0000000000101140 0x0 tmp/powerpc-linux.elf-main.o
.data 0x0000000000101158 0x0 tmp/powerpc-linux.elf-fold.o
.data 0x0000000000101158 0x0 tmp/powerpc-linux.elf-main.o
.data
.bss 0x0000000000101140 0x0
.bss 0x0000000000101140 0x0 tmp/powerpc-linux.elf-fold.o
.bss 0x0000000000101140 0x0 tmp/powerpc-linux.elf-main.o
.bss 0x0000000000101158 0x0
.bss 0x0000000000101158 0x0 tmp/powerpc-linux.elf-fold.o
.bss 0x0000000000101158 0x0 tmp/powerpc-linux.elf-main.o
.rela.dyn 0x0000000000101140 0x0
.rela.dyn 0x0000000000101158 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