Sophie

Sophie

distrib > Mageia > 8 > x86_64 > by-pkgid > 32ff79a2cf327f1f341c4104cb58a812 > files > 3

cpuinfo-1.0-0.20090313.29.mga8.src.rpm

=== modified file 'configure'
--- configure	2009-03-13 15:35:56 +0000
+++ configure	2009-03-18 23:54:23 +0000
@@ -541,6 +541,18 @@
     rm -f $TMPC $TMPE
 done
 
+# check for sys/personality.h
+header=sys/personality.h
+cat > $TMPC << EOF
+#include <$header>
+int main(void) { return PER_LINUX_32BIT; }
+EOF
+if $cc $TMPC -o $TMPE > /dev/null 2>&1; then
+    header_def=`echo "$header" | tr '[:lower:]./-' '[:upper:]___'`
+    echo "#define HAVE_$header_def 1" >> $config_h
+fi
+rm -f $TMPC $TMPE
+
 # build tree in object directory if source path is different from current one
 if test "$source_path_used" = "yes" ; then
     case $source_path in

=== modified file 'src/cpuinfo-common.c'
--- src/cpuinfo-common.c	2009-03-12 23:58:25 +0000
+++ src/cpuinfo-common.c	2009-03-18 23:40:25 +0000
@@ -219,6 +219,11 @@
 // Returns 1 if CPU supports the specified feature
 int cpuinfo_has_feature(struct cpuinfo *cip, int feature)
 {
+#ifdef HAVE_SYS_PERSONALITY_H
+  if((feature == CPUINFO_FEATURE_64BIT) && (personality(0xffffffff) & PER_MASK) == PER_LINUX32)
+      return false;
+#endif
+
   return cpuinfo_arch_has_feature(cip, feature);
 }
 

=== modified file 'src/sysdeps.h'
--- src/sysdeps.h	2007-05-14 14:10:46 +0000
+++ src/sysdeps.h	2009-03-18 23:22:49 +0000
@@ -36,6 +36,10 @@
 #include <sys/types.h>
 #endif
 
+#ifdef HAVE_SYS_PERSONALITY_H
+#include <sys/personality.h>
+#endif
+
 // Private interface specification
 #ifdef HAVE_VISIBILITY_ATTRIBUTE
 #define attribute_hidden __attribute__((visibility("hidden")))