rpms/valgrind/devel valgrind-3.2.1-intel-cache-sizes.patch, NONE, 1.1 valgrind-3.2.1-pkg-config.patch, NONE, 1.1 valgrind.spec, 1.44, 1.45

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Nov 6 16:57:42 UTC 2006


Author: jakub

Update of /cvs/dist/rpms/valgrind/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv15064

Modified Files:
	valgrind.spec 
Added Files:
	valgrind-3.2.1-intel-cache-sizes.patch 
	valgrind-3.2.1-pkg-config.patch 
Log Message:
3.2.1-6

valgrind-3.2.1-intel-cache-sizes.patch:
 cg-amd64.c |   25 ++++++++++++++++++++++---
 cg-x86.c   |   21 ++++++++++++++++++---
 2 files changed, 40 insertions(+), 6 deletions(-)

--- NEW FILE valgrind-3.2.1-intel-cache-sizes.patch ---
--- valgrind-3.2.1/cachegrind/cg-amd64.c.jj	2006-08-28 15:38:38.000000000 +0200
+++ valgrind-3.2.1/cachegrind/cg-amd64.c	2006-11-06 11:32:07.000000000 +0100
@@ -57,6 +57,10 @@ static void micro_ops_warn(Int actual_si
 static
 Int Intel_cache_info(Int level, cache_t* I1c, cache_t* D1c, cache_t* L2c)
 {
+   Int cpuid1_eax;
+   Int cpuid1_ignore;
+   Int family;
+   Int model;
    UChar info[16];
    Int   i, trials;
    Bool  L2_found = False;
@@ -68,6 +72,12 @@ Int Intel_cache_info(Int level, cache_t*
       return -1;
    }
 
+   VG_(cpuid)(1, &cpuid1_eax, &cpuid1_ignore,
+	      &cpuid1_ignore, &cpuid1_ignore);
+
+   family = ((cpuid1_eax >> 20) & 0xff) + ((cpuid1_eax >> 8) & 0xf);
+   model = (((cpuid1_eax >>16) & 0xf) << 4) + ((cpuid1_eax >> 4) & 0xf);
+
    VG_(cpuid)(2, (Int*)&info[0], (Int*)&info[4], 
                  (Int*)&info[8], (Int*)&info[12]);
    trials  = info[0] - 1;   /* AL register - bits 0..7 of %eax */
@@ -88,9 +98,10 @@ Int Intel_cache_info(Int level, cache_t*
           break;
           
       /* TLB info, ignore */
-      case 0x01: case 0x02: case 0x03: case 0x04:
-      case 0x50: case 0x51: case 0x52: case 0x5b: case 0x5c: case 0x5d:
-      case 0xb0: case 0xb3:
+      case 0x01: case 0x02: case 0x03: case 0x04: case 0x05:
+      case 0x50: case 0x51: case 0x52: case 0x56: case 0x57:
+      case 0x5b: case 0x5c: case 0x5d:
+      case 0xb0: case 0xb1: case 0xb3: case 0xb4:
           break;      
 
       case 0x06: *I1c = (cache_t) {  8, 4, 32 }; break;
@@ -128,6 +139,10 @@ Int Intel_cache_info(Int level, cache_t*
       case 0x43: *L2c = (cache_t) {  512, 4, 32 }; L2_found = True; break;
       case 0x44: *L2c = (cache_t) { 1024, 4, 32 }; L2_found = True; break;
       case 0x45: *L2c = (cache_t) { 2048, 4, 32 }; L2_found = True; break;
+      case 0x49: if (family != 15 || model != 6) {
+		   *L2c = (cache_t) { 4096, 16, 64 }; L2_found = True;
+		 }
+		 break;
 
       /* These are sectored, whatever that means */
       case 0x60: *D1c = (cache_t) { 16, 8, 64 };  break;      /* sectored */
@@ -169,6 +186,10 @@ Int Intel_cache_info(Int level, cache_t*
       case 0x86: *L2c = (cache_t) {  512, 4, 64 };  L2_found = True;  break;
       case 0x87: *L2c = (cache_t) { 1024, 8, 64 };  L2_found = True;  break;
 
+      /* Ignore prefetch information */
+      case 0xf0: case 0xf1: 
+	  break;
+
       default:
           VG_(message)(Vg_DebugMsg, 
              "warning: Unknown Intel cache config value "
--- valgrind-3.2.1/cachegrind/cg-x86.c.jj	2006-08-28 15:38:38.000000000 +0200
+++ valgrind-3.2.1/cachegrind/cg-x86.c	2006-11-06 11:28:42.000000000 +0100
@@ -57,6 +57,10 @@ static void micro_ops_warn(Int actual_si
 static
 Int Intel_cache_info(Int level, cache_t* I1c, cache_t* D1c, cache_t* L2c)
 {
+   Int cpuid1_eax;
+   Int cpuid1_ignore;
+   Int family;
+   Int model;
    UChar info[16];
    Int   i, trials;
    Bool  L2_found = False;
@@ -68,6 +72,12 @@ Int Intel_cache_info(Int level, cache_t*
       return -1;
    }
 
+   VG_(cpuid)(1, &cpuid1_eax, &cpuid1_ignore,
+	      &cpuid1_ignore, &cpuid1_ignore);
+
+   family = ((cpuid1_eax >> 20) & 0xff) + ((cpuid1_eax >> 8) & 0xf);
+   model = (((cpuid1_eax >>16) & 0xf) << 4) + ((cpuid1_eax >> 4) & 0xf);
+
    VG_(cpuid)(2, (Int*)&info[0], (Int*)&info[4], 
                  (Int*)&info[8], (Int*)&info[12]);
    trials  = info[0] - 1;   /* AL register - bits 0..7 of %eax */
@@ -88,9 +98,10 @@ Int Intel_cache_info(Int level, cache_t*
           break;
           
       /* TLB info, ignore */
-      case 0x01: case 0x02: case 0x03: case 0x04:
-      case 0x50: case 0x51: case 0x52: case 0x5b: case 0x5c: case 0x5d:
-      case 0xb0: case 0xb3:
+      case 0x01: case 0x02: case 0x03: case 0x04: case 0x05:
+      case 0x50: case 0x51: case 0x52: case 0x56: case 0x57:
+      case 0x5b: case 0x5c: case 0x5d:
+      case 0xb0: case 0xb1: case 0xb3: case 0xb4:
           break;      
 
       case 0x06: *I1c = (cache_t) {  8, 4, 32 }; break;
@@ -127,6 +138,10 @@ Int Intel_cache_info(Int level, cache_t*
       case 0x43: *L2c = (cache_t) {  512, 4, 32 }; L2_found = True; break;
       case 0x44: *L2c = (cache_t) { 1024, 4, 32 }; L2_found = True; break;
       case 0x45: *L2c = (cache_t) { 2048, 4, 32 }; L2_found = True; break;
+      case 0x49: if (family != 15 || model != 6) {
+		   *L2c = (cache_t) { 4096, 16, 64 }; L2_found = True;
+		 }
+		 break;
 
       /* These are sectored, whatever that means */
       case 0x60: *D1c = (cache_t) { 16, 8, 64 };  break;      /* sectored */

valgrind-3.2.1-pkg-config.patch:
 configure    |    4 +++-
 configure.in |    2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

--- NEW FILE valgrind-3.2.1-pkg-config.patch ---
--- valgrind-3.2.1/configure.in.jj	2006-11-06 10:59:42.000000000 +0100
+++ valgrind-3.2.1/configure.in	2006-11-06 17:42:01.000000000 +0100
@@ -251,6 +251,7 @@ AC_MSG_CHECKING([for a supported CPU/OS 
 
 AC_SUBST(VG_PLATFORM_PRI)
 AC_SUBST(VG_PLATFORM_SEC)
+AC_SUBST(VG_PLATFORM)
 
 case "$VG_ARCH-$VG_OS" in
      x86-linux)
@@ -296,6 +297,7 @@ case "$VG_ARCH-$VG_OS" in
         AC_MSG_ERROR([Valgrind is platform specific. Sorry. Please consider doing a port.])
         ;;
 esac
+VG_PLATFORM=`echo "$VG_PLATFORM_PRI" | LC_ALL=C tr A-Z_ a-z-`
 
 # Set up VG_<platform>.  Either one or two of these become defined.
 #
--- valgrind-3.2.1/configure.jj	2006-11-06 10:59:42.000000000 +0100
+++ valgrind-3.2.1/configure	2006-11-06 17:42:20.000000000 +0100
@@ -311,7 +311,7 @@ ac_includes_default="\
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT VEX_DIR DISTCHECK_CONFIGURE_FLAGS LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB PERL GDB CCAS CCASFLAGS build build_cpu build_vendor build_os h!
 ost host_cpu host_vendor host_os VG_ARCH VG_ARCH_ALL VALT_LOAD_ADDRESS VG_OS VG_PLATFORM_PRI VG_PLATFORM_SEC VG_X86_LINUX_TRUE VG_X86_LINUX_FALSE VG_AMD64_LINUX_TRUE VG_AMD64_LINUX_FALSE VG_PPC32_LINUX_TRUE VG_PPC32_LINUX_FALSE VG_PPC64_LINUX_TRUE VG_PPC64_LINUX_FALSE DEFAULT_SUPP EGREP FLAG_M32 FLAG_M64 FLAG_MMMX FLAG_MSSE PREFERRED_STACK_BOUNDARY FLAG_WDECL_AFTER_STMT LIBOBJS BUILD_MPIWRAP_TRUE BUILD_MPIWRAP_FALSE MPI_CC LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT VEX_DIR DISTCHECK_CONFIGURE_FLAGS LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE RANLIB ac_ct_RANLIB PERL GDB CCAS CCASFLAGS build build_cpu build_vendor build_os h!
 ost host_cpu host_vendor host_os VG_ARCH VG_ARCH_ALL VALT_LOAD_ADDRESS VG_OS VG_PLATFORM_PRI VG_PLATFORM_SEC VG_PLATFORM VG_X86_LINUX_TRUE VG_X86_LINUX_FALSE VG_AMD64_LINUX_TRUE VG_AMD64_LINUX_FALSE VG_PPC32_LINUX_TRUE VG_PPC32_LINUX_FALSE VG_PPC64_LINUX_TRUE VG_PPC64_LINUX_FALSE DEFAULT_SUPP EGREP FLAG_M32 FLAG_M64 FLAG_MMMX FLAG_MSSE PREFERRED_STACK_BOUNDARY FLAG_WDECL_AFTER_STMT LIBOBJS BUILD_MPIWRAP_TRUE BUILD_MPIWRAP_FALSE MPI_CC LTLIBOBJS'
 ac_subst_files=''
 
 # Initialize some variables set by options.
@@ -4230,6 +4231,7 @@ echo "$as_me: error: Valgrind is platfor
    { (exit 1); exit 1; }; }
         ;;
 esac
+VG_PLATFORM=`echo "$VG_PLATFORM_PRI" | LC_ALL=C tr A-Z_ a-z-`
 
 # Set up VG_<platform>.  Either one or two of these become defined.
 #
@@ -7615,6 +7617,7 @@ s, at VALT_LOAD_ADDRESS@,$VALT_LOAD_ADDRESS
 s, at VG_OS@,$VG_OS,;t t
 s, at VG_PLATFORM_PRI@,$VG_PLATFORM_PRI,;t t
 s, at VG_PLATFORM_SEC@,$VG_PLATFORM_SEC,;t t
+s, at VG_PLATFORM@,$VG_PLATFORM,;t t
 s, at VG_X86_LINUX_TRUE@,$VG_X86_LINUX_TRUE,;t t
 s, at VG_X86_LINUX_FALSE@,$VG_X86_LINUX_FALSE,;t t
 s, at VG_AMD64_LINUX_TRUE@,$VG_AMD64_LINUX_TRUE,;t t


Index: valgrind.spec
===================================================================
RCS file: /cvs/dist/rpms/valgrind/devel/valgrind.spec,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -r1.44 -r1.45
--- valgrind.spec	25 Oct 2006 15:32:12 -0000	1.44
+++ valgrind.spec	6 Nov 2006 16:57:40 -0000	1.45
@@ -1,7 +1,7 @@
 Summary: Tool for finding memory management bugs in programs
 Name: valgrind
 Version: 3.2.1
-Release: 5
+Release: 6
 Epoch: 1
 Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
 Patch1: valgrind-3.2.0-makefile.patch
@@ -9,6 +9,8 @@
 Patch3: valgrind-3.2.1-cfa-set-loc.patch
 Patch4: valgrind-3.2.1-glibc25.patch
 Patch5: valgrind-3.2.1-ppc-pagesize.patch
+Patch6: valgrind-3.2.1-intel-cache-sizes.patch
+Patch7: valgrind-3.2.1-pkg-config.patch
 License: GPL
 URL: http://www.valgrind.org/
 Group: Development/Debuggers
@@ -42,6 +44,8 @@
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
+%patch6 -p1
+%patch7 -p1
 
 %build
 %ifarch x86_64 ppc64
@@ -125,6 +129,10 @@
 %{_mandir}/man1/valgrind*
 
 %changelog
+* Mon Nov  6 2006 Jakub Jelinek <jakub at redhat.com> 3.2.1-6
+- fix valgrind.pc (#213149)
+- handle Intel Core2 cache sizes in cachegrind (Ulrich Drepper)
+
 * Wed Oct 25 2006 Jakub Jelinek <jakub at redhat.com> 3.2.1-5
 - fix valgrind on ppc/ppc64 where PAGESIZE is 64K (#211598)
 




More information about the fedora-cvs-commits mailing list