summaryrefslogtreecommitdiffstats
path: root/compiler-rt
diff options
context:
space:
mode:
authorAlexander Potapenko <glider@google.com>2012-08-01 16:35:48 +0000
committerAlexander Potapenko <glider@google.com>2012-08-01 16:35:48 +0000
commit40b48ccae2e4a85743b2f2f3f247fb10f083bddd (patch)
tree8331791229057ac32a561aa09da1d4491adac187 /compiler-rt
parent5e19d35e9a0673ed3d323a8228f1474893430c23 (diff)
downloadbcm5719-llvm-40b48ccae2e4a85743b2f2f3f247fb10f083bddd.tar.gz
bcm5719-llvm-40b48ccae2e4a85743b2f2f3f247fb10f083bddd.zip
Add support for "movsbl %sil,%ecx" (x86_64) and "movsbl $imm(%ebp), %edx" (i386) to our fork of mach_override.
This is an extended version of a patch by Rafael Avila de Espindola (rafael.espindola@gmail.com) llvm-svn: 161116
Diffstat (limited to 'compiler-rt')
-rw-r--r--compiler-rt/lib/interception/mach_override/mach_override.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler-rt/lib/interception/mach_override/mach_override.c b/compiler-rt/lib/interception/mach_override/mach_override.c
index 499cc029b18..9557b4f319e 100644
--- a/compiler-rt/lib/interception/mach_override/mach_override.c
+++ b/compiler-rt/lib/interception/mach_override/mach_override.c
@@ -675,6 +675,7 @@ static AsmInstructionMatch possibleInstructions[] = {
{ 0x4, {0xFF, 0xFF, 0xFF, 0x00}, {0x66, 0x0F, 0xEF, 0x00} }, // pxor xmm2/128, xmm1
{ 0x2, {0xFF, 0xFF}, {0xDB, 0xE3} }, // fninit
{ 0x5, {0xFF, 0x00, 0x00, 0x00, 0x00}, {0xE8, 0x00, 0x00, 0x00, 0x00} }, // call $imm
+ { 0x4, {0xFF, 0xFF, 0xFF, 0x00}, {0x0F, 0xBE, 0x55, 0x00} }, // movsbl $imm(%ebp), %edx
{ 0x0 }
};
#elif defined(__x86_64__)
@@ -715,7 +716,8 @@ static AsmInstructionMatch possibleInstructions[] = {
{0xFF, 0x25, 0x00, 0x00, 0x00, 0x00} }, // jmpq *(%rip)
{ 0x4, {0xFF, 0xFF, 0xFF, 0x00}, {0x66, 0x0F, 0xEF, 0x00} }, // pxor xmm2/128, xmm1
{ 0x2, {0xFF, 0x00}, {0x89, 0x00} }, // mov r/m32,r32 or r/m16,r16
- { 0x3, {0xFF, 0xFF, 0xFF}, {0x49, 0x89, 0xF8} }, // mov %rdi,%r8
+ { 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, 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