alistair23-linux/tools
Josh Poimboeuf 3c1f05835c objtool: Add Clang support
Since the ORC unwinder was made the default on x86_64, Clang-built
defconfig kernels have triggered some new objtool warnings:

  drivers/gpu/drm/i915/i915_gpu_error.o: warning: objtool: i915_error_printf()+0x6c: return with modified stack frame
  drivers/gpu/drm/i915/intel_display.o: warning: objtool: pipe_config_err()+0xa6: return with modified stack frame

The problem is that objtool has never seen clang-built binaries before.

Shockingly enough, objtool is apparently able to follow the code flow
mostly fine, except for one instruction sequence.  Instead of a LEAVE
instruction, clang restores RSP and RBP the long way:

   67c:   48 89 ec                mov    %rbp,%rsp
   67f:   5d                      pop    %rbp

Teach objtool about this new code sequence.

Reported-and-test-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Matthias Kaehlcke <mka@chromium.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/fce88ce81c356eedcae7f00ed349cfaddb3363cc.1521741586.git.jpoimboe@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-03-27 08:21:29 +02:00
..
accounting
arch tools headers: Synchoronize x86 features UAPI headers 2018-02-02 17:22:12 -03:00
bpf tools: bpftool: add bash completion for cgroup commands 2018-02-08 11:59:50 +01:00
build Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2018-01-31 14:31:10 -08:00
cgroup
firewire
gpio tools/gpio: Fix build error with musl libc 2017-12-21 13:51:01 +01:00
hv Merge 4.15-rc3 into char-misc-next 2017-12-11 08:47:41 +01:00
iio
include Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2018-02-09 14:05:10 -05:00
kvm/kvm_stat tools/kvm_stat: sort '-f help' output 2017-12-21 13:03:32 +01:00
laptop
leds
lib Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf 2018-02-09 14:05:10 -05:00
nfsd
objtool objtool: Add Clang support 2018-03-27 08:21:29 +02:00
pci
pcmcia
perf perf tools: Add trace/beauty/generated/ into .gitignore 2018-02-05 13:58:02 -03:00
power ACPICA: All acpica: Update copyrights to 2018 2018-02-06 10:31:20 +01:00
scripts tools: bpftool: create "uninstall", "doc-uninstall" make targets 2017-12-08 20:14:16 +01:00
spi
testing selftests/x86/ptrace_syscall: Fix for yet more glibc interference 2018-03-19 09:06:15 +01:00
thermal/tmon
time
usb usbip: list: don't list devices attached to vhci_hcd 2018-01-22 15:34:37 +01:00
virtio virtio, vhost: fixes, cleanups, features 2018-02-08 10:41:00 -08:00
vm tools, vm: new option to specify kpageflags file 2018-01-31 17:18:40 -08:00
wmi
Makefile