• S
    ftrace: handle weak symbol functions · 8feff1ca
    Steven Rostedt 提交于
    During tests and checks, I've discovered that there were failures to
    convert mcount callers into nops. Looking deeper into these failures,
    code that was attempted to be changed was not an mcount caller.
    The current code only updates if the code being changed is what it expects,
    but I still investigate any time there is a failure.
    
    What was happening is that a weak symbol was being used as a reference
    for other mcount callers. That weak symbol was also referenced elsewhere
    so the offsets were using the strong symbol and not the function symbol
    that it was referenced from.
    
    This patch changes the setting up of the mcount_loc section to search
    for a global function that is not weak. It will pick a local over a weak
    but if only a weak is found in a section, a warning is printed and the
    mcount location is not recorded (just to be safe).
    Signed-off-by: NSteven Rostedt <srostedt@redhat.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    8feff1ca
recordmcount.pl 9.8 KB