• Steven Rostedt (VMware)'s avatar
    ftrace/x86: Remove mcount support · 562e14f7
    Steven Rostedt (VMware) authored
    There's two methods of enabling function tracing in Linux on x86. One is
    with just "gcc -pg" and the other is "gcc -pg -mfentry". The former will use
    calls to a special function "mcount" after the frame is set up in all C
    functions. The latter will add calls to a special function called "fentry"
    as the very first instruction of all C functions.
    
    At compile time, there is a check to see if gcc supports, -mfentry, and if
    it does, it will use that, because it is more versatile and less error prone
    for function tracing.
    
    Starting with v4.19, the minimum gcc supported to build the Linux kernel,
    was raised to version 4.6. That also happens to be the first gcc version to
    support -mfentry. Since on x86, using gcc versions from 4.6 and beyond will
    unconditionally enable the -mfentry, it will no longer use mcount as the
    method for inserting calls into the C functions of the kernel. This means
    that there is no point in continuing to maintain mcount in x86.
    
    Remove support for using mcount. This makes the code less complex, and will
    also allow it to be simplified in the future.
    Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Acked-by: default avatarJiri Kosina <jkosina@suse.cz>
    Acked-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
    562e14f7
ftrace_32.S 3.75 KB