Yuri Gorshenin
3e22bb8c54
[asan-asm-instrumentation] Added comment describing how asm instrumentation works.
...
Summary: [asan-asm-instrumentation] Added comment describing how asm instrumentation works.
Reviewers: eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5970
llvm-svn: 220670
2014-10-27 08:38:54 +00:00
NAKAMURA Takumi
9ff272f382
X86AsmInstrumentation.cpp: Dissolve initializer-ranged-for. MSC17 disliked it.
...
llvm-svn: 220301
2014-10-21 16:22:52 +00:00
Yuri Gorshenin
171eb8dbeb
[asan-asm-instrumentation] Fixed memory accesses with rbp as a base or an index register.
...
Summary: Fixed memory accesses with rbp as a base or an index register.
Reviewers: eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5819
llvm-svn: 220283
2014-10-21 10:22:27 +00:00
Yuri Gorshenin
ab1b88ab59
[asan-asm-instrumentation] Follow-up fixes to r219602: asserts are moved into
...
function.
llvm-svn: 219610
2014-10-13 11:44:06 +00:00
Yuri Gorshenin
46853b55fa
[asan-asm-instrumentation] Fixed memory references which includes %rsp as a base or an index register.
...
Summary: [asan-asm-instrumentation] Fixed memory references which includes %rsp as a base or an index register.
Reviewers: eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5599
llvm-svn: 219602
2014-10-13 09:37:47 +00:00
Yuri Gorshenin
e8c81fd25a
[asan-asm-instrumentation] CFI directives are generated for .S files.
...
Summary: CFI directives are generated for .S files.
Reviewers: eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5520
llvm-svn: 219199
2014-10-07 11:03:09 +00:00
Yuri Gorshenin
3939dec1f7
[asan-assembly-instrumentation] Added CFI directives to the generated instrumentation code.
...
Summary: [asan-assembly-instrumentation] Added CFI directives to the generated instrumentation code.
Reviewers: eugenis
Subscribers: llvm-commits
Differential Revision: http://reviews.llvm.org/D5189
llvm-svn: 217482
2014-09-10 09:45:49 +00:00
Yuri Gorshenin
c107d147dc
[asan-assembly-instrumentation] Prologue and epilogue are moved out from InstrumentMemOperand().
...
Reviewers: eugenis
Subscribers: llvm-commits
Differential revision: http://reviews.llvm.org/D4923
llvm-svn: 216879
2014-09-01 12:51:00 +00:00
Yuri Gorshenin
e2f01eb730
Revert "[asan-assembly-instrumentation] Prologue and epilogue are moved out from InstrumentMemOperand()."
...
This reverts commit 895aa397038b8de86d83ac0997a70949a486e112.
llvm-svn: 216872
2014-09-01 10:24:04 +00:00
Yuri Gorshenin
506a170d63
[asan-assembly-instrumentation] Prologue and epilogue are moved out from InstrumentMemOperand().
...
llvm-svn: 216869
2014-09-01 09:56:45 +00:00
Evgeniy Stepanov
5050553ab8
Clang-format over X86AsmInstrumentation.* with LLVM style.
...
r216536 mistakenly used -style=Google instead of LLVM.
llvm-svn: 216543
2014-08-27 13:11:55 +00:00
Evgeniy Stepanov
4d04f66627
Clang-format over X86AsmInstrumentation.*.
...
llvm-svn: 216536
2014-08-27 11:10:54 +00:00
Evgeniy Stepanov
77ad86681f
[asan] Support x86 REP MOVS asm instrumentation.
...
Patch by Yuri Gorshenin.
llvm-svn: 214395
2014-07-31 09:11:04 +00:00
Evgeniy Stepanov
6fa6c677cc
[asan] Generate asm instrumentation in MC.
...
Generate entire ASan asm instrumentation in MC without
relying on runtime helper functions.
Patch by Yuri Gorshenin.
llvm-svn: 212455
2014-07-07 13:57:37 +00:00
David Blaikie
960ea3f018
AsmMatchers: Use unique_ptr to manage ownership of MCParsedAsmOperand
...
I saw at least a memory leak or two from inspection (on probably
untested error paths) and r206991, which was the original inspiration
for this change.
I ran this idea by Jim Grosbach a few weeks ago & he was OK with it.
Since it's a basically mechanical patch that seemed sufficient - usual
post-commit review, revert, etc, as needed.
llvm-svn: 210427
2014-06-08 16:18:35 +00:00
Evgeniy Stepanov
fc9c78a6b6
[asan] Fix x86-32 asm instrumentation to preserve flags.
...
Patch by Yuri Gorshenin.
llvm-svn: 209280
2014-05-21 08:14:24 +00:00
Benjamin Kramer
8bbadc0383
[asan] Stop leaking X86Operands.
...
llvm-svn: 208400
2014-05-09 09:48:03 +00:00
Evgeniy Stepanov
9661ec0ec3
[asan] Preserve flags in asm instrumentation.
...
Patch by Yuri Gorshenin.
llvm-svn: 208296
2014-05-08 09:55:24 +00:00
Evgeniy Stepanov
3819f02819
[asan] Add a flag to control asm instrumentation.
...
With this change, asm instrumentation is disabled by default.
llvm-svn: 208167
2014-05-07 07:54:11 +00:00
Evgeniy Stepanov
29865f7803
[asan] Disable asm instrumentation on unsupported platforms.
...
Only emit calls to compiler-rt asm routines on platforms where they are
present (currently limited to linux i386/x86_64).
Patch by Yuri Gorshenin.
llvm-svn: 207651
2014-04-30 14:04:31 +00:00
Evgeniy Stepanov
f4a36999ad
[asan] Use MCInstrInfo in inline asm instrumentation.
...
Patch by Yuri Gorshenin.
llvm-svn: 207115
2014-04-24 13:29:34 +00:00
Evgeniy Stepanov
b6c47a5bd2
[asan] Fix instrumentation of x86 intel syntax inline assembly.
...
Patch by Yuri Gorshenin.
llvm-svn: 207092
2014-04-24 09:56:15 +00:00
Evgeniy Stepanov
0a951b775e
Create MCTargetOptions.
...
For now it contains a single flag, SanitizeAddress, which enables
AddressSanitizer instrumentation of inline assembly.
Patch by Yuri Gorshenin.
llvm-svn: 206971
2014-04-23 11:16:03 +00:00
Evgeniy Stepanov
49e2625144
AddressSanitizer instrumentation for MOV and MOVAPS.
...
This is an initial version of *Sanitizer instrumentation of assembly code.
Patch by Yuri Gorshenin.
llvm-svn: 203908
2014-03-14 08:58:04 +00:00