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-17 08:43:00 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:47 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:43:00 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 09:05:55 -07:00
2007-10-17 09:05:55 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:43:00 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 20:15:31 +02:00
2007-10-17 08:42:53 -07:00
2007-10-10 16:55:50 -07:00
2007-10-17 08:42:57 -07:00
2007-10-17 09:11:18 -07:00
2007-10-13 09:58:59 -07:00
2007-10-15 12:50:28 -07:00
2007-10-16 09:42:50 -07:00
2007-10-17 08:42:52 -07:00
2007-10-16 16:57:46 +02:00
2007-10-16 09:43:18 -07:00
2007-10-17 08:42:52 -07:00