freebsd-dev/sys/amd64
David E. O'Brien dfe41fc832 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>
1999-11-14 03:36:34 +00:00
..
amd64 Change the type of sf_addr in struct {o}sigframe from char* to 1999-11-12 11:21:34 +00:00
conf Update examples using 'disk' and 'tape' - they used to have magic meaning 1999-11-01 04:02:58 +00:00
include Fix clobbers so that GENERIC may compile with GCC 2.95.2. 1999-11-14 03:36:34 +00:00
isa i8254_restore is called from apm_default_resume() to reload 1999-10-30 14:56:01 +00:00
pci Add text for the AMD-751 host-to-PCI and PCI-to-PCI (AGP) bridges. 1999-10-25 06:28:04 +00:00
Makefile $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00