This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [tree-ssa-20020619-branch] current status report on i386-*-freebsd4*


On Wednesday 25 February 2004 15:08, Christian Ehrhardt wrote:
> On Wed, Feb 25, 2004 at 01:39:58PM +0100, Steven Bosscher wrote:
> > On Wednesday 25 February 2004 11:54, Christian Ehrhardt wrote:
> > > On Wed, Feb 18, 2004 at 12:13:36AM +0100, Gerald Pfeifer wrote:
> > > > Steven has started to look at this a bit, but basically it seems to
> > > > be a compiler issue, not a libstdc++ issue.  If you could provide the
> > > > libstdc++ folks with a small testcase (mine are *huge*) that probably
> > > > would help a lot!
> > >
> > > Maybe 14272 is related. This causes tons of libstdc++ testsuite
> > > failures on sparc because runtime datastructures like std::cout are
> > > never initialized. Check if __exchange_and_add from atomicity.h is
> > > miscompiled!
> >
> > It's not related, but it does fail.  Also on i686 btw.
>
> Yes, the reduced testcase in the PR should fail on virtually any
> platform. But some CPUs (i386 and sparc32) use code that triggers
> this bug in libstdc++-v3/config/cpu/*/atomicity.h whereas others
> don't (e.g. i686) because they have optimized assembler versions.
>
> I'm pretty much sure that that the i386-Version of __exchange_and_add
> will be miscompiled and cause various libstdc++-v3 testsuite failures.
>
> Note that __exchange_and_add is in turn used to make sure that things like
> std::cout is initialized exactly once. With the miscompilation the
> initilization never happens which leads to various interesting failures.

I tried i386 with TER disabled and it didn't fix the problems
Gerald is seeing.  But I've analyzed the problem a bit more and
it is not really a TER problem, apparently, but more one with
aliasing and volatiles.  So I can imagine similar problems going
on in one of the optimizers.  I'll be watching this bug :-)

Diego said he'd look into this bug.

Gr.
Steven


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]