Subject: Re: [PATCH] kgdb: more barrier in blank weak function

From: Andrew Morton <[email-masked]>
Date: Sat, 27 Dec 2008 00:34:48 -0800

On Sat, 27 Dec 2008 09:17:37 +0100 Ingo Molnar <[email-masked]> wrote:

> 
> * Yinghai Lu <[email-masked]> wrote:
> 
> > Impact: fix panic possible panic etc
> > 
> > some compiler seems to inline the weak global function if no line in it
> 
> >  kgdb_post_primary_code(struct pt_regs *regs, int e_vector, int err_code)
> >  {
> > -	return;
> > +	barrier();
> >  }
> 
> >  void __weak kgdb_disable_hw_debug(struct pt_regs *regs)
> >  {
> > +	barrier();
> >  }
> 
> seems like the barrier() is not enough - the only safe sequence seems to 
> be to turn it into a function that returns an integer.
> 

Give up, and ban that gcc version?  Adrian had a patch a while back,
but I don't know how he worked out the affected compiler versions.