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 20:15:24 +02:00
2007-10-12 23:04:23 +02:00
2007-10-16 17:38:31 -07:00
2007-10-16 09:43:09 -07:00
2007-10-13 09:57:15 -07:00
2007-10-16 11:26:01 +02:00
2007-10-16 11:26:02 +02:00
2007-10-17 08:43:00 -07:00
2007-10-17 08:42:55 -07:00
2007-10-17 08:42:55 -07:00
2007-10-12 23:04:06 +02:00
2007-10-12 23:04:24 +02:00
2007-10-12 23:04:23 +02:00
2007-10-17 08:42:57 -07:00
2007-10-17 08:42:57 -07:00
2007-10-13 10:18:17 +02:00
2007-10-11 22:11:12 +02:00
2007-10-11 22:11:12 +02:00
2007-10-16 17:38:31 -07:00
2007-10-16 09:42:50 -07:00
2007-10-16 09:42:50 -07:00
2007-10-16 09:43:10 -07:00
2007-10-16 09:43:10 -07:00
2007-10-17 20:15:16 +02:00
2007-10-16 09:42:51 -07:00
2007-10-12 15:03:20 -07:00
2007-10-12 15:03:20 -07:00
2007-10-12 15:03:20 -07:00
2007-10-12 23:04:07 +02:00
2007-10-17 08:42:45 -07:00
2007-10-16 09:42:51 -07:00
2007-10-13 10:18:19 +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-16 17:38:31 -07:00
2007-10-16 17:38:31 -07:00
2007-10-17 20:15:21 +02:00
2007-10-16 09:42:50 -07:00
2007-10-17 20:15:31 +02:00
2007-10-17 20:15:31 +02:00
2007-10-12 23:04:23 +02:00
2007-10-16 09:42:50 -07:00
2007-10-16 09:42:50 -07:00
2007-10-12 23:04:23 +02:00
2007-10-17 08:42:53 -07:00
2007-10-12 23:04:23 +02:00