[Gc] Powerpc/m68k issue running test_stack
Michael Cree
mcree at orcon.net.nz
Wed Sep 26 02:52:09 PDT 2012
On Tue 25 September 2012 06:35:18 Ivan Maidanski wrote:
> Hi Michael,
>
> Mon, 24 Sep 2012 20:43:43 +1200 Michael Cree <mcree at orcon.net.nz>:
> > On Sun 23 September 2012 21:44:34 Ivan Maidanski wrote:
> > > Hi Michael, Thorsten and Wouter,
> > >
> > > A couple of months, You reported libatomic_ops-7.3alpaha test_stack
> > > failure on Alpha, PowerPC and m68k: *
> > > http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680100
> > > * http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=680066
> > >
> > > 1. Could you please verify that the problem exists in the recent
> >
> > > libatomic_ops-7.2:
> > On Alpha the test_stack failure is not present in the release-7_2 branch
> > but is present in master. It therefore looks like a regression.
> >
>
> > I bisected between the head of the release-7_2 branch and master which
> > results in:
> >
> > cc51941b02fddc75952831eb8e28b06d340d2bef is the first bad commit
> > commit cc51941b02fddc75952831eb8e28b06d340d2bef
> > Author: Ivan Maidanski <ivmai at mail.ru>
> > Date: Mon Mar 26 08:06:19 2012 +0400
> >
> > Use __builtin_expect in CAS failure loop condition checks (GCC only)
>
> Looks like.
> Will something like this (for master) fix the problem on alpha?:
> src/atomic_ops.h:
>
> #if __GNUC__ >= 3 && !defined(LINT2)
> # define AO_EXPECT_FALSE(expr) __builtin_expect(expr, 0)
>
> ->
>
> #if __GNUC__ >= 3 && !defined(LINT2) && !defined(__alpha__)
> # define AO_EXPECT_FALSE(expr) __builtin_expect(expr, 0)
Yep, that fixes it, but as you state below that is not a real fix.
> If yes then, right, this is gcc/alpha bug. A more precise workaround
> (targeting particular AO_EXPECT_FALSE use) could done then.
When I get a chance I'll take a look at the code generated by gcc about one of
the AO_EXPECT_FALSEs and see if I can spot any problems.
Cheers
Michael.
More information about the Gc
mailing list