diff -urN festalon/autogen.sh festalon-new/autogen.sh
--- festalon/autogen.sh	2005-03-02 13:14:45.000000000 -0600
+++ festalon-new/autogen.sh	2009-02-01 18:40:20.000000000 -0600
@@ -1,9 +1,9 @@
 #!/bin/sh
 
 libtoolize --force --copy
-aclocal-1.6
+aclocal
 autoconf
-automake-1.6 -a -c
+automake -a -c
 
 rm autom4te.cache/*
 rmdir autom4te.cache
diff -urN festalon/src/cputest.c festalon-new/src/cputest.c
--- festalon/src/cputest.c	2005-02-27 18:26:01.000000000 -0600
+++ festalon-new/src/cputest.c	2009-02-01 20:12:55.000000000 -0600
@@ -31,18 +31,33 @@
 {
 #ifdef ARCH_X86
     int rval;
+#ifdef __x86_64__
+    int64_t eax, ebx, ecx, edx;
+#else
     int eax, ebx, ecx, edx;
+#endif
     char vendor[13] = "UnknownVndr";
     
     __asm__ __volatile__ (
                           /* See if CPUID instruction is supported ... */
                           /* ... Get copies of EFLAGS into eax and ecx */
-                          "pushf\n\t"
 #ifdef __x86_64__
+                          "pushf\n\t"
+                          "pop %0\n\t"
+                          "mov %0, %1\n\t"
+                          
+                          /* ... Toggle the ID bit in one copy and store */
+                          /*     to the EFLAGS reg */
+                          "xor $0x200000, %0\n\t"
+                          "push %0\n\t"
+                          "popf\n\t"
+                          
+                          /* ... Get the (hopefully modified) EFLAGS */
+                          "pushf\n\t"
                           "pop %0\n\t"
 #else
+                          "pushf\n\t"
                           "popl %0\n\t"
-#endif
                           "movl %0, %1\n\t"
                           
                           /* ... Toggle the ID bit in one copy and store */
@@ -53,9 +68,6 @@
                           
                           /* ... Get the (hopefully modified) EFLAGS */
                           "pushf\n\t"
-#ifdef __x86_64__
-                          "pop %0\n\t"
-#else
                           "popl %0\n\t"
 #endif
                           : "=a" (eax), "=c" (ecx)
