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_MIPS_R3000_LINUX_ELF_FOLD_SIZE 2808
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0x02b06699
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0xad86f34a
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_ADLER32 0xc8c565c1
#define STUB_MIPS_R3000_LINUX_ELF_FOLD_CRC32 0x4f945c79
unsigned char stub_mips_r3000_linux_elf_fold[2808] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -108,14 +108,14 @@ unsigned char stub_mips_r3000_linux_elf_fold[2808] = {
/* 0x0450 */ 175,176, 0, 0,175,191, 0, 4, 4, 17,255,242, 0,192,128, 33,
/* 0x0460 */ 16, 64, 0, 2, 0, 0, 0, 0,172, 80, 0, 4,143,191, 0, 4,
/* 0x0470 */ 143,176, 0, 0, 3,224, 0, 8, 39,189, 0, 8, 39,189,255,168,
/* 0x0480 */ 175,190, 0, 80,175,181, 0, 68,175,177, 0, 52,175,191, 0, 84,
/* 0x0490 */ 175,183, 0, 76,175,182, 0, 72,175,180, 0, 64,175,179, 0, 60,
/* 0x04a0 */ 175,178, 0, 56,175,176, 0, 48,140,162, 0, 28, 0,160,168, 33,
/* 0x0480 */ 175,190, 0, 80,175,180, 0, 64,175,177, 0, 52,175,191, 0, 84,
/* 0x0490 */ 175,183, 0, 76,175,182, 0, 72,175,181, 0, 68,175,179, 0, 60,
/* 0x04a0 */ 175,178, 0, 56,175,176, 0, 48,140,162, 0, 28, 0,160,160, 33,
/* 0x04b0 */ 175,164, 0, 28, 36, 5, 0, 6, 0,224, 32, 33,175,167, 0, 32,
/* 0x04c0 */ 0,192,240, 33,175,168, 0, 36,175,169, 0, 40, 4, 17,255,213,
/* 0x04d0 */ 2,162,136, 33, 20, 64, 0, 3, 0, 0, 0, 0, 16, 0, 0, 4,
/* 0x04d0 */ 2,130,136, 33, 20, 64, 0, 3, 0, 0, 0, 0, 16, 0, 0, 4,
/* 0x04e0 */ 52, 2,255,255,140, 66, 0, 4, 0, 0, 0, 0, 36, 66,255,255,
/* 0x04f0 */ 175,162, 0, 20,150,162, 0, 16,143,164, 0, 20,150,163, 0, 44,
/* 0x04f0 */ 175,162, 0, 20,150,130, 0, 16,143,164, 0, 20,150,131, 0, 44,
/* 0x0500 */ 56, 66, 0, 2, 44, 66, 0, 1, 0, 4, 40, 39, 0, 2, 57, 0,
/* 0x0510 */ 36, 99,255,255, 2, 32, 64, 33, 36, 4,255,255, 0, 0, 72, 33,
/* 0x0520 */ 16, 0, 0, 19, 36, 10, 0, 1,141, 2, 0, 0, 0, 0, 0, 0,
@@ -136,8 +136,8 @@ unsigned char stub_mips_r3000_linux_elf_fold[2808] = {
/* 0x0610 */ 142, 35, 0, 24, 2,226,176, 33, 60, 2,115, 81, 0, 3, 24,128,
/* 0x0620 */ 52, 66, 98, 64, 0, 98,144, 6,143,163, 0, 20,142, 36, 0, 16,
/* 0x0630 */ 2,195, 16, 36,175,164, 0, 0, 0,130,152, 33,142, 36, 0, 20,
/* 0x0640 */ 175,182, 0, 4, 50, 84, 0, 7,175,164, 0, 24, 19,192, 0, 27,
/* 0x0650 */ 2,194,128, 35, 2, 0, 32, 33, 2, 96, 40, 33, 54,134, 0, 2,
/* 0x0640 */ 175,182, 0, 4, 50, 85, 0, 7,175,164, 0, 24, 19,192, 0, 27,
/* 0x0650 */ 2,194,128, 35, 2, 0, 32, 33, 2, 96, 40, 33, 36, 6, 0, 3,
/* 0x0660 */ 36, 7, 8, 18, 36, 8,255,255, 4, 17,254,205, 0, 0, 72, 33,
/* 0x0670 */ 18, 2, 0, 6, 50, 66, 0, 4, 36, 4, 0,127, 4, 17,254,207,
/* 0x0680 */ 36, 2, 15,161, 16, 0,255,255, 0, 0, 0, 0, 16, 64, 0, 4,
@@ -145,10 +145,10 @@ unsigned char stub_mips_r3000_linux_elf_fold[2808] = {
/* 0x06a0 */ 0, 0, 56, 33,143,166, 0, 28, 3,192, 32, 33, 4, 17,254,231,
/* 0x06b0 */ 3,160, 40, 33, 16, 0, 0, 16, 0, 0, 0, 0,142, 41, 0, 4,
/* 0x06c0 */ 143,168, 0, 28, 2, 0, 32, 33, 1, 34, 72, 35, 2, 96, 40, 33,
/* 0x06d0 */ 2,128, 48, 33, 4, 17,254,178, 36, 7, 0, 18, 18, 2, 0, 6,
/* 0x06d0 */ 2,160, 48, 33, 4, 17,254,178, 36, 7, 0, 18, 18, 2, 0, 6,
/* 0x06e0 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,254,180, 0, 0, 0, 0,
/* 0x06f0 */ 16, 0,255,255, 0, 0, 0, 0,143,164, 0, 20, 0, 19, 16, 35,
/* 0x0700 */ 50,131, 0, 2, 16, 96, 0, 8, 0, 68,144, 36, 18, 64, 0, 6,
/* 0x0700 */ 50,163, 0, 2, 16, 96, 0, 8, 0, 68,144, 36, 18, 64, 0, 6,
/* 0x0710 */ 2, 64, 16, 33, 2, 19, 24, 33, 36, 66,255,255,160, 96, 0, 0,
/* 0x0720 */ 20, 64,255,253, 36, 99, 0, 1, 19,192, 0, 43, 36, 2, 0, 1,
/* 0x0730 */ 142, 35, 0, 0, 0, 0, 0, 0, 20, 98, 0, 28, 2, 0, 32, 33,
@@ -159,21 +159,21 @@ unsigned char stub_mips_r3000_linux_elf_fold[2808] = {
/* 0x0780 */ 2, 0, 32, 33, 36, 2, 0, 12,172,194, 0, 0, 60, 2, 3, 32,
/* 0x0790 */ 52, 66, 0, 8,143,164, 0, 32,172,194, 0, 4,172,192, 0, 8,
/* 0x07a0 */ 4, 17,255, 42, 0, 0, 40, 33, 2, 0, 32, 33, 2, 96, 40, 33,
/* 0x07b0 */ 2,128, 48, 33, 4, 17,254,129, 36, 2, 16, 29, 16, 64, 0, 6,
/* 0x07b0 */ 2,160, 48, 33, 4, 17,254,129, 36, 2, 16, 29, 16, 64, 0, 6,
/* 0x07c0 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,254,124, 0, 0, 0, 0,
/* 0x07d0 */ 16, 0,255,255, 0, 0, 0, 0,143,164, 0, 24, 2,114, 16, 33,
/* 0x07e0 */ 2,196, 40, 33, 2, 2,128, 33, 2, 5, 16, 43, 16, 64, 0, 14,
/* 0x07f0 */ 0,176, 40, 35, 2,128, 48, 33, 2, 0, 32, 33, 36, 7, 8, 18,
/* 0x07f0 */ 0,176, 40, 35, 2,160, 48, 33, 2, 0, 32, 33, 36, 7, 8, 18,
/* 0x0800 */ 36, 8,255,255, 4, 17,254,102, 0, 0, 72, 33, 18, 2, 0, 6,
/* 0x0810 */ 36, 4, 0,127, 36, 2, 15,161, 4, 17,254,104, 0, 0, 0, 0,
/* 0x0820 */ 16, 0,255,255, 0, 0, 0, 0,143,162, 0, 16, 38, 49, 0, 32,
/* 0x0830 */ 36, 66, 0, 1,175,162, 0, 16,150,162, 0, 44,143,163, 0, 16,
/* 0x0830 */ 36, 66, 0, 1,175,162, 0, 16,150,130, 0, 44,143,163, 0, 16,
/* 0x0840 */ 0, 0, 0, 0, 0, 98, 16, 42, 20, 64,255, 95, 0, 0, 0, 0,
/* 0x0850 */ 19,192, 0, 11, 36, 2, 0, 3,150,163, 0, 16, 0, 0, 0, 0,
/* 0x0850 */ 19,192, 0, 11, 36, 2, 0, 3,150,131, 0, 16, 0, 0, 0, 0,
/* 0x0860 */ 16, 98, 0, 7, 0, 0, 0, 0,143,162, 0, 12,143,163, 0, 8,
/* 0x0870 */ 0, 0, 0, 0, 0, 67, 32, 33, 4, 17,254, 80, 36, 2, 15,205,
/* 0x0880 */ 143,164, 0, 36, 0, 0, 0, 0, 16,128, 0, 2, 0, 0, 0, 0,
/* 0x0890 */ 172,151, 0, 0,142,162, 0, 24,143,191, 0, 84, 2,226, 16, 33,
/* 0x0890 */ 172,151, 0, 0,142,130, 0, 24,143,191, 0, 84, 2,226, 16, 33,
/* 0x08a0 */ 143,190, 0, 80,143,183, 0, 76,143,182, 0, 72,143,181, 0, 68,
/* 0x08b0 */ 143,180, 0, 64,143,179, 0, 60,143,178, 0, 56,143,177, 0, 52,
/* 0x08c0 */ 143,176, 0, 48, 3,224, 0, 8, 39,189, 0, 88, 39,189,255,200,