svn commit: r268055 - head/sys/sys

John Baldwin jhb at freebsd.org
Mon Jun 30 21:03:48 UTC 2014


On Monday, June 30, 2014 4:15:55 pm Marius Strobl wrote:
> On Mon, Jun 30, 2014 at 02:47:21PM -0400, John Baldwin wrote:
> > On Monday, June 30, 2014 2:43:42 pm Hans Petter Selasky wrote:
> > > On 06/30/14 20:37, John Baldwin wrote:
> > > > Reindenting the whitespace made this diff harder to read.  Why hasn't this
> > > > been a problem before on powerpc64?
> > > 
> > > Hi,
> > > 
> > > This has not been a problem before, because producers of DATA_SET()'s 
> > > were using syntax along these lines:
> > > 
> > > static int test2;
> > > static int test3;
> > > 
> > > DATA_SET(test, test2);
> > > DATA_SET(test, test3);
> > > 
> > > Now if you change this simple code to:
> > > 
> > > static int test2;
> > > int test3;
> > > 
> > > DATA_SET(test, test2);
> > > DATA_SET(test, test3);
> > > 
> > > It breaks on powerpc64. Should be very easy to reproduce.
> > > 
> > > The problem with SYSCTL's is that some are global and some are not. 
> > > Before an indirect pointer was hiding this problem from appearing.
> > > 
> > > Do you see? Or do you want me to explain more.
> > 
> > Ahh, ok.  Seems odd that this sort of thing would be ppc64-specific however.
> > 
> 
> Apparently it isn't and has also has shown up on at least ia64:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31490

Ugh.  Maybe this should be conditional on the GCC version rather than ppc64?

-- 
John Baldwin


More information about the svn-src-all mailing list