Browse Source

Issue #18028: Fix aliasing issue in READ_TIMESTAMP() of ceval.c on x86_64,

when Python is configure with --with-tsc. Patch written by Christian Heimes.
pull/224/head
Victor Stinner 12 years ago
parent
commit
0b881dd50f
  1. 8
      Python/ceval.c

8
Python/ceval.c

@ -65,9 +65,11 @@ ppc_getcounter(uint64 *v)
even in 64-bit mode, we need to use "a" and "d" for the lower and upper
32-bit pieces of the result. */
#define READ_TIMESTAMP(val) \
__asm__ __volatile__("rdtsc" : \
"=a" (((int*)&(val))[0]), "=d" (((int*)&(val))[1]));
#define READ_TIMESTAMP(val) do { \
unsigned int h, l; \
__asm__ __volatile__("rdtsc" : "=a" (l), "=d" (h)); \
(val) = ((uint64)l) | (((uint64)h) << 32); \
} while(0)
#else

Loading…
Cancel
Save