Messages in this thread |  | | Date | Tue, 09 Feb 2021 10:16:00 +0100 | From | Peter Zijlstra <> | Subject | [PATCH v2 0/3] objtool: Support the stack swizzle |
| |
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
|  |