Re: [tip:x86/asm] objtool: Handle GCC stack pointer adjustment bug

From: H. Peter Anvin
Date: Wed Aug 30 2017 - 15:31:43 EST


On 08/30/17 02:43, tip-bot for Josh Poimboeuf wrote:
>
> Those warnings are caused by an unusual GCC non-optimization where it
> uses an intermediate register to adjust the stack pointer. It does:
>
> lea 0x8(%rsp), %rcx
> ...
> mov %rcx, %rsp
>
> Instead of the obvious:
>
> add $0x8, %rsp
>
> It makes no sense to use an intermediate register, so I opened a GCC bug
> to track it:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81813
>
> But it's not exactly a high-priority bug and it looks like we'll be
> stuck with this issue for a while. So for now we have to track register
> values when they're loaded with stack pointer offsets.
>

This seems like a good reason to try to extract this information from
the DWARF data *if available*?

-hpa