[Bug middle-end/51258] 64-bit gcc.dg/atomic-compare-exchange-5.c link failure on 32-bit Solaris/x86

amacleod at redhat dot com gcc-bugzilla@gcc.gnu.org
Mon Nov 21 19:32:00 GMT 2011


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

Andrew Macleod <amacleod at redhat dot com> changed:

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

--- Comment #1 from Andrew Macleod <amacleod at redhat dot com> 2011-11-21 19:21:30 UTC ---
32 bit targets don't usually support 128 bit atomic operations natively, and
leave calls to be resolved by an external atomic library.   There was some
issue with X32 support where 32 bit could support it under some circumstances.

Now gcc/testsuite/lib/target-supports.exp defines the testsuite check for
whether 128 bit is supported as:

proc check_effective_target_sync_int_128 { } {
    if { ([istarget x86_64-*-*] || [istarget i?86-*-*])
         && ![is-effective-target ia32] } {
        return 1
    } else {
        return 0
    }
}

I presume if 32 bit solaris isn't supporting 128 bit operations then this needs
to be tweaked...



More information about the Gcc-bugs mailing list