objtool: Implement stack validation 2.0
authorJosh Poimboeuf <jpoimboe@redhat.com>
Wed, 28 Jun 2017 15:11:07 +0000 (10:11 -0500)
committerIngo Molnar <mingo@kernel.org>
Fri, 30 Jun 2017 08:19:19 +0000 (10:19 +0200)
commitbaa41469a7b992c1e3db2a39854219cc7442e48f
tree1a8e43a0d5e27db457c1cc6f8a4510b258b46bee
parentc207aee48037abca71c669cbec407b9891965c34
objtool: Implement stack validation 2.0

This is a major rewrite of objtool.  Instead of only tracking frame
pointer changes, it now tracks all stack-related operations, including
all register saves/restores.

In addition to making stack validation more robust, this also paves the
way for undwarf generation.

Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Jiri Slaby <jslaby@suse.cz>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: live-patching@vger.kernel.org
Link: http://lkml.kernel.org/r/678bd94c0566c6129bcc376cddb259c4c5633004.1498659915.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
tools/objtool/Documentation/stack-validation.txt
tools/objtool/Makefile
tools/objtool/arch.h
tools/objtool/arch/x86/decode.c
tools/objtool/cfi.h [new file with mode: 0644]
tools/objtool/check.c
tools/objtool/check.h
tools/objtool/elf.c
tools/objtool/elf.h
tools/objtool/special.c
tools/objtool/warn.h