DragonFly BSD
DragonFly commits List (threaded) for 2004-02
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: David Rhodus <drhodus@xxxxxxxxxxx>
Date: Fri, 13 Feb 2004 14:33:48 -0500

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@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







[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]