linux/tools/objtool
Josh Poimboeuf deecd4d71b objtool: Fix '-mtune=atom' decoding support in objtool 2.0
With '-mtune=atom', which is enabled with CONFIG_MATOM=y, GCC uses some
unusual instructions for setting up the stack.

Instead of:

  mov %rsp, %rbp

it does:

  lea (%rsp), %rbp

And instead of:

  add imm, %rsp

it does:

  lea disp(%rsp), %rsp

Add support for these instructions to the objtool decoder.

Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Fixes: baa41469a7 ("objtool: Implement stack validation 2.0")
Link: http://lkml.kernel.org/r/4ea1db896e821226efe1f8e09f270771bde47e65.1501188854.git.jpoimboe@redhat.com
[ This is a cherry-picked version of upcoming commit 5b8de48e82. ]
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-08-21 16:07:27 +02:00
..
Documentation objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
arch/x86 objtool: Fix '-mtune=atom' decoding support in objtool 2.0 2017-08-21 16:07:27 +02:00
.gitignore objtool: Add 'fixdep' to objtool/.gitignore 2016-07-27 11:07:11 +02:00
Build objtool: Move checking code to check.c 2017-06-30 10:19:19 +02:00
Makefile objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
arch.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
builtin-check.c objtool: Move checking code to check.c 2017-06-30 10:19:19 +02:00
builtin.h objtool: Add tool to perform compile-time stack metadata validation 2016-02-29 08:35:12 +01:00
cfi.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
check.c objtool: Fix sibling call detection logic 2017-07-08 10:29:48 +02:00
check.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
elf.c objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
elf.h objtool: Implement stack validation 2.0 2017-06-30 10:19:19 +02:00
objtool.c objtool: Drop ARRAY_SIZE() definition, tools/include/linux/kernel.h has it now 2017-04-19 13:01:44 -03: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