Messages in this thread | | | Date | Wed, 27 Jun 2018 10:15:44 -0500 | From | Josh Poimboeuf <> | Subject | Re: [PATCH] objtool: Fix GCC 8 cold function processing without -freorder-functions |
| |
On Wed, Jun 27, 2018 at 10:35:03AM +0100, Allan Xavier wrote: > Looks good overall, just one comment. > > On 26/06/18 19:44, Josh Poimboeuf wrote: > > + /* > > + * Unfortunately, -fnoreorder-functions puts the child > > + * inside the parent. Remove the overlap so we can > > + * have sane assumptions. > > + */ > > + if (sym->sec == pfunc->sec && > > + sym->offset >= pfunc->offset && > > + sym->offset < pfunc->offset + pfunc->len && > > + sym->offset + sym->len == pfunc->offset + pfunc->len) { > > + pfunc->len -= sym->len; > > It's a bit of a nit but I'd say you could drop the third condition of the if > since sym->offset would have to be less than pfunc->offset + pfunc->len for the > fourth condition to ever be true. The only situation it would have caught is > where sym->len == 0, which I think (hope?) is reasonable to assume wont happen > and wouldn't have had an effect on pfunc->len anyway. > > if (sym->sec == pfunc->sec && > sym->offset >= pfunc->offset && > sym->offset + sym->len == pfunc->offset + pfunc->len)
Thanks, will do.
-- Josh
| |