You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2005/05/30 14:04:35 UTC

DO NOT REPLY [Bug 35121] New: - x86 asm for atomic_cas should use "q" register class

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG�
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=35121>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND�
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=35121

           Summary: x86 asm for atomic_cas should use "q" register class
           Product: APR
           Version: HEAD
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: APR
        AssignedTo: bugs@httpd.apache.org
        ReportedBy: spam_from_apache_bugzilla@chezphil.org


The inline asm statement implementing apr_atomic_cas for x86 should use the "q"
register class, rather than "r".  "q" specifies a subset of the register set
that is compatible with the instruction used.  With "r" it is possible for the
compiler to select an inappropriate register, subsequently leading to an
assembler error.  Whether it happens seems to depend on gcc version,
optimisation level etc. etc.

See the following mailing list threads for more:

http://gcc.gnu.org/ml/gcc/2005-05/threads.html#01360
http://mail-archives.apache.org/mod_mbox/httpd-dev/200505.mbox/%3c4294665F.2050106@chezphil.org%3e

The affected code was in apr_atomic.h but seems to have moved to atomic.c at
some point.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org