Re: [PATCH v2] objtool,ftrace: Implement UNWIND_HINT_RET_OFFSET

From: Steven Rostedt
Date: Wed Apr 01 2020 - 13:33:08 EST


On Wed, 1 Apr 2020 19:09:10 +0200
Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:

> > > + if (state->cfa.offset != initial_func_cfi.cfa.offset &&
> > > + !(ret_offset && state->cfa.offset == initial_func_cfi.cfa.offset + ret_offset))
> >
> > Isn't that the same thing as "state->cfa.offset !=
> > initial_func_cfi.cfa.offset + ret_offset" ?
>
> I'm confused on what cfa.offset is, sometimes it increase with
> stack_size, sometimes it doesn't.

I believe what Julien is saying is the above logic is equivalent:

if (x != y &&
!(z && x == y + z))

is the same as:

if (x != y + z)

-- Steve