• Peter Zijlstra's avatar
    objtool: Rework instruction -> symbol mapping · dbcdbdfd
    Peter Zijlstra authored
    Currently insn->func contains a instruction -> symbol link for
    STT_FUNC symbols. A NULL value is assumed to mean STT_NOTYPE.
    However, there are also instructions not covered by any symbol at all.
    This can happen due to __weak symbols for example.
    
    Since the current scheme cannot differentiate between no symbol and
    STT_NOTYPE symbol, change things around. Make insn->sym point to any
    symbol type such that !insn->sym means no symbol and add a helper
    insn_func() that check the sym->type to retain the old functionality.
    
    This then prepares the way to add code that depends on the distinction
    between STT_NOTYPE and no symbol at all.
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    dbcdbdfd
check.c 102 KB