[Devel] [ openser-Bugs-1579967 ] Assembler error on arm at -O0 (fastlock.h)

SourceForge.net noreply at sourceforge.net
Wed Oct 18 21:50:07 CEST 2006


Bugs item #1579967, was opened at 2006-10-18 21:50
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1579967&group_id=139143

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: core
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Julien BLACHE (jblache)
Assigned to: Nobody/Anonymous (nobody)
Summary: Assembler error on arm at -O0 (fastlock.h)

Initial Comment:
OpenSER (1.1.0, but probably applies to all versions)
fails to build on arm at -O0, spitting out an assembler
error:

$ gcc -c -fPIC -g -O0 -g tree234.i
/tmp/cco6vA7j.s: Assembler messages:
/tmp/cco6vA7j.s:172: Error: Rn must not overlap other
operands -- `swpb r3,r2,[r3]'

The code at fault is the inline assembly in fastlock.h:

 asm volatile(
   "# here \n\t"
   "swpb %0, %1, [%2] \n\t"
   : "=r" (val)
   : "r"(1), "r" (lock) : "memory"
 );


See the Debian bug report:
<http://bugs.debian.org/393858>

And the GCC PR:
<http://gcc.gnu.org/PR29329>

The problem in the GCC PR is not caused by this
problem, it's a bug in the optimizer on arm, but this
issue came up while investigating this PR.

Thanks,

JB.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=743020&aid=1579967&group_id=139143



More information about the Devel mailing list