linux/tools/objtool
Josh Poimboeuf 1e7e478838 x86/static_call: Add inline static call implementation for x86-64
Add the inline static call implementation for x86-64. The generated code
is identical to the out-of-line case, except we move the trampoline into
it's own section.

Objtool uses the trampoline naming convention to detect all the call
sites. It then annotates those call sites in the .static_call_sites
section.

During boot (and module init), the call sites are patched to call
directly into the destination function.  The temporary trampoline is
then no longer used.

[peterz: merged trampolines, put trampoline in section]

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: https://lore.kernel.org/r/20200818135804.864271425@infradead.org
2020-09-01 09:58:05 +02:00
..
arch/x86 Merge branch 'objtool/urgent' into objtool/core 2020-06-18 17:55:29 +02:00
Documentation objtool: Add support for intra-function calls 2020-04-30 20:14:33 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
arch.h Merge branch 'objtool/urgent' into objtool/core 2020-06-18 17:55:29 +02:00
Build objtool: Enable compilation of objtool for all architectures 2020-05-20 09:17:28 -05:00
builtin-check.c objtool: Enable compilation of objtool for all architectures 2020-05-20 09:17:28 -05:00
builtin-orc.c objtool: Enable compilation of objtool for all architectures 2020-05-20 09:17:28 -05:00
builtin.h objtool: Implement noinstr validation 2020-04-22 10:53:50 +02:00
cfi.h objtool: Fix !CFI insn_state propagation 2020-04-22 10:53:50 +02:00
check.c x86/static_call: Add inline static call implementation for x86-64 2020-09-01 09:58:05 +02:00
check.h x86/static_call: Add inline static call implementation for x86-64 2020-09-01 09:58:05 +02:00
elf.c x86/static_call: Add inline static call implementation for x86-64 2020-09-01 09:58:05 +02:00
elf.h x86/static_call: Add inline static call implementation for x86-64 2020-09-01 09:58:05 +02:00
Makefile objtool: Enable compilation of objtool for all architectures 2020-05-20 09:17:28 -05:00
objtool.c objtool: Exit successfully when requesting help 2020-05-20 08:32:52 -05:00
objtool.h x86/static_call: Add inline static call implementation for x86-64 2020-09-01 09:58:05 +02:00
orc_dump.c objtool: Enable compilation of objtool for all architectures 2020-05-20 09:17:28 -05:00
orc_gen.c x86/static_call: Add inline static call implementation for x86-64 2020-09-01 09:58:05 +02:00
special.c objtool: Rename rela to reloc 2020-06-01 09:40:58 -05:00
special.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 13 2019-05-21 11:28:45 +02:00
sync-check.sh x86/static_call: Add inline static call implementation for x86-64 2020-09-01 09:58:05 +02:00
warn.h objtool: Rename find_containing_func() 2020-03-25 18:28:29 +01:00
weak.c objtool: Enable compilation of objtool for all architectures 2020-05-20 09:17:28 -05:00