path: root/Documentation/asm-annotations.rst
diff options
authorBorislav Petkov <>2019-10-21 17:18:23 +0200
committerBorislav Petkov <>2019-10-25 10:52:22 +0200
commit0f42c1ad44d437f75b840b572376fd538fbb9643 (patch)
treeb86501365601e861b13c80f35ea0487d3cab0d0b /Documentation/asm-annotations.rst
parent13fbe784ef6e58d0267a6e183f90ce7826d7d885 (diff)
x86/ftrace: Get rid of function_hook
History lesson courtesy of Steve: "When ftrace first was introduced to the kernel, it used gcc's mcount profiling mechanism. The mcount mechanism would add a call to "mcount" at the start of every function but after the stack frame was set up. Later, in gcc 4.6, gcc introduced -mfentry, that would create a call to "__fentry__" instead of "mcount", before the stack frame was set up. In order to handle both cases, ftrace defined a macro "function_hook" that would be either "mcount" or "__fentry__" depending on which one was being used. The Linux kernel no longer supports the "mcount" method, thus there's no reason to keep the "function_hook" define around. Simply use "__fentry__", as there is no ambiguity to the name anymore." Drop it everywhere. Signed-off-by: Borislav Petkov <> Acked-by: Jiri Slaby <> Cc: "H. Peter Anvin" <> Cc: Ingo Molnar <> Cc: Jonathan Corbet <> Cc: Josh Poimboeuf <> Cc: Cc: Cc: Peter Zijlstra <> Cc: "Steven Rostedt (VMware)" <> Cc: Thomas Gleixner <> Cc: Link:
Diffstat (limited to 'Documentation/asm-annotations.rst')
1 files changed, 2 insertions, 2 deletions
diff --git a/Documentation/asm-annotations.rst b/Documentation/asm-annotations.rst
index 29ccd6e61fe5..f55c2bb74d00 100644
--- a/Documentation/asm-annotations.rst
+++ b/Documentation/asm-annotations.rst
@@ -117,9 +117,9 @@ This section covers ``SYM_FUNC_*`` and ``SYM_CODE_*`` enumerated above.
So in most cases, developers should write something like in the following
example, having some asm instructions in between the macros, of course::
- SYM_FUNC_START(function_hook)
+ SYM_FUNC_START(memset)
... asm insns ...
- SYM_FUNC_END(function_hook)
+ SYM_FUNC_END(memset)
In fact, this kind of annotation corresponds to the now deprecated ``ENTRY``
and ``ENDPROC`` macros.