On Sat, 26 Apr 2025 at 13:05, Nathan Chancellor <nat...@kernel.org> wrote: > > KBUILD_CFLAGS += -mllvm -trap-unreachable
Hmm. That certainly builds for me, but yeah, it generates new objtool warnings, notably panic() missing __noreturn in .c/.h or NORETURN() in noreturns.h and I *think* that is because that flag makes clang not honour our *explicit* "this code is unreachable" annotations. So now objtool complains about the fact that clang has generated some random code that follows a call to 'panic()' even though objtool knows that panic() cannot return. And those explicit annotations definitely should be honored. IOW, there's a *big* difference between "the programmer told me this is unreachable, so I won't generate code past this point" and "I have decided this is undefined behavior, so now I won't generate code past this point". So what I'm asking for is absolutely not "trap on unreachable". That's wrong and just plain stupid. I'm asking for "trap on UD instead of *assuming* it's unreachable". Because clearly that code *can* be reached, it's just doing something undefined. See? Big big difference. Linus