cvs commit: src/sys/i386/include atomic.h

David Rhodus drhodus at machdep.com
Fri Feb 13 11:34:28 PST 2004


Doesn't work too well.

cc -c -O -pipe  -Wall -Wredundant-decls -Wnested-externs 
-Wstrict-prototypes  -Wmissing-prototypes -Wpointer-arith -Winline 
-Wcast-qual  -ansi -g -nostdinc -I. -I../.. -I/usr/include 
-I../../contrib/dev/acpica -I../../contrib/ipfilter  -D_KERNEL -include 
opt_global.h  -mpreferred-stack-boundary=2 -ffreestanding  
. ./../bus/firewire/fwohci.c
{standard input}: Assembler messages:
{standard input}:12934: Error: too many memory references for `or'
{standard input}:13030: Error: too many memory references for `or'
*** Error code 1

Matthew Dillon wrote:

dillon      2004/02/13 10:44:43 PST

DragonFly src repository

 Modified files:
   sys/i386/include     atomic.h 
 Log:
 Use "iq" instead of "ir" for the register constraint.  "iq" means 'an
 integer constant or one of %ax,%bx,%cx, or %dx.  The prior use of "ir"
 could cause GCC to attempt to use a 'low byte' accessor on a register
 that cannot be accessed that way, such as '%si' (e.g. %sil).  I see no
 need to get fancy so I am just applying %iq to all the atomic instructions.
 It's good enough.
 
 Reported-by: YONETANI Tomokazu <qhwt+dragonfly-bugs at xxxxxxxxxx>
 
 Revision  Changes    Path
 1.5       +9 -51     src/sys/i386/include/atomic.h

http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/atomic.h.diff?r1=1.4&r2=1.5&f=h
 








More information about the Commits mailing list