• Josh Poimboeuf's avatar
    objtool: Support unoptimized frame pointer setup · 607a4029
    Josh Poimboeuf authored
    Arnd Bergmann reported a bunch of warnings like:
    
      crypto/jitterentropy.o: warning: objtool: jent_fold_time()+0x3b: call without frame pointer save/setup
      crypto/jitterentropy.o: warning: objtool: jent_stuck()+0x1d: call without frame pointer save/setup
      crypto/jitterentropy.o: warning: objtool: jent_unbiased_bit()+0x15: call without frame pointer save/setup
      crypto/jitterentropy.o: warning: objtool: jent_read_entropy()+0x32: call without frame pointer save/setup
      crypto/jitterentropy.o: warning: objtool: jent_entropy_collector_free()+0x19: call without frame pointer save/setup
    
    and
    
      arch/x86/events/core.o: warning: objtool: collect_events uses BP as a scratch register
      arch/x86/events/core.o: warning: objtool: events_ht_sysfs_show()+0x22: call without frame pointer save/setup
    
    With certain rare configurations, GCC sometimes sets up the frame
    pointer with:
    
      lea    (%rsp),%rbp
    
    instead of:
    
      mov    %rsp,%rbp
    
    The instructions are equivalent, so treat the former like the latter.
    Reported-by: 's avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: 's avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/a468af8b28a69b83fffc6d7668be9b6fcc873699.1506526584.git.jpoimboe@redhat.comSigned-off-by: 's avatarIngo Molnar <mingo@kernel.org>
    607a4029
Name
Last commit
Last update
..
Documentation Loading commit data...
arch/x86 Loading commit data...
.gitignore Loading commit data...
Build Loading commit data...
Makefile Loading commit data...
arch.h Loading commit data...
builtin-check.c Loading commit data...
builtin-orc.c Loading commit data...
builtin.h Loading commit data...
cfi.h Loading commit data...
check.c Loading commit data...
check.h Loading commit data...
elf.c Loading commit data...
elf.h Loading commit data...
objtool.c Loading commit data...
orc.h Loading commit data...
orc_dump.c Loading commit data...
orc_gen.c Loading commit data...
orc_types.h Loading commit data...
special.c Loading commit data...
special.h Loading commit data...
warn.h Loading commit data...