i386: Separate PROT_EXEC and PROT_WRITE

Also affects some arm and mips (via sharing i386-linux.elf-main.c)
	modified:   i386-linux.elf-entry.S
	modified:   i386-linux.elf-main.c

	also .h, .map, .dump
This commit is contained in:
John Reiser
2017-06-16 08:17:44 -07:00
parent a4c9b64224
commit d67bf16a08
11 changed files with 2178 additions and 2155 deletions
+16 -16
View File
@@ -32,8 +32,8 @@
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_SIZE 2808
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x99cd6698
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0x7eb8dddc
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_ADLER32 0x60e165c0
#define STUB_MIPSEL_R3000_LINUX_ELF_FOLD_CRC32 0xd3ea03c9
unsigned char stub_mipsel_r3000_linux_elf_fold[2808] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -108,14 +108,14 @@ unsigned char stub_mipsel_r3000_linux_elf_fold[2808] = {
/* 0x0450 */ 0, 0,176,175, 4, 0,191,175,242,255, 17, 4, 33,128,192, 0,
/* 0x0460 */ 2, 0, 64, 16, 0, 0, 0, 0, 4, 0, 80,172, 4, 0,191,143,
/* 0x0470 */ 0, 0,176,143, 8, 0,224, 3, 8, 0,189, 39,168,255,189, 39,
/* 0x0480 */ 80, 0,190,175, 68, 0,181,175, 52, 0,177,175, 84, 0,191,175,
/* 0x0490 */ 76, 0,183,175, 72, 0,182,175, 64, 0,180,175, 60, 0,179,175,
/* 0x04a0 */ 56, 0,178,175, 48, 0,176,175, 28, 0,162,140, 33,168,160, 0,
/* 0x0480 */ 80, 0,190,175, 64, 0,180,175, 52, 0,177,175, 84, 0,191,175,
/* 0x0490 */ 76, 0,183,175, 72, 0,182,175, 68, 0,181,175, 60, 0,179,175,
/* 0x04a0 */ 56, 0,178,175, 48, 0,176,175, 28, 0,162,140, 33,160,160, 0,
/* 0x04b0 */ 28, 0,164,175, 6, 0, 5, 36, 33, 32,224, 0, 32, 0,167,175,
/* 0x04c0 */ 33,240,192, 0, 36, 0,168,175, 40, 0,169,175,213,255, 17, 4,
/* 0x04d0 */ 33,136,162, 2, 3, 0, 64, 20, 0, 0, 0, 0, 4, 0, 0, 16,
/* 0x04d0 */ 33,136,130, 2, 3, 0, 64, 20, 0, 0, 0, 0, 4, 0, 0, 16,
/* 0x04e0 */ 255,255, 2, 52, 4, 0, 66,140, 0, 0, 0, 0,255,255, 66, 36,
/* 0x04f0 */ 20, 0,162,175, 16, 0,162,150, 20, 0,164,143, 44, 0,163,150,
/* 0x04f0 */ 20, 0,162,175, 16, 0,130,150, 20, 0,164,143, 44, 0,131,150,
/* 0x0500 */ 2, 0, 66, 56, 1, 0, 66, 44, 39, 40, 4, 0, 0, 57, 2, 0,
/* 0x0510 */ 255,255, 99, 36, 33, 64, 32, 2,255,255, 4, 36, 33, 72, 0, 0,
/* 0x0520 */ 19, 0, 0, 16, 1, 0, 10, 36, 0, 0, 2,141, 0, 0, 0, 0,
@@ -136,8 +136,8 @@ unsigned char stub_mipsel_r3000_linux_elf_fold[2808] = {
/* 0x0610 */ 24, 0, 35,142, 33,176,226, 2, 81,115, 2, 60,128, 24, 3, 0,
/* 0x0620 */ 64, 98, 66, 52, 6,144, 98, 0, 20, 0,163,143, 16, 0, 36,142,
/* 0x0630 */ 36, 16,195, 2, 0, 0,164,175, 33,152,130, 0, 20, 0, 36,142,
/* 0x0640 */ 4, 0,182,175, 7, 0, 84, 50, 24, 0,164,175, 27, 0,192, 19,
/* 0x0650 */ 35,128,194, 2, 33, 32, 0, 2, 33, 40, 96, 2, 2, 0,134, 54,
/* 0x0640 */ 4, 0,182,175, 7, 0, 85, 50, 24, 0,164,175, 27, 0,192, 19,
/* 0x0650 */ 35,128,194, 2, 33, 32, 0, 2, 33, 40, 96, 2, 3, 0, 6, 36,
/* 0x0660 */ 18, 8, 7, 36,255,255, 8, 36,205,254, 17, 4, 33, 72, 0, 0,
/* 0x0670 */ 6, 0, 2, 18, 4, 0, 66, 50,127, 0, 4, 36,207,254, 17, 4,
/* 0x0680 */ 161, 15, 2, 36,255,255, 0, 16, 0, 0, 0, 0, 4, 0, 64, 16,
@@ -145,10 +145,10 @@ unsigned char stub_mipsel_r3000_linux_elf_fold[2808] = {
/* 0x06a0 */ 33, 56, 0, 0, 28, 0,166,143, 33, 32,192, 3,231,254, 17, 4,
/* 0x06b0 */ 33, 40,160, 3, 16, 0, 0, 16, 0, 0, 0, 0, 4, 0, 41,142,
/* 0x06c0 */ 28, 0,168,143, 33, 32, 0, 2, 35, 72, 34, 1, 33, 40, 96, 2,
/* 0x06d0 */ 33, 48,128, 2,178,254, 17, 4, 18, 0, 7, 36, 6, 0, 2, 18,
/* 0x06d0 */ 33, 48,160, 2,178,254, 17, 4, 18, 0, 7, 36, 6, 0, 2, 18,
/* 0x06e0 */ 127, 0, 4, 36,161, 15, 2, 36,180,254, 17, 4, 0, 0, 0, 0,
/* 0x06f0 */ 255,255, 0, 16, 0, 0, 0, 0, 20, 0,164,143, 35, 16, 19, 0,
/* 0x0700 */ 2, 0,131, 50, 8, 0, 96, 16, 36,144, 68, 0, 6, 0, 64, 18,
/* 0x0700 */ 2, 0,163, 50, 8, 0, 96, 16, 36,144, 68, 0, 6, 0, 64, 18,
/* 0x0710 */ 33, 16, 64, 2, 33, 24, 19, 2,255,255, 66, 36, 0, 0, 96,160,
/* 0x0720 */ 253,255, 64, 20, 1, 0, 99, 36, 43, 0,192, 19, 1, 0, 2, 36,
/* 0x0730 */ 0, 0, 35,142, 0, 0, 0, 0, 28, 0, 98, 20, 33, 32, 0, 2,
@@ -159,21 +159,21 @@ unsigned char stub_mipsel_r3000_linux_elf_fold[2808] = {
/* 0x0780 */ 33, 32, 0, 2, 12, 0, 2, 36, 0, 0,194,172, 32, 3, 2, 60,
/* 0x0790 */ 8, 0, 66, 52, 32, 0,164,143, 4, 0,194,172, 8, 0,192,172,
/* 0x07a0 */ 42,255, 17, 4, 33, 40, 0, 0, 33, 32, 0, 2, 33, 40, 96, 2,
/* 0x07b0 */ 33, 48,128, 2,129,254, 17, 4, 29, 16, 2, 36, 6, 0, 64, 16,
/* 0x07b0 */ 33, 48,160, 2,129,254, 17, 4, 29, 16, 2, 36, 6, 0, 64, 16,
/* 0x07c0 */ 127, 0, 4, 36,161, 15, 2, 36,124,254, 17, 4, 0, 0, 0, 0,
/* 0x07d0 */ 255,255, 0, 16, 0, 0, 0, 0, 24, 0,164,143, 33, 16,114, 2,
/* 0x07e0 */ 33, 40,196, 2, 33,128, 2, 2, 43, 16, 5, 2, 14, 0, 64, 16,
/* 0x07f0 */ 35, 40,176, 0, 33, 48,128, 2, 33, 32, 0, 2, 18, 8, 7, 36,
/* 0x07f0 */ 35, 40,176, 0, 33, 48,160, 2, 33, 32, 0, 2, 18, 8, 7, 36,
/* 0x0800 */ 255,255, 8, 36,102,254, 17, 4, 33, 72, 0, 0, 6, 0, 2, 18,
/* 0x0810 */ 127, 0, 4, 36,161, 15, 2, 36,104,254, 17, 4, 0, 0, 0, 0,
/* 0x0820 */ 255,255, 0, 16, 0, 0, 0, 0, 16, 0,162,143, 32, 0, 49, 38,
/* 0x0830 */ 1, 0, 66, 36, 16, 0,162,175, 44, 0,162,150, 16, 0,163,143,
/* 0x0830 */ 1, 0, 66, 36, 16, 0,162,175, 44, 0,130,150, 16, 0,163,143,
/* 0x0840 */ 0, 0, 0, 0, 42, 16, 98, 0, 95,255, 64, 20, 0, 0, 0, 0,
/* 0x0850 */ 11, 0,192, 19, 3, 0, 2, 36, 16, 0,163,150, 0, 0, 0, 0,
/* 0x0850 */ 11, 0,192, 19, 3, 0, 2, 36, 16, 0,131,150, 0, 0, 0, 0,
/* 0x0860 */ 7, 0, 98, 16, 0, 0, 0, 0, 12, 0,162,143, 8, 0,163,143,
/* 0x0870 */ 0, 0, 0, 0, 33, 32, 67, 0, 80,254, 17, 4,205, 15, 2, 36,
/* 0x0880 */ 36, 0,164,143, 0, 0, 0, 0, 2, 0,128, 16, 0, 0, 0, 0,
/* 0x0890 */ 0, 0,151,172, 24, 0,162,142, 84, 0,191,143, 33, 16,226, 2,
/* 0x0890 */ 0, 0,151,172, 24, 0,130,142, 84, 0,191,143, 33, 16,226, 2,
/* 0x08a0 */ 80, 0,190,143, 76, 0,183,143, 72, 0,182,143, 68, 0,181,143,
/* 0x08b0 */ 64, 0,180,143, 60, 0,179,143, 56, 0,178,143, 52, 0,177,143,
/* 0x08c0 */ 48, 0,176,143, 8, 0,224, 3, 88, 0,189, 39,200,255,189, 39,