The compiler at function entry cannot know anything about the scope of
objects above the return address. It could equally be a valid pointer to
data above the stack with a global context created by a thread library.
I'm curious if the optimisation is actually legal
> > > - IGNLABEL "HmacRxUc",
> > > - IGNLABEL "HmacRxDiscard",
> > > - IGNLABEL "HmacRxAccepted",
> > > + IGNLABEL /* "HmacTxMc", */
> > > + IGNLABEL /* "HmacTxBc", */
> >
> > You seem to be removing fields from the struct - have you
> > tested this ?
> >
> No, it's not removing fields from there. The original definition of IGNLABLE
> is
> #define IGNLABEL 0&(int)
> And
> IGNLABEL "HmacRxUc",
> simpile ends up 0, (in gcc). But this is just causing (a lot of) warnings,
> so I take this out.
You removed the comma in the patch above its gone from IGNLABEL foo, to
IGNLABEL foo. I don't see where your comma is coming back from.
Otherwise I've no problem (although maybe IGNLABEL("HmacRxAccepted")
would be neater since it conveniently lets people put them back.
Alan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/