[valgrind] 3.7.0-1

Jakub Jelinek jakub at fedoraproject.org
Fri Jan 27 16:56:53 UTC 2012


commit 81c97a166033fa0ff11bf9e9c30d6e155de57155
Author: Jakub Jelinek <jakub at redhat.com>
Date:   Fri Jan 27 17:56:53 2012 +0100

    3.7.0-1

 .gitignore                                         |    3 +-
 sources                                            |    2 +-
 valgrind-3.6.1-config_h.patch                      |   11 -
 valgrind-3.6.1-gen_insn_test.patch                 |  190 -
 valgrind-3.6.1-glibc-2.10.1.patch                  |   49 -
 valgrind-3.6.1-glibc-2.14.patch                    |   67 -
 valgrind-3.6.1-helgrind-tests.patch                |   60 -
 valgrind-3.6.1-plt-unwind-info.patch               |   78 -
 valgrind-3.6.1-ppc64-build.patch                   |   20 -
 valgrind-3.6.1-ppc64-pwrite64.patch                |   11 -
 valgrind-3.6.1-s390x-1.patch                       |31426 --------------------
 valgrind-3.6.1-s390x-2.patch                       | 6983 -----
 valgrind-3.6.1-s390x-3.patch                       |  303 -
 valgrind-3.6.1-s390x-4.patch                       |   36 -
 valgrind-3.6.1-tests-_GNU_SOURCE.patch             |   90 -
 valgrind-3.6.1-x86-ldso-strlen.patch               |   78 -
 valgrind-3.6.1-x86_64-memcpy-memmove.patch         |   92 -
 valgrind-3.6.1-xlc_dbl_u32-test.patch              |   18 -
 ...=> valgrind-3.7.0-cachegrind-improvements.patch |   14 +-
 ...6.1-capget.patch => valgrind-3.7.0-capget.patch |    4 +-
 valgrind-3.7.0-config_h.patch                      |   11 +
 valgrind-3.7.0-f-sgetown-ex.patch                  |  180 +
 valgrind-3.7.0-glibc-2.15.patch                    |   65 +
 ...atch => valgrind-3.7.0-helgrind-race-supp.patch |    0
 ...6.1-openat.patch => valgrind-3.7.0-openat.patch |    4 +-
 ...ind-3.6.1-pie.patch => valgrind-3.7.0-pie.patch |    0
 valgrind-3.7.0-scsi-ioctls.patch                   |   72 +
 ...6.1-stat_h.patch => valgrind-3.7.0-stat_h.patch |    0
 valgrind-3.7.0-tests.patch                         |   60 +
 valgrind.spec                                      |   56 +-
 30 files changed, 413 insertions(+), 39570 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index c23da19..a00336e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1 @@
