diff options
| author | Peter Zijlstra <[email protected]> | 2020-06-12 14:05:26 +0000 |
|---|---|---|
| committer | Peter Zijlstra <[email protected]> | 2020-06-18 15:36:33 +0000 |
| commit | 0f1441b44e823a74f3f3780902a113e07c73fbf6 (patch) | |
| tree | 5ef3755754810974096c758d5878dc31d23d7c20 /scripts/gcc-plugins/sancov_plugin.c | |
| parent | objtool: Provide elf_write_{insn,reloc}() (diff) | |
| download | kernel-0f1441b44e823a74f3f3780902a113e07c73fbf6.tar.gz kernel-0f1441b44e823a74f3f3780902a113e07c73fbf6.zip | |
objtool: Fix noinstr vs KCOV
Since many compilers cannot disable KCOV with a function attribute,
help it to NOP out any __sanitizer_cov_*() calls injected in noinstr
code.
This turns:
12: e8 00 00 00 00 callq 17 <lockdep_hardirqs_on+0x17>
13: R_X86_64_PLT32 __sanitizer_cov_trace_pc-0x4
into:
12: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1)
13: R_X86_64_NONE __sanitizer_cov_trace_pc-0x4
Just like recordmcount does.
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Acked-by: Dmitry Vyukov <[email protected]>
Diffstat (limited to 'scripts/gcc-plugins/sancov_plugin.c')
0 files changed, 0 insertions, 0 deletions
