On Fri, 2025-03-14 at 10:52 -0700, Josh Poimboeuf wrote: > On Fri, Mar 14, 2025 at 05:23:15PM +0000, David Woodhouse wrote: > > ISTR this version is OK with Clang and CONFIG_CFI_CLANG but with GCC I > > get this: > > > > vmlinux.o: warning: objtool: relocate_kernel+0x69: unsupported stack register modification > > > > /* setup a new stack at the end of the physical control page */ > > lea PAGE_SIZE(%rsi), %rsp > > 79: 48 8d a6 00 10 00 00 lea 0x1000(%rsi),%rsp > > > > > > Maybe the answer is to put the UNWIND_HINT_FUNC into #ifdef > > CONFIG_CFI_CLANG but that seems wrong. > > The UNWIND_HINT_FUNC definitely looks wrong, why would Clang need it? I think it's when CONFIG_CFI_CLANG makes the SYM_TYPED_FUNC_START() macro actually emit the CFI prologue? > > I'll have another look at putting it in the data section, and see if I > > can remember why I didn't want to do that before (and if that's still > > relevant now). > > IIRC, the reasons were the patched alternative, and also you wanted to > disassemble (but note that's still possible with gdb). > > Here was a patch to make it work: > > https://lore.kernel.org/20241218212326.44qff3i5n6cxuu5d@jpoimboe Yeah, that does seem reasonable. Sorry, I think I missed that before Christmas. I'll look at rolling it in. This part is kind of orthogonal to the actual debug support so it's fine to keep it separate. Thanks.
<<attachment: smime.p7s>>