From 17c47053d6a0960fe29ce42cd0b12a6408e4439f Mon Sep 17 00:00:00 2001 From: John Reiser Date: Sat, 25 Mar 2017 16:34:01 -0700 Subject: [PATCH] Revert amd64/bxx.S to reduce churn of testsuite modified: stub/src/arch/amd64/bxx.S modified: stub/amd64-darwin.dylib-entry.h modified: stub/amd64-darwin.macho-entry.h modified: stub/amd64-darwin.macho-fold.h modified: stub/amd64-linux.elf-fold.h modified: stub/amd64-linux.shlib-init.h modified: stub/amd64-win64.pep.h --- src/stub/amd64-darwin.dylib-entry.h | 8 ++++---- src/stub/amd64-darwin.macho-entry.h | 8 ++++---- src/stub/amd64-darwin.macho-fold.h | 8 ++++---- src/stub/amd64-linux.elf-fold.h | 8 ++++---- src/stub/amd64-linux.shlib-init.h | 8 ++++---- src/stub/amd64-win64.pep.h | 8 ++++---- src/stub/src/arch/amd64/bxx.S | 4 ++-- 7 files changed, 26 insertions(+), 26 deletions(-) diff --git a/src/stub/amd64-darwin.dylib-entry.h b/src/stub/amd64-darwin.dylib-entry.h index 75e7ee54..74bc9f52 100644 --- a/src/stub/amd64-darwin.dylib-entry.h +++ b/src/stub/amd64-darwin.dylib-entry.h @@ -32,8 +32,8 @@ #define STUB_AMD64_DARWIN_DYLIB_ENTRY_SIZE 9652 -#define STUB_AMD64_DARWIN_DYLIB_ENTRY_ADLER32 0xf965e2ca -#define STUB_AMD64_DARWIN_DYLIB_ENTRY_CRC32 0xe822ad82 +#define STUB_AMD64_DARWIN_DYLIB_ENTRY_ADLER32 0xd0efe2c7 +#define STUB_AMD64_DARWIN_DYLIB_ENTRY_CRC32 0x9171affd unsigned char stub_amd64_darwin_dylib_entry[9652] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -420,9 +420,9 @@ unsigned char stub_amd64_darwin_dylib_entry[9652] = { /* 0x17d0 */ 15,182, 80, 10,139, 48, 72,137,215,232, 29, 0, 0, 0,235,190, /* 0x17e0 */ 88, 89,190, 0, 16, 0, 0, 95, 91, 93,184, 73, 0, 0, 2, 72, /* 0x17f0 */ 141, 87,252,199, 2, 15, 5,195,144,255,226,131,249, 73,117, 68, -/* 0x1800 */ 83, 87, 72,141, 76, 55,252, 94, 86, 91,235, 47, 72, 57,206,115, +/* 0x1800 */ 83, 87, 72,141, 76, 55,253, 94, 86, 91,235, 47, 72, 57,206,115, /* 0x1810 */ 50, 86, 94,172, 60,128,114, 10, 60,143,119, 6,128,126,254, 15, -/* 0x1820 */ 116, 6, 44,232, 60, 1,119,228, 72, 57,206,119, 22, 86,173, 40, +/* 0x1820 */ 116, 6, 44,232, 60, 1,119,228, 72, 57,206,115, 22, 86,173, 40, /* 0x1830 */ 208,117,223, 95, 15,200, 41,248, 1,216,171, 72, 57,206,115, 3, /* 0x1840 */ 172,235,223, 91,195,102,105,108,101, 32,102,111,114,109, 97,116, /* 0x1850 */ 32,101,108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83, diff --git a/src/stub/amd64-darwin.macho-entry.h b/src/stub/amd64-darwin.macho-entry.h index c291d1bd..0847ee10 100644 --- a/src/stub/amd64-darwin.macho-entry.h +++ b/src/stub/amd64-darwin.macho-entry.h @@ -32,18 +32,18 @@ #define STUB_AMD64_DARWIN_MACHO_ENTRY_SIZE 9461 -#define STUB_AMD64_DARWIN_MACHO_ENTRY_ADLER32 0x1c6d8e85 -#define STUB_AMD64_DARWIN_MACHO_ENTRY_CRC32 0x175a7a79 +#define STUB_AMD64_DARWIN_MACHO_ENTRY_ADLER32 0xaefa8e82 +#define STUB_AMD64_DARWIN_MACHO_ENTRY_CRC32 0x36dd9b86 unsigned char stub_amd64_darwin_macho_entry[9461] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 88, 24, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, -/* 0x0040 */ 76, 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55,252, 94, 86, +/* 0x0040 */ 76, 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55,253, 94, 86, /* 0x0050 */ 91,235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128,114, 10, 60, /* 0x0060 */ 143,119, 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, -/* 0x0070 */ 57,206,119, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1, +/* 0x0070 */ 57,206,115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1, /* 0x0080 */ 216,171, 72, 57,206,115, 3,172,235,223, 91,195,232, 0, 0, 0, /* 0x0090 */ 0, 85, 83, 81, 82, 72, 1,254, 86, 72,137,254, 72,137,215, 49, /* 0x00a0 */ 219, 49,201, 72,131,205,255,232, 81, 0, 0, 0, 1,219,116, 2, diff --git a/src/stub/amd64-darwin.macho-fold.h b/src/stub/amd64-darwin.macho-fold.h index fc2c5ba1..2a8412e1 100644 --- a/src/stub/amd64-darwin.macho-fold.h +++ b/src/stub/amd64-darwin.macho-fold.h @@ -32,14 +32,14 @@ #define STUB_AMD64_DARWIN_MACHO_FOLD_SIZE 1398 -#define STUB_AMD64_DARWIN_MACHO_FOLD_ADLER32 0xe48f5025 -#define STUB_AMD64_DARWIN_MACHO_FOLD_CRC32 0xb05e4b48 +#define STUB_AMD64_DARWIN_MACHO_FOLD_ADLER32 0xd4f15022 +#define STUB_AMD64_DARWIN_MACHO_FOLD_CRC32 0xddc8ffe6 unsigned char stub_amd64_darwin_macho_fold[1398] = { /* 0x0000 */ 232, 74, 0, 0, 0,131,249, 73,117, 68, 83, 87, 72,141, 76, 55, -/* 0x0010 */ 252, 94, 86, 91,235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128, +/* 0x0010 */ 253, 94, 86, 91,235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128, /* 0x0020 */ 114, 10, 60,143,119, 6,128,126,254, 15,116, 6, 44,232, 60, 1, -/* 0x0030 */ 119,228, 72, 57,206,119, 22, 86,173, 40,208,117,223, 95, 15,200, +/* 0x0030 */ 119,228, 72, 57,206,115, 22, 86,173, 40,208,117,223, 95, 15,200, /* 0x0040 */ 41,248, 1,216,171, 72, 57,206,115, 3,172,235,223, 91,195, 65, /* 0x0050 */ 89, 72,137,223,139, 51, 72, 41,247,106, 0,184, 0, 8, 0, 0, /* 0x0060 */ 139, 79, 24, 57,193, 15, 66,200, 73,137,232, 73,137,228, 72, 41, diff --git a/src/stub/amd64-linux.elf-fold.h b/src/stub/amd64-linux.elf-fold.h index 16ecddb7..ba78043c 100644 --- a/src/stub/amd64-linux.elf-fold.h +++ b/src/stub/amd64-linux.elf-fold.h @@ -32,8 +32,8 @@ #define STUB_AMD64_LINUX_ELF_FOLD_SIZE 1834 -#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x3642ba63 -#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0xf4de8875 +#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x23e9ba60 +#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x69403c4c unsigned char stub_amd64_linux_elf_fold[1834] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -49,10 +49,10 @@ unsigned char stub_amd64_linux_elf_fold[1834] = { /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 89, 0, 0, /* 0x00c0 */ 0, 47,112,114,111, 99, 47,115,101,108,102, 47,101,120,101, 0, -/* 0x00d0 */ 131,249, 73,117, 68, 83, 87, 72,141, 76, 55,252, 94, 86, 91,235, +/* 0x00d0 */ 131,249, 73,117, 68, 83, 87, 72,141, 76, 55,253, 94, 86, 91,235, /* 0x00e0 */ 47, 72, 57,206,115, 50, 86, 94,172, 60,128,114, 10, 60,143,119, /* 0x00f0 */ 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206, -/* 0x0100 */ 119, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171, +/* 0x0100 */ 115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171, /* 0x0110 */ 72, 57,206,115, 3,172,235,223, 91,195, 65, 89, 72,137,230, 72, /* 0x0120 */ 141,190,240,239,255,255, 72,137,252,106, 7, 89,243, 72,165, 72, /* 0x0130 */ 131, 62, 0, 72,165,117,248, 72,137,250, 72,171, 72,131, 62, 0, diff --git a/src/stub/amd64-linux.shlib-init.h b/src/stub/amd64-linux.shlib-init.h index 6b5985e4..33d74b36 100644 --- a/src/stub/amd64-linux.shlib-init.h +++ b/src/stub/amd64-linux.shlib-init.h @@ -32,8 +32,8 @@ #define STUB_AMD64_LINUX_SHLIB_INIT_SIZE 9556 -#define STUB_AMD64_LINUX_SHLIB_INIT_ADLER32 0x54a4e74d -#define STUB_AMD64_LINUX_SHLIB_INIT_CRC32 0x8258bd87 +#define STUB_AMD64_LINUX_SHLIB_INIT_ADLER32 0x2c34e74a +#define STUB_AMD64_LINUX_SHLIB_INIT_CRC32 0x5d1d4b5b unsigned char stub_amd64_linux_shlib_init[9556] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -414,9 +414,9 @@ unsigned char stub_amd64_linux_shlib_init[9556] = { /* 0x1770 */ 141, 60, 1, 72,141,119, 24, 80, 80,173,173, 72, 1,198,173,173, /* 0x1780 */ 72,137,249,129,225,255, 15, 0, 0, 72, 1,200, 80, 72, 41,207, /* 0x1790 */ 87, 72, 41,200, 72, 1,207, 81,232, 74, 0, 0, 0,131,249, 73, -/* 0x17a0 */ 117, 68, 83, 87, 72,141, 76, 55,252, 94, 86, 91,235, 47, 72, 57, +/* 0x17a0 */ 117, 68, 83, 87, 72,141, 76, 55,253, 94, 86, 91,235, 47, 72, 57, /* 0x17b0 */ 206,115, 50, 86, 94,172, 60,128,114, 10, 60,143,119, 6,128,126, -/* 0x17c0 */ 254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206,119, 22, 86, +/* 0x17c0 */ 254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57,206,115, 22, 86, /* 0x17d0 */ 173, 40,208,117,223, 95, 15,200, 41,248, 1,216,171, 72, 57,206, /* 0x17e0 */ 115, 3,172,235,223, 91,195, 15,182, 78, 5, 81, 15,182, 78, 6, /* 0x17f0 */ 81, 80, 72,137,225, 87, 82,173,137,194,173, 80, 81, 87, 82, 86, diff --git a/src/stub/amd64-win64.pep.h b/src/stub/amd64-win64.pep.h index c905867d..d4ee60b4 100644 --- a/src/stub/amd64-win64.pep.h +++ b/src/stub/amd64-win64.pep.h @@ -32,8 +32,8 @@ #define STUB_AMD64_WIN64_PEP_SIZE 21045 -#define STUB_AMD64_WIN64_PEP_ADLER32 0xce3c9e73 -#define STUB_AMD64_WIN64_PEP_CRC32 0x89146f8b +#define STUB_AMD64_WIN64_PEP_ADLER32 0x1de59e70 +#define STUB_AMD64_WIN64_PEP_CRC32 0x93afdd53 unsigned char stub_amd64_win64_pep[21045] = { /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -407,10 +407,10 @@ unsigned char stub_amd64_win64_pep[21045] = { /* 0x1700 */ 93, 65, 94, 65, 95, 72,139,117,248, 72,139,125, 16,139, 75, 4, /* 0x1710 */ 72, 1,206,139, 19, 72, 1,215,201,201, 88, 94, 95, 88,137, 7, /* 0x1720 */ 72,141,190, 0, 0, 0, 0, 72,137,247, 86, 72,137,247, 72,199, -/* 0x1730 */ 198, 0, 0, 0, 0,178, 0, 87, 72,141, 76, 55,252, 94, 86, 91, +/* 0x1730 */ 198, 0, 0, 0, 0,178, 0, 87, 72,141, 76, 55,253, 94, 86, 91, /* 0x1740 */ 235, 47, 72, 57,206,115, 50, 86, 94,172, 60,128,114, 10, 60,143, /* 0x1750 */ 119, 6,128,126,254, 15,116, 6, 44,232, 60, 1,119,228, 72, 57, -/* 0x1760 */ 206,119, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216, +/* 0x1760 */ 206,115, 22, 86,173, 40,208,117,223, 95, 15,200, 41,248, 1,216, /* 0x1770 */ 171, 72, 57,206,115, 3,172,235,223, 94, 72,131,236, 40, 72,141, /* 0x1780 */ 190, 0, 0, 0, 0,139, 7, 9,192,116,255,139, 95, 4, 72,141, /* 0x1790 */ 140, 48, 0, 0, 0, 0, 72, 1,243, 72,131,199, 8,255, 21, 0, diff --git a/src/stub/src/arch/amd64/bxx.S b/src/stub/src/arch/amd64/bxx.S index edc9a238..63e5e932 100644 --- a/src/stub/src/arch/amd64/bxx.S +++ b/src/stub/src/arch/amd64/bxx.S @@ -37,7 +37,7 @@ amdbxx: # (*f_unf)(xo->buf, out_len, h.b_cto8, h.b_ftid); cmpl $0x49,ftid; jne ckend0 # filter: JMP, CALL, 6-byte Jxx push %rbx # save #endif - push %rdi; lea -4(%rdi,%rsi),%rcx # last possible displacement + push %rdi; lea (1 -4)(%rdi,%rsi),%rcx # beyond last possible displacement pop %rsi # start of buffer push %rsi pop %rbx # remember start of buffer @@ -54,7 +54,7 @@ ckloop2: subb $ 0xE8,%al cmpb $0xE9-0xE8,%al; ja ckloop4 # not JMP, not CALL ckmark: - cmpq %rcx,%rsi; ja ckend # peek only; not marked ==> do not consume + cmpq %rcx,%rsi; jae ckend # peek only; not marked ==> do not consume push %rsi; lodsl # (assume) marked, bswapped 32-bit displacement subb %dl,%al; jne ckloop3 # not marked with cto8 pop %rdi