summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2012-09-06 09:38:27 +0000
committerAlexander Potapenko <glider@google.com>2012-09-06 09:38:27 +0000
commit447ff7028052393aaa53ed3a5dbbe6c2590d9ffc (patch)
tree8c0d692770c1adb1aa03cbbf1f4b93fbfed9cc3f
parent36853a7a3b1474131c2bdb1f2acba026b1ba0f6e (diff)
downloadbcm5719-llvm-447ff7028052393aaa53ed3a5dbbe6c2590d9ffc.tar.gz
bcm5719-llvm-447ff7028052393aaa53ed3a5dbbe6c2590d9ffc.zip
Add "movsbl %dh, %ecx" and "testb %r8, %r8" to mach_override.
This should fix http://code.google.com/p/address-sanitizer/issues/detail?id=105 llvm-svn: 163301
-rw-r--r--compiler-rt/lib/interception/mach_override/mach_override.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler-rt/lib/interception/mach_override/mach_override.c b/compiler-rt/lib/interception/mach_override/mach_override.c
index dcff7a2b074..84eb9388e72 100644
--- a/compiler-rt/lib/interception/mach_override/mach_override.c
+++ b/compiler-rt/lib/interception/mach_override/mach_override.c
@@ -701,6 +701,7 @@ static AsmInstructionMatch possibleInstructions[] = {
{ 0x3, {0xFB, 0xFF, 0x00}, {0x48, 0x89, 0x00} }, // mov %reg, %reg
{ 0x3, {0xFB, 0xFF, 0x00}, {0x49, 0x89, 0x00} }, // mov %reg, %reg (REX.WB)
{ 0x2, {0xFF, 0x00}, {0x41, 0x00} }, // push %rXX
+ { 0x2, {0xFF, 0x00}, {0x84, 0x00} }, // test %rX8,%rX8
{ 0x2, {0xFF, 0x00}, {0x85, 0x00} }, // test %rX,%rX
{ 0x2, {0xFF, 0x00}, {0x77, 0x00} }, // ja $i8
{ 0x2, {0xFF, 0x00}, {0x74, 0x00} }, // je $i8
@@ -724,6 +725,7 @@ static AsmInstructionMatch possibleInstructions[] = {
{ 0x2, {0xFF, 0x00}, {0x89, 0x00} }, // mov r/m32,r32 or r/m16,r16
{ 0x3, {0xFF, 0xFF, 0xFF}, {0x49, 0x89, 0xF8} }, // mov %rdi,%r8
{ 0x4, {0xFF, 0xFF, 0xFF, 0xFF}, {0x40, 0x0F, 0xBE, 0xCE} }, // movsbl %sil,%ecx
+ { 0x3, {0xFF, 0xFF, 0xFF}, {0x0F, 0xBE, 0xCE} }, // movsbl, %dh, %ecx
{ 0x3, {0xFF, 0xFF, 0x00}, {0xFF, 0x77, 0x00} }, // pushq $imm(%rdi)
{ 0x2, {0xFF, 0xFF}, {0xDB, 0xE3} }, // fninit
{ 0x3, {0xFF, 0xFF, 0xFF}, {0x48, 0x85, 0xD2} }, // test %rdx,%rdx
OpenPOWER on IntegriCloud