-valgrind-3.6.0.tar.bz2
-/valgrind-3.6.1.tar.bz2
+/valgrind-3.7.0.tar.bz2
diff --git a/sources b/sources
index 7873191..518c77d 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-2c3aa122498baecc9d69194057ca88f5  valgrind-3.6.1.tar.bz2
+a855fda56edf05614f099dca316d1775  valgrind-3.7.0.tar.bz2
diff --git a/valgrind-3.6.1-cachegrind-improvements.patch b/valgrind-3.7.0-cachegrind-improvements.patch
similarity index 64%
rename from valgrind-3.6.1-cachegrind-improvements.patch
rename to valgrind-3.7.0-cachegrind-improvements.patch
index 5fbb3cc..71b73d0 100644
--- a/valgrind-3.6.1-cachegrind-improvements.patch
+++ b/valgrind-3.7.0-cachegrind-improvements.patch
@@ -1,5 +1,5 @@
---- valgrind-3.4.0/cachegrind/cg_sim.c.jj	2007-01-08 02:43:10.000000000 -0500
-+++ valgrind-3.4.0/cachegrind/cg_sim.c	2007-02-13 07:15:46.000000000 -0500
+--- valgrind-3.7.0/cachegrind/cg_sim.c.jj	2011-10-26 23:24:32.000000000 +0200
++++ valgrind-3.7.0/cachegrind/cg_sim.c	2011-12-09 17:31:19.256023683 +0100
 @@ -42,27 +42,30 @@ typedef struct {
     Int          size;                   /* bytes */
     Int          assoc;
@@ -52,13 +52,3 @@
  }
  
  /* This is done as a macro rather than by passing in the cache_t2 as an 
-@@ -138,8 +138,7 @@ void cachesim_##L##_doref(Addr a, UChar 
-       return;                                                               \
-                                                                             \
-    /* Second case: word straddles two lines. */                             \
--   /* Nb: this is a fast way of doing ((set1+1) % L.sets) */                \
--   } else if (((set1 + 1) & (L.sets-1)) == set2) {                          \
-+   } else if (((set1 + 1) & (L.sets_min_1)) == set2) {                      \
-       set = &(L.tags[set1 * L.assoc]);                                      \
-       if (tag == set[0]) {                                                  \
-          goto block2;                                                       \
diff --git a/valgrind-3.6.1-capget.patch b/valgrind-3.7.0-capget.patch
similarity index 81%
rename from valgrind-3.6.1-capget.patch
rename to valgrind-3.7.0-capget.patch
index f064567..727defa 100644
--- a/valgrind-3.6.1-capget.patch
+++ b/valgrind-3.7.0-capget.patch
@@ -1,5 +1,5 @@
---- valgrind-3.5.0/coregrind/m_syswrap/syswrap-linux.c.jj	2010-04-07 08:14:12.000000000 -0400
-+++ valgrind-3.5.0/coregrind/m_syswrap/syswrap-linux.c	2010-04-12 07:24:12.838876000 -0400
+--- valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c.jj	2010-04-07 08:14:12.000000000 -0400
++++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c	2010-04-12 07:24:12.838876000 -0400
 @@ -1955,8 +1955,9 @@ PRE(sys_capget)
                   vki_cap_user_header_t, header, vki_cap_user_data_t, data);
     PRE_MEM_READ( "capget(header)", ARG1, 
diff --git a/valgrind-3.7.0-config_h.patch b/valgrind-3.7.0-config_h.patch
new file mode 100644
index 0000000..3833da3
--- /dev/null
+++ b/valgrind-3.7.0-config_h.patch
@@ -0,0 +1,11 @@
+--- valgrind/include/pub_tool_basics.h.jj	2011-10-26 23:24:32.000000000 +0200
++++ valgrind/include/pub_tool_basics.h	2011-12-09 17:42:50.828630546 +0100
+@@ -290,7 +290,7 @@ static inline Bool sr_EQ ( SysRes sr1, S
+ #define VG_BUGS_TO "www.valgrind.org"
+ 
+ /* Branch prediction hints. */
+-#if defined(__GNUC__)
++#if defined(__GNUC__) && (__GNUC__ >= 3)
+ #  define LIKELY(x)   __builtin_expect(!!(x), 1)
+ #  define UNLIKELY(x) __builtin_expect(!!(x), 0)
+ #else
diff --git a/valgrind-3.7.0-f-sgetown-ex.patch b/valgrind-3.7.0-f-sgetown-ex.patch
new file mode 100644
index 0000000..dbb5486
--- /dev/null
+++ b/valgrind-3.7.0-f-sgetown-ex.patch
@@ -0,0 +1,180 @@
+--- valgrind-3.7.0/include/vki/vki-ppc64-linux.h.jj	2010-10-08 11:14:21.000000000 +0200
++++ valgrind-3.7.0/include/vki/vki-ppc64-linux.h	2012-01-27 16:45:19.418707191 +0100
+@@ -386,6 +386,16 @@ struct vki_sigcontext {
+ #define VKI_F_SETSIG        10      /*  for sockets. */
+ #define VKI_F_GETSIG        11      /*  for sockets. */
+ 
++#define VKI_F_SETOWN_EX		15
++#define VKI_F_GETOWN_EX		16
++
++struct vki_f_owner_ex
++{
++  enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
++    type;			/* Owner type of ID.  */
++  __vki_kernel_pid_t pid;	/* ID of owner.  */
++};
++
+ /* for F_[GET|SET]FL */
+ #define VKI_FD_CLOEXEC  1  /* actually anything with low bit set goes */
+ 
+--- valgrind-3.7.0/include/vki/vki-arm-linux.h.jj	2011-03-28 16:09:17.000000000 +0200
++++ valgrind-3.7.0/include/vki/vki-arm-linux.h	2012-01-27 16:44:48.356887209 +0100
+@@ -270,6 +270,16 @@ struct vki_sigcontext {
+ #define VKI_F_SETLK64		13
+ #define VKI_F_SETLKW64		14
+ 
++#define VKI_F_SETOWN_EX		15
++#define VKI_F_GETOWN_EX		16
++
++struct vki_f_owner_ex
++{
++  enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
++    type;			/* Owner type of ID.  */
++  __vki_kernel_pid_t pid;	/* ID of owner.  */
++};
++
+ /* for F_[GET|SET]FL */
+ #define VKI_FD_CLOEXEC	1	/* actually anything with low bit set goes */
+ 
+--- valgrind-3.7.0/include/vki/vki-x86-linux.h.jj	2010-10-08 11:14:21.000000000 +0200
++++ valgrind-3.7.0/include/vki/vki-x86-linux.h	2012-01-27 16:43:45.727249836 +0100
+@@ -308,6 +308,16 @@ struct vki_sigcontext {
+ #define VKI_F_SETLK64		13
+ #define VKI_F_SETLKW64		14
+ 
++#define VKI_F_SETOWN_EX		15
++#define VKI_F_GETOWN_EX		16
++
++struct vki_f_owner_ex
++{
++  enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
++    type;			/* Owner type of ID.  */
++  __vki_kernel_pid_t pid;	/* ID of owner.  */
++};
++
+ /* for F_[GET|SET]FL */
+ #define VKI_FD_CLOEXEC	1	/* actually anything with low bit set goes */
+ 
+--- valgrind-3.7.0/include/vki/vki-ppc32-linux.h.jj	2010-10-08 11:14:21.000000000 +0200
++++ valgrind-3.7.0/include/vki/vki-ppc32-linux.h	2012-01-27 16:45:11.912752106 +0100
+@@ -337,6 +337,16 @@ struct vki_sigcontext {
+ #define VKI_F_SETLK64		13
+ #define VKI_F_SETLKW64		14
+ 
++#define VKI_F_SETOWN_EX		15
++#define VKI_F_GETOWN_EX		16
++
++struct vki_f_owner_ex
++{
++  enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
++    type;			/* Owner type of ID.  */
++  __vki_kernel_pid_t pid;	/* ID of owner.  */
++};
++
+ /* for F_[GET|SET]FL */
+ #define VKI_FD_CLOEXEC	 1		/* actually anything with low bit set goes */
+ 
+--- valgrind-3.7.0/include/vki/vki-s390x-linux.h.jj	2011-06-08 17:26:29.000000000 +0200
++++ valgrind-3.7.0/include/vki/vki-s390x-linux.h	2012-01-27 16:45:31.078639504 +0100
+@@ -332,6 +332,16 @@ typedef struct vki_sigaltstack {
+ #define VKI_F_SETSIG	10	/* for sockets. */
+ #define VKI_F_GETSIG	11	/* for sockets. */
+ 
++#define VKI_F_SETOWN_EX		15
++#define VKI_F_GETOWN_EX		16
++
++struct vki_f_owner_ex
++{
++  enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
++    type;			/* Owner type of ID.  */
++  __vki_kernel_pid_t pid;	/* ID of owner.  */
++};
++
+ #define VKI_FD_CLOEXEC  1  /* actually anything with low bit set goes */
+ 
+ #define VKI_F_LINUX_SPECIFIC_BASE   1024
+--- valgrind-3.7.0/include/vki/vki-amd64-linux.h.jj	2010-10-08 11:14:21.000000000 +0200
++++ valgrind-3.7.0/include/vki/vki-amd64-linux.h	2012-01-27 16:44:23.592030914 +0100
+@@ -268,6 +268,16 @@ struct vki_sigcontext {
+ #define VKI_F_SETSIG		10	/*  for sockets. */
+ #define VKI_F_GETSIG		11	/*  for sockets. */
+ 
++#define VKI_F_SETOWN_EX		15
++#define VKI_F_GETOWN_EX		16
++
++struct vki_f_owner_ex
++{
++  enum { VKI_F_OWNER_TID, VKI_F_OWNER_PID, VKI_F_OWNER_PGRP }
++    type;			/* Owner type of ID.  */
++  __vki_kernel_pid_t pid;	/* ID of owner.  */
++};
++
+ #define VKI_FD_CLOEXEC	1	/* actually anything with low bit set goes */
+ 
+ #define VKI_F_LINUX_SPECIFIC_BASE	1024
+--- valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c.jj	2011-08-02 14:49:29.000000000 +0200
++++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c	2012-01-27 17:08:11.621732289 +0100
+@@ -3778,6 +3778,22 @@ PRE(sys_fcntl)
+                     struct flock64 *, lock);
+       break;
+ 
++   case VKI_F_SETOWN_EX:
++      PRINT("sys_fcntl[F_SETOWN_EX] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
++      PRE_REG_READ3(long, "fcntl",
++                    unsigned int, fd, unsigned int, cmd,
++                    struct vki_f_owner_ex *, arg);
++      PRE_MEM_READ("fcntl(F_SETOWN_EX)", ARG3, sizeof(struct vki_f_owner_ex));
++      break;
++
++   case VKI_F_GETOWN_EX:
++      PRINT("sys_fcntl[F_GETOWN_EX] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
++      PRE_REG_READ3(long, "fcntl",
++                    unsigned int, fd, unsigned int, cmd,
++                    struct vki_f_owner_ex *, arg);
++      PRE_MEM_WRITE("fcntl(F_GETOWN_EX)", ARG3, sizeof(struct vki_f_owner_ex));
++      break;
++
+    default:
+       PRINT("sys_fcntl[UNKNOWN] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
+       I_die_here;
+@@ -3812,6 +3828,8 @@ POST(sys_fcntl)
+          if (VG_(clo_track_fds))
+             ML_(record_fd_open_named)(tid, RES);
+       }
++   } else if (ARG2 == VKI_F_GETOWN_EX) {
++      POST_MEM_WRITE(ARG3, sizeof(struct vki_f_owner_ex));
+    }
+ }
+ 
+@@ -3857,6 +3875,22 @@ PRE(sys_fcntl64)
+                     unsigned int, fd, unsigned int, cmd,
+                     struct flock64 *, lock);
+       break;
++
++   case VKI_F_SETOWN_EX:
++      PRINT("sys_fcntl[F_SETOWN_EX] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
++      PRE_REG_READ3(long, "fcntl",
++                    unsigned int, fd, unsigned int, cmd,
++                    struct vki_f_owner_ex *, arg);
++      PRE_MEM_READ("fcntl(F_SETOWN_EX)", ARG3, sizeof(struct vki_f_owner_ex));
++      break;
++
++   case VKI_F_GETOWN_EX:
++      PRINT("sys_fcntl[F_GETOWN_EX] ( %ld, %ld, %ld )", ARG1,ARG2,ARG3);
++      PRE_REG_READ3(long, "fcntl",
++                    unsigned int, fd, unsigned int, cmd,
++                    struct vki_f_owner_ex *, arg);
++      PRE_MEM_WRITE("fcntl(F_GETOWN_EX)", ARG3, sizeof(struct vki_f_owner_ex));
++      break;
+    }
+    
+ #  if defined(VGP_x86_linux)
+@@ -3887,6 +3921,8 @@ POST(sys_fcntl64)
+          if (VG_(clo_track_fds))
+             ML_(record_fd_open_named)(tid, RES);
+       }
++   } else if (ARG2 == VKI_F_GETOWN_EX) {
++      POST_MEM_WRITE(ARG3, sizeof(struct vki_f_owner_ex));
+    }
+ }
+ 
diff --git a/valgrind-3.7.0-glibc-2.15.patch b/valgrind-3.7.0-glibc-2.15.patch
new file mode 100644
index 0000000..cca6674
--- /dev/null
+++ b/valgrind-3.7.0-glibc-2.15.patch
@@ -0,0 +1,65 @@
+--- valgrind-3.7.0/configure.in.jj	2011-11-05 12:13:30.000000000 +0100
++++ valgrind-3.7.0/configure.in	2011-12-09 17:48:21.409848842 +0100
+@@ -775,6 +775,13 @@ case "${GLIBC_VERSION}" in
+ 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ 	;;
++     2.15)
++	AC_MSG_RESULT(2.15 family)
++	AC_DEFINE([GLIBC_2_15], 1, [Define to 1 if you're using glibc 2.15.x])
++	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++	;;
+      darwin)
+ 	AC_MSG_RESULT(Darwin)
+ 	AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin])
+@@ -788,7 +795,7 @@ case "${GLIBC_VERSION}" in
+ 
+      *)
+ 	AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}])
+-	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14])
++	AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.15])
+ 	AC_MSG_ERROR([or Darwin libc])
+ 	;;
+ esac
+--- valgrind-3.7.0/config.h.in.jj	2011-10-26 23:25:55.000000000 +0200
++++ valgrind-3.7.0/config.h.in	2011-12-09 17:47:42.385804043 +0100
+@@ -39,6 +39,9 @@
+ /* Define to 1 if you're using glibc 2.14.x */
+ #undef GLIBC_2_14
+ 
++/* Define to 1 if you're using glibc 2.15.x */
++#undef GLIBC_2_15
++
+ /* Define to 1 if you're using glibc 2.2.x */
+ #undef GLIBC_2_2
+ 
+--- valgrind-3.7.0/configure.jj	2011-11-05 12:24:39.000000000 +0100
++++ valgrind-3.7.0/configure	2011-12-09 17:48:58.371930777 +0100
+@@ -6402,6 +6402,16 @@ $as_echo "#define GLIBC_2_14 1" >>confde
+ 	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ 	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ 	;;
++     2.15)
++	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.15 family" >&5
++$as_echo "2.15 family" >&6; }
++
++$as_echo "#define GLIBC_2_15 1" >>confdefs.h
++
++	DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
++	DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
++	;;
+      darwin)
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
+ $as_echo "Darwin" >&6; }
+@@ -6422,7 +6432,7 @@ $as_echo "#define BIONIC_LIBC 1" >>confd
+      *)
+ 	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported version ${GLIBC_VERSION}" >&5
+ $as_echo "unsupported version ${GLIBC_VERSION}" >&6; }
+-	as_fn_error "Valgrind requires glibc version 2.2 - 2.14" "$LINENO" 5
++	as_fn_error "Valgrind requires glibc version 2.2 - 2.15" "$LINENO" 5
+ 	as_fn_error "or Darwin libc" "$LINENO" 5
+ 	;;
+ esac
diff --git a/valgrind-3.6.1-helgrind-race-supp.patch b/valgrind-3.7.0-helgrind-race-supp.patch
similarity index 100%
rename from valgrind-3.6.1-helgrind-race-supp.patch
rename to valgrind-3.7.0-helgrind-race-supp.patch
diff --git a/valgrind-3.6.1-openat.patch b/valgrind-3.7.0-openat.patch
similarity index 90%
rename from valgrind-3.6.1-openat.patch
rename to valgrind-3.7.0-openat.patch
index 0a2d6a6..26070ef 100644
--- a/valgrind-3.6.1-openat.patch
+++ b/valgrind-3.7.0-openat.patch
@@ -15,8 +15,8 @@ main (void)
   return 0;
 }
 
