http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46914

Paolo Carlini <paolo.carlini at oracle dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bkoz at redhat dot com

--- Comment #12 from Paolo Carlini <paolo.carlini at oracle dot com> 2011-01-28 
10:22:27 UTC ---
I'm making some progress: using --with-arch-32=i586 is fine, and the reason is,
in that case the _GLIBCXX_ATOMIC_BUILTINS_* are *all* true (in the i486 case,
_GLIBCXX_ATOMIC_BUILTINS_8 is false). Now, the testcase only uses ints, but in
atomic_base.h we require either all true, or the special case of at least
_GLIBCXX_ATOMIC_BUILTINS_1 true, that is  _GLIBCXX_ATOMIC_PROPERTY == 1, or
none true, that is _GLIBCXX_ATOMIC_PROPERTY == 0.

Given that, I suppose, Ubuntu and Debian have been using -i486 only because of
the crazyness old GCCs defaulting to i386 and now everything is different
finally (essentially the current default is a bit more than pentium4), I don't
consider this issue particularly serious.

Still, it would be nice to understand why both _GLIBCXX_ATOMIC_PROPERTY == 1
(as this PR shows) and _GLIBCXX_ATOMIC_PROPERTY == 0 (as trying
--with-arch-32=i386 shows), both don't work. Maybe Benjamin has ideas...

Note: the command line per se doesn't seem to matter, is the way the *.so is
built that matters.

Reply via email to