Kirill Korotaev c1217a75ea x86: mark read_crX() asm code as volatile
Some gcc versions (I checked at least 4.1.1 from RHEL5 & 4.1.2 from gentoo)
can generate incorrect code with read_crX()/write_crX() functions mix up,
due to cached results of read_crX().

The small app for x8664 below compiled with -O2 demonstrates this
(i686 does the same thing):
2007-10-17 20:15:31 +02:00
..
2007-10-12 23:04:23 +02:00
2007-10-16 09:43:09 -07:00
2007-10-16 11:26:02 +02:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:55 -07:00
2007-10-12 23:04:24 +02:00
2007-10-12 23:04:23 +02:00
2007-10-16 11:26:01 +02:00
2007-10-16 11:26:02 +02:00
2007-10-17 08:42:47 -07:00
2007-10-17 08:42:47 -07:00
2007-10-12 23:04:23 +02:00
2007-10-12 23:04:23 +02:00