On Tue, 9 Feb 2021, Peter Zijlstra wrote: > Hi! > > Implement objtool support for the x86_64 stack swizzle pattern. > > This means we can use the minial stack swizzle: > > mov %rsp, (%[tos]) > mov %[tos], %rsp > ... > pop %rsp > > from inline asm, with arbitrary stack setup. The ORC data for the Top-of-Stack > will use the SP_INDIRECT CFA base. In order for this to work, SP_INDIRECT > needs > to first dereference and then add the offset to find the next frame. > > Therefore we need to change SP_INDIRECT (which is currently unused) to mean: > (%rsp) + offset. > > Changes since v1 include: > > - removed the !callee saved reg restriction by using the vals[] array > over the regs[] array. > > - per the above, removed the patches creating the regs[] scratch space. > > - more comments. > > - rebased to tip/objtool/core
I haven't tested it, but it all looks good to me. Reviewed-by: Miroslav Benes <mbe...@suse.cz> M