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

From: Steven Rostedt
Date: Wed Apr 01 2020 - 14:20:20 EST


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

> > 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)
>
> It is not, the former will accept either x==y || x==y+z, while the
> latter will only accept x==y+z.

No, the former accepts:

x==y || (z && x == y + z)

Which is the same as: x == y + z

As the second condition is only tested if z != 0, and x == y is the same
as x == y + 0

-- Steve