---- valgrind-3.3.0/coregrind/m_syswrap/syswrap-linux.c.jj	2007-12-11 00:18:43.000000000 +0100
-+++ valgrind-3.3.0/coregrind/m_syswrap/syswrap-linux.c	2008-03-03 11:35:15.000000000 +0100
+--- valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c.jj	2007-12-11 00:18:43.000000000 +0100
++++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c	2008-03-03 11:35:15.000000000 +0100
 @@ -2455,10 +2455,15 @@ PRE(sys_openat)
                      int, dfd, const char *, filename, int, flags);
     }
diff --git a/valgrind-3.6.1-pie.patch b/valgrind-3.7.0-pie.patch
similarity index 100%
rename from valgrind-3.6.1-pie.patch
rename to valgrind-3.7.0-pie.patch
diff --git a/valgrind-3.7.0-scsi-ioctls.patch b/valgrind-3.7.0-scsi-ioctls.patch
new file mode 100644
index 0000000..37890f4
--- /dev/null
+++ b/valgrind-3.7.0-scsi-ioctls.patch
@@ -0,0 +1,72 @@
+--- valgrind-3.7.0/include/vki/vki-linux.h.jj	2011-10-26 23:24:31.000000000 +0200
++++ valgrind-3.7.0/include/vki/vki-linux.h	2012-01-27 16:11:53.373379491 +0100
+@@ -1730,6 +1730,15 @@ typedef struct vki_sg_scsi_id { /* used
+ #define VKI_SG_SET_COMMAND_Q 0x2271   /* Change queuing state with 0 or 1 */
+ 
+ //----------------------------------------------------------------------
++// From linux-2.6.34/include/scsi/scsi.h and scsi/scsi_ioctl.h
++//----------------------------------------------------------------------
++
++#define VKI_SCSI_IOCTL_DOORLOCK		0x5380 /* Lock the eject mechanism.  */
++#define VKI_SCSI_IOCTL_DOORUNLOCK	0x5381 /* Unlock the mechanism.  */
++#define VKI_SCSI_IOCTL_GET_IDLUN	0x5382
++#define VKI_SCSI_IOCTL_GET_BUS_NUMBER	0x5386
++
++//----------------------------------------------------------------------
+ // From linux-2.6.8.1/include/linux/cdrom.h
+ //----------------------------------------------------------------------
+ 
+--- valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c.jj	2012-01-27 13:27:26.000000000 +0100
++++ valgrind-3.7.0/coregrind/m_syswrap/syswrap-linux.c	2012-01-27 16:18:05.377177786 +0100
+@@ -3935,6 +3935,10 @@ PRE(sys_ioctl)
+    case VKI_SNDRV_TIMER_IOCTL_STOP:
+    case VKI_SNDRV_TIMER_IOCTL_CONTINUE:
+    case VKI_SNDRV_TIMER_IOCTL_PAUSE:
++
++      /* SCSI no operand */
++   case VKI_SCSI_IOCTL_DOORLOCK:
++   case VKI_SCSI_IOCTL_DOORUNLOCK:
+       PRINT("sys_ioctl ( %ld, 0x%lx )",ARG1,ARG2);
+       PRE_REG_READ2(long, "ioctl",
+                     unsigned int, fd, unsigned int, request);
+@@ -4420,6 +4424,14 @@ PRE(sys_ioctl)
+                      VKI_SIZEOF_STRUCT_HD_DRIVEID );
+       break;
+ 
++      /* SCSI */
++   case VKI_SCSI_IOCTL_GET_IDLUN: /* 0x5382 */
++      PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_GET_IDLUN)", ARG3, 2*sizeof(int));
++      break;
++   case VKI_SCSI_IOCTL_GET_BUS_NUMBER: /* 0x5386 */
++      PRE_MEM_WRITE( "ioctl(SCSI_IOCTL_GET_BUS_NUMBER)", ARG3, sizeof(int));
++      break;
++
+       /* CD ROM stuff (??)  */
+    case VKI_CDROM_GET_MCN:
+       PRE_MEM_READ( "ioctl(CDROM_GET_MCN)", ARG3,
+@@ -5521,6 +5533,10 @@ POST(sys_ioctl)
+    case VKI_SNDRV_TIMER_IOCTL_STOP:
+    case VKI_SNDRV_TIMER_IOCTL_CONTINUE:
+    case VKI_SNDRV_TIMER_IOCTL_PAUSE:
++
++      /* SCSI no operand */
++   case VKI_SCSI_IOCTL_DOORLOCK:
++   case VKI_SCSI_IOCTL_DOORUNLOCK:
+       break;
+ 
+       /* Real Time Clock (/dev/rtc) ioctls */
+@@ -5587,6 +5603,14 @@ POST(sys_ioctl)
+       POST_MEM_WRITE(ARG3, VKI_SIZEOF_STRUCT_HD_DRIVEID );
+       break;
+ 
++      /* SCSI */
++   case VKI_SCSI_IOCTL_GET_IDLUN: /* 0x5382 */
++      POST_MEM_WRITE(ARG3, 2*sizeof(int));
++      break;
++   case VKI_SCSI_IOCTL_GET_BUS_NUMBER: /* 0x5386 */
++      POST_MEM_WRITE(ARG3, sizeof(int));
++      break;
++
+       /* CD ROM stuff (??)  */
+    case VKI_CDROMSUBCHNL:
+       POST_MEM_WRITE(ARG3, sizeof(struct vki_cdrom_subchnl));
diff --git a/valgrind-3.6.1-stat_h.patch b/valgrind-3.7.0-stat_h.patch
similarity index 100%
rename from valgrind-3.6.1-stat_h.patch
rename to valgrind-3.7.0-stat_h.patch
diff --git a/valgrind-3.7.0-tests.patch b/valgrind-3.7.0-tests.patch
new file mode 100644
index 0000000..1c12693
--- /dev/null
+++ b/valgrind-3.7.0-tests.patch
@@ -0,0 +1,60 @@
+Disable some hanging tests, fix up bug125959-x86.c undefined behavior.
+
+--- valgrind-3.7.0/helgrind/tests/Makefile.am.jj	2011-10-26 23:24:25.000000000 +0200
++++ valgrind-3.7.0/helgrind/tests/Makefile.am	2012-01-27 15:01:58.955624195 +0100
+@@ -94,7 +94,6 @@ EXTRA_DIST = \
+ # XXX: tc18_semabuse uses operations that are unsupported on Darwin.  It
+ # should be conditionally compiled like tc20_verifywrap is.
+ check_PROGRAMS = \
+-	annotate_hbefore \
+ 	cond_timedwait_invalid \
+ 	free_is_write \
+ 	hg01_all_ok \
+--- valgrind-3.7.0/helgrind/tests/Makefile.in.jj	2011-11-05 12:26:51.000000000 +0100
++++ valgrind-3.7.0/helgrind/tests/Makefile.in	2012-01-27 15:02:40.285383038 +0100
+@@ -46,8 +46,7 @@ host_triplet = @host@
+ DIST_COMMON = $(dist_noinst_SCRIPTS) $(srcdir)/Makefile.am \
+ 	$(srcdir)/Makefile.in $(top_srcdir)/Makefile.all.am \
+ 	$(top_srcdir)/Makefile.tool-tests.am
+-check_PROGRAMS = annotate_hbefore$(EXEEXT) \
+-	cond_timedwait_invalid$(EXEEXT) free_is_write$(EXEEXT) \
++check_PROGRAMS = cond_timedwait_invalid$(EXEEXT) free_is_write$(EXEEXT) \
+ 	hg01_all_ok$(EXEEXT) hg02_deadlock$(EXEEXT) \
+ 	hg03_inherit$(EXEEXT) hg04_race$(EXEEXT) hg05_race2$(EXEEXT) \
+ 	hg06_readshared$(EXEEXT) locked_vs_unlocked1$(EXEEXT) \
+--- valgrind-3.7.0/none/tests/x86/bug125959-x86.c.jj	2011-10-26 23:24:38.000000000 +0200
++++ valgrind-3.7.0/none/tests/x86/bug125959-x86.c	2012-01-27 15:00:11.648250429 +0100
+@@ -22,7 +22,8 @@ static int lookup ( int i )
+ 
+ int main(void) 
+ { 
+-  int i, j;
++  int i;
++  unsigned int j;
+    for (i = 0; i < 256; i++) 
+     buf[i] = (unsigned char) i;
+ 
+--- valgrind-3.7.0/gdbserver_tests/Makefile.am.jj	2011-10-26 23:24:26.000000000 +0200
++++ valgrind-3.7.0/gdbserver_tests/Makefile.am	2012-01-27 14:56:43.369465872 +0100
+@@ -102,9 +102,7 @@ check_PROGRAMS = \
+ 	clean_after_fork \
+ 	fork_chain \
+ 	passsigalrm \
+-	sleepers \
+ 	main_pic \
+-	t \
+ 	watchpoints
+ 
+ AM_CFLAGS   += $(AM_FLAG_M3264_PRI)
+--- valgrind-3.7.0/gdbserver_tests/Makefile.in.jj	2011-11-05 12:26:51.000000000 +0100
++++ valgrind-3.7.0/gdbserver_tests/Makefile.in	2012-01-27 14:57:30.278191493 +0100
+@@ -47,8 +47,7 @@ DIST_COMMON = $(dist_noinst_SCRIPTS) $(s
+ 	$(srcdir)/Makefile.in $(top_srcdir)/Makefile.all.am \
+ 	$(top_srcdir)/Makefile.tool-tests.am
+ check_PROGRAMS = clean_after_fork$(EXEEXT) fork_chain$(EXEEXT) \
+-	passsigalrm$(EXEEXT) sleepers$(EXEEXT) main_pic$(EXEEXT) \
+-	t$(EXEEXT) watchpoints$(EXEEXT)
++	passsigalrm$(EXEEXT) main_pic$(EXEEXT) watchpoints$(EXEEXT)
+ subdir = gdbserver_tests
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+ am__aclocal_m4_deps = $(top_srcdir)/configure.in
diff --git a/valgrind.spec b/valgrind.spec
index ca02df8..8ef259f 100644
--- a/valgrind.spec
+++ b/valgrind.spec
@@ -1,31 +1,20 @@
 Summary: Tool for finding memory management bugs in programs
 Name: valgrind
-Version: 3.6.1
-Release: 7%{?dist}
+Version: 3.7.0
+Release: 1%{?dist}
 Epoch: 1
 Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
-Patch1: valgrind-3.6.1-cachegrind-improvements.patch
-Patch2: valgrind-3.6.1-openat.patch
-Patch3: valgrind-3.6.1-glibc-2.10.1.patch
-Patch4: valgrind-3.6.1-helgrind-race-supp.patch
-Patch5: valgrind-3.6.1-stat_h.patch
-Patch6: valgrind-3.6.1-config_h.patch
-Patch7: valgrind-3.6.1-capget.patch
-Patch8: valgrind-3.6.1-glibc-2.14.patch
-Patch9: valgrind-3.6.1-s390x-1.patch
-Patch10: valgrind-3.6.1-s390x-2.patch
-Patch11: valgrind-3.6.1-s390x-3.patch
-Patch12: valgrind-3.6.1-s390x-4.patch
-Patch13: valgrind-3.6.1-xlc_dbl_u32-test.patch
-Patch14: valgrind-3.6.1-helgrind-tests.patch
-Patch15: valgrind-3.6.1-ppc64-pwrite64.patch
-Patch16: valgrind-3.6.1-pie.patch
-Patch17: valgrind-3.6.1-gen_insn_test.patch
-Patch18: valgrind-3.6.1-x86-ldso-strlen.patch
-Patch19: valgrind-3.6.1-ppc64-build.patch
-Patch20: valgrind-3.6.1-tests-_GNU_SOURCE.patch
-Patch21: valgrind-3.6.1-x86_64-memcpy-memmove.patch
-Patch22: valgrind-3.6.1-plt-unwind-info.patch
+Patch1: valgrind-3.7.0-cachegrind-improvements.patch
+Patch2: valgrind-3.7.0-openat.patch
+Patch3: valgrind-3.7.0-helgrind-race-supp.patch
+Patch4: valgrind-3.7.0-stat_h.patch
+Patch5: valgrind-3.7.0-config_h.patch
+Patch6: valgrind-3.7.0-capget.patch
+Patch7: valgrind-3.7.0-glibc-2.15.patch
+Patch8: valgrind-3.7.0-pie.patch
+Patch9: valgrind-3.7.0-tests.patch
+Patch10: valgrind-3.7.0-f-sgetown-ex.patch
+Patch11: valgrind-3.7.0-scsi-ioctls.patch
 License: GPLv2
 URL: http://www.valgrind.org/
 Group: Development/Debuggers
@@ -111,19 +100,6 @@ for details.
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-
-chmod 755 none/tests/s390x/filter_stderr || :
 
 %build
 CC=gcc
@@ -223,8 +199,10 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 
 %changelog
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1:3.6.1-7
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+* Fri Jan 27 2012 Jakub Jelinek <jakub at redhat.com> 3.7.0-1
+- update to 3.7.0 (#769213, #782910, #772343)
+- handle some further SCSI ioctls (#783936)
+- handle fcntl F_SETOWN_EX and F_GETOWN_EX (#770746)
 
 * Wed Aug 17 2011 Adam Jackson <ajax at redhat.com> 3.6.1-6
 - rebuild for rpm 4.9.1 trailing / bug


More information about the scm-commits mailing list