Date: Sat, 13 Nov 1999 19:36:35 -0800 (PST) From: "David E. O'Brien" <obrien@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/i386/include bus.h Message-ID: <199911140336.TAA88875@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
obrien 1999/11/13 19:36:35 PST Modified files: sys/i386/include bus.h Log: Fix clobbers so that GENERIC may compile with GCC 2.95.2. Historically, the documentation of extended asm was lacking, namely you should NOT specify the same register as an input, and a clobber. If the register is clobbered, it should be specified as an output as well, e.g., by linking input and output through the "number" notation. (Beware of lvalues, some local variables needed...) URL:http://egcs.cygnus.com/faq.html In versions up to egcs-1.1.1, the compiler did not even warn about it, but it was liable to output bad code. Newer egcs are pickier and simply refuse to swallow such code. Note, since *addr changes, it needs to be an output operand. We might be excessive in saying that all memory has changed. Obtained from: OpenBSD w/extra thanks to Marc Espie <Marc.Espie@liafa.jussieu.fr> Revision Changes Path 1.7 +85 -84 src/sys/i386/include/bus.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199911140336.TAA88875>