v2: - Simplified the frame pointer fixes - instead of using R12, just continue to use RBP for BPF_REG_FP, but use nested frames so the unwinder can understand (suggested by David Laight). - Dropped the AT&T syntax patches for now. I'm about to disappear for a week and I don't have time to argue about whether code readability is a good thing. - I can do the 32-bit version of the fix when I get back. It should be easy enough. v1 is here: https://lkml.kernel.org/r/cover.1560431531.git.jpoimboe@xxxxxxxxxx Josh Poimboeuf (4): objtool: Fix ORC unwinding in non-JIT BPF generated code x86/bpf: Move epilogue generation to a dedicated function x86/bpf: Fix 64-bit JIT frame pointer usage x86/unwind/orc: Fall back to using frame pointers for generated code Song Liu (1): perf/x86: Always store regs->ip in perf_callchain_kernel() arch/x86/events/core.c | 10 +-- arch/x86/kernel/unwind_orc.c | 26 ++++++-- arch/x86/net/bpf_jit_comp.c | 115 +++++++++++++++++++---------------- kernel/bpf/core.c | 5 +- tools/objtool/check.c | 16 ++++- 5 files changed, 107 insertions(+), 65 deletions(-) -- 2.20.1