Re: linux-next: Tree for May 21 (objtool warnings)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 27, 2020 at 10:57:53AM +0200, Martin Jambor wrote:
> Hi,
> 
> On Tue, May 26 2020, Miroslav Benes wrote:
> > On Tue, 26 May 2020, Josh Poimboeuf wrote:
> >
> >> On Mon, May 25, 2020 at 01:07:27PM +0200, Miroslav Benes wrote:
> >> > > I'll try to find out which optimization does this, because it is a 
> >> > > slightly different scenario than hiding __noreturn from the callees. 
> >> > > Probably -fno-ipa-pure-const again.
> >> > 
> >> > And it is indeed -fno-ipa-pure-const again.
> >> 
> >> It still seems odd to me that GCC's dead end detection seems to break
> >> with -fno-ipa-pure-const.  Do you know if these issues can be fixed on
> >> the GCC side?
> >
> > It is odd. I asked Martin and Martin about that yesterday (CCed). It could 
> > be possible to enable just noreturn propagation for -flive-patching if I 
> > understood correctly. The attribute would need to be preserved in a 
> > patched function then, but that should be manageable.
> >
> > Marking functions as __noreturn is one thing (I think it is useful on its 
> > own as mentioned in the older thread about -flive-patching), but 
> > __always_inline solution in this case is really arbitrary.
> 
> Noreturn functions generally tend to be very cold ones and so you do not
> really want to inline them.

The issue here is that with -fno-ipa-pure-const, GCC no longer
automatically detects that the static inline function is noreturn, so it
emits unreachable instructions after a call to it.

-- 
Josh




[Index of Archives]     [Linux Kernel]     [Linux USB Development]     [Yosemite News]     [Linux SCSI]

  Powered by Linux