• Naveen N. Rao's avatar
    powerpc64/module: Tighten detection of mcount call sites with -mprofile-kernel · 250122ba
    Naveen N. Rao authored
    For R_PPC64_REL24 relocations, we suppress emitting instructions for TOC
    load/restore in the relocation stub if the relocation is for _mcount()
    call when using -mprofile-kernel ABI.
    
    To detect this, we check if the preceding instructions are per the
    standard set of instructions emitted by gcc: either the two instruction
    sequence of 'mflr r0; std r0,16(r1)', or the more optimized variant of a
    single 'mflr r0'. This is not sufficient since nothing prevents users
    from hand coding sequences involving a 'mflr r0' followed by a 'bl'.
    
    For removing the toc save instruction from the stub, we additionally
    check if the symbol is "_mcount". Add the same check here as well.
    
    Also rename is_early_mcount_callsite() to is_mprofile_mcount_callsite()
    since that is what is being checked. The use of "early" is misleading
    since there is nothing involving this function that qualifies as early.
    
    Fixes: 15308664 ("powerpc/ftrace: Add support for -mprofile-kernel ftrace ABI")
    Signed-off-by: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    250122ba
module_64.c 23 KB