[ASan] Add the "lea $imm(%rip),%rax" instruction to mach_override.c
authorAlexander Potapenko <glider@google.com>
Thu, 15 Nov 2012 08:32:16 +0000 (08:32 +0000)
committerAlexander Potapenko <glider@google.com>
Thu, 15 Nov 2012 08:32:16 +0000 (08:32 +0000)
The need for this has been reported by Jack Howarth (howarth@bromo.med.uc.edu) who's porting ASan-Darwin to GCC

llvm-svn: 168032

compiler-rt/lib/interception/mach_override/mach_override.c

index ba5653c..7511a7b 100644 (file)
@@ -725,6 +725,8 @@ 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
+        { 0x7, {0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00},
+               {0x48, 0x8D, 0x05, 0x00, 0x00, 0x00, 0x00} },  // lea $imm(%rip),%rax
         { 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