diff options
author | Reid Kleckner <rnk@google.com> | 2019-04-04 21:08:02 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2019-04-04 21:08:02 +0000 |
commit | 955b5a633138370cb5877f853f22ea86545adc36 (patch) | |
tree | 1c887c8464996d02019bbd7e8faeb1c583aaa857 /compiler-rt/lib | |
parent | 04347d848d270737b183060b2ba488eef84d3a16 (diff) | |
download | bcm5719-llvm-955b5a633138370cb5877f853f22ea86545adc36.tar.gz bcm5719-llvm-955b5a633138370cb5877f853f22ea86545adc36.zip |
[winasan] Fix strrchr interception with vs2019 CRT
strrchr in vs2019 CRT begins with unrecognized instructions.
VCRUNTIME140!strrchr:
4533c9 xor r9d, r9d
4c8bc1 mov r8, rcx
Patch by Christopher Reid!
Differential Revision: https://reviews.llvm.org/D60217
llvm-svn: 357725
Diffstat (limited to 'compiler-rt/lib')
-rw-r--r-- | compiler-rt/lib/interception/interception_win.cc | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/compiler-rt/lib/interception/interception_win.cc b/compiler-rt/lib/interception/interception_win.cc index ea38ea88c5b..40bde008052 100644 --- a/compiler-rt/lib/interception/interception_win.cc +++ b/compiler-rt/lib/interception/interception_win.cc @@ -512,10 +512,12 @@ static size_t GetInstructionSize(uptr address, size_t* rel_offset = nullptr) { case 0xc0854d: // 4d 85 c0 : test r8, r8 case 0xc2b60f: // 0f b6 c2 : movzx eax, dl case 0xc03345: // 45 33 c0 : xor r8d, r8d + case 0xc93345: // 45 33 c9 : xor r9d, r9d case 0xdb3345: // 45 33 DB : xor r11d, r11d case 0xd98b4c: // 4c 8b d9 : mov r11, rcx case 0xd28b4c: // 4c 8b d2 : mov r10, rdx case 0xc98b4c: // 4C 8B C9 : mov r9, rcx + case 0xc18b4c: // 4C 8B C1 : mov r8, rcx case 0xd2b60f: // 0f b6 d2 : movzx edx, dl case 0xca2b48: // 48 2b ca : sub rcx, rdx case 0x10b70f: // 0f b7 10 : movzx edx, WORD PTR [rax] |