linux/tools/objtool
Josh Poimboeuf 39358a033b objtool, x86: Add facility for asm code to provide unwind hints
Some asm (and inline asm) code does special things to the stack which
objtool can't understand.  (Nor can GCC or GNU assembler, for that
matter.)  In such cases we need a facility for the code to provide
annotations, so the unwinder can unwind through it.

This provides such a facility, in the form of unwind hints.  They're
similar to the GNU assembler .cfi* directives, but they give more
information, and are needed in far fewer places, because objtool can
fill in the blanks by following branches and adjusting the stack pointer
for pushes and pops.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Gerst <brgerst@gmail.com>
Cc: Denys Vlasenko <dvlasenk@redhat.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: live-patching@vger.kernel.org
Link: http://lkml.kernel.org/r/0f5f3c9104fca559ff4088bece1d14ae3bca52d5.1499786555.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-07-18 10:57:44 +02:00
..
arch/x86 Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-07-03 12:40:46 -07:00
Documentation objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
.gitignore objtool: Add 'fixdep' to objtool/.gitignore 2016-07-27 11:07:11 +02:00
arch.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
Build objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
builtin-check.c objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
builtin-orc.c objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
builtin.h objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
cfi.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
check.c objtool, x86: Add facility for asm code to provide unwind hints 2017-07-18 10:57:44 +02:00
check.h objtool, x86: Add facility for asm code to provide unwind hints 2017-07-18 10:57:44 +02:00
elf.c objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
elf.h objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
Makefile objtool, x86: Add facility for asm code to provide unwind hints 2017-07-18 10:57:44 +02:00
objtool.c objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
orc_dump.c objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
orc_gen.c objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
orc_types.h objtool, x86: Add facility for asm code to provide unwind hints 2017-07-18 10:57:44 +02:00
orc.h objtool: Add ORC unwind table generation 2017-07-18 10:57:43 +02:00
special.c objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
special.h objtool: Add tool to perform compile-time stack metadata validation 2016-02-29 08:35:12 +01:00
warn.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00