• Peter Zijlstra's avatar
    objtool: Fix noinstr vs KCOV · 0f1441b4
    Peter Zijlstra authored
    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: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarDmitry Vyukov <dvyukov@google.com>
    0f1441b4
check.c 67.1 KB