On Sat, Jan 9, 2021 at 6:06 PM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote: > > On Sat, Jan 09, 2021 at 11:03:57AM -0600, Josh Poimboeuf wrote: > > On Sat, Jan 09, 2021 at 05:45:47PM +0100, Sedat Dilek wrote: > > > I tried merging with clang-cfi Git which is based on Linux v5.11-rc2+ > > > with a lot of merge conflicts. > > > > > > Did you try on top of cfi-10 Git tag which is based on Linux v5.10? > > > > > > Whatever you successfully did... Can you give me a step-by-step instruction? > > > > Oops, my bad. My last three commits (which I just added) do conflict. > > Sorry for the confusion. > > > > Just drop my last three commits: > > > > git fetch https://git.kernel.org/pub/scm/linux/kernel/git/jpoimboe/linux.git objtool-vmlinux > > git checkout -B tmp FETCH_HEAD > > git reset --hard HEAD~~~ > > git fetch https://github.com/samitolvanen/linux clang-lto > > git rebase --onto FETCH_HEAD 79881bfc57be > > Last one should be: > > git rebase --onto FETCH_HEAD 2c85ebc57b3e > Hi Josh, as said I tried your latest changes on top of Linux v5.10.6 + cfi-5.10. This reduces the objtool-warnings in vmlinux.o from 15 down to 2. Without your latest changes: $ grep 'vmlinux.o: warning: objtool:' build-log_5.10.4-3-amd64-clang11-cfi.txt | wc -l 15 $ grep 'vmlinux.o: warning: objtool:' build-log_5.10.4-3-amd64-clang11-cfi.txt vmlinux.o: warning: objtool: wakeup_long64()+0x61: indirect jump found in RETPOLINE build vmlinux.o: warning: objtool: .text+0x408a: indirect jump found in RETPOLINE build vmlinux.o: warning: objtool: .text+0x40c5: indirect jump found in RETPOLINE build vmlinux.o: warning: objtool: .head.text+0x298: indirect jump found in RETPOLINE build vmlinux.o: warning: objtool: __switch_to_asm()+0x0: undefined stack state vmlinux.o: warning: objtool: .entry.text+0xf91: sibling call from callable instruction with modified stack frame vmlinux.o: warning: objtool: .entry.text+0x16c4: unsupported instruction in callable function vmlinux.o: warning: objtool: .entry.text+0x15a4: redundant CLD vmlinux.o: warning: objtool: do_suspend_lowlevel()+0x116: sibling call from callable instruction with modified stack frame vmlinux.o: warning: objtool: kretprobe_trampoline()+0x49: return with modified stack frame vmlinux.o: warning: objtool: machine_real_restart()+0x85: unsupported instruction in callable function vmlinux.o: warning: objtool: __x86_retpoline_rdi()+0x0: stack state mismatch: cfa1=7+8 cfa2=-1+0 vmlinux.o: warning: objtool: .entry.text+0x48: stack state mismatch: cfa1=7-8 cfa2=-1+0 vmlinux.o: warning: objtool: .entry.text+0x156d: stack state mismatch: cfa1=7-8 cfa2=-1+0 vmlinux.o: warning: objtool: .entry.text+0x15fc: stack state mismatch: cfa1=7-8 cfa2=-1+0 With your latest changes in <jpoimboe.git#objtool-vmlinux>: $ grep 'vmlinux.o: warning: objtool:' build-log_5.10.6-1-amd64-clang11-cfi.txt | wc -l 2 $ grep 'vmlinux.o: warning: objtool:' build-log_5.10.6-1-amd64-clang11-cfi.txt vmlinux.o: warning: objtool: kretprobe_trampoline()+0x49: return with modified stack frame vmlinux.o: warning: objtool: machine_real_restart()+0x85: unsupported instruction in callable function Awesome. If you need further information, please let me know. Regards, - Sedat -