diff --git a/.cvsignore b/.cvsignore index 3eb06e8..8bdcd3c 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -valgrind-3.2.1.tar.bz2 +valgrind-3.2.3.tar.bz2 diff --git a/sources b/sources index 0850c3c..a6f9be5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9407d33961186814cef0e6ecedfd6318 valgrind-3.2.1.tar.bz2 +978847992b136c8d8cb5c6559a91df1c valgrind-3.2.3.tar.bz2 diff --git a/valgrind-3.2.3-cachegrind-improvements.patch b/valgrind-3.2.3-cachegrind-improvements.patch index d8d6799..42f9158 100644 --- a/valgrind-3.2.3-cachegrind-improvements.patch +++ b/valgrind-3.2.3-cachegrind-improvements.patch @@ -1,5 +1,5 @@ ---- valgrind-3.2.3/cg_sim.c.jj 2007-01-08 02:43:10.000000000 -0500 -+++ valgrind-3.2.3/cg_sim.c 2007-02-13 07:15:46.000000000 -0500 +--- valgrind-3.2.3/cachegrind/cg_sim.c.jj 2007-01-08 02:43:10.000000000 -0500 ++++ valgrind-3.2.3/cachegrind/cg_sim.c 2007-02-13 07:15:46.000000000 -0500 @@ -42,29 +42,32 @@ typedef struct { Int size; /* bytes */ Int assoc; diff --git a/valgrind-3.2.3-openat.patch b/valgrind-3.2.3-openat.patch new file mode 100644 index 0000000..254e942 --- /dev/null +++ b/valgrind-3.2.3-openat.patch @@ -0,0 +1,49 @@ +Testcase: +#define _GNU_SOURCE +#include +#include + +int +main (void) +{ + int dfd = open ("/tmp", O_RDONLY); + int fd1 = openat (dfd, "abc", O_RDONLY); + int fd2 = openat (0x12345678, "/tmp/abc", O_RDONLY); + int fd3 = openat (AT_FDCWD, "abc", O_RDONLY); + /* This is the only one that should warn. */ + int fd4 = openat (0x12345678, "abc", O_RDONLY); + return 0; +} + +--- valgrind-3.2.3/include/vki-linux.h.jj 2006-08-28 15:38:37.000000000 +0200 ++++ valgrind-3.2.3/include/vki-linux.h 2006-09-26 18:29:00.000000000 +0200 +@@ -1223,6 +1223,8 @@ struct vki_dirent { + + #define VKI_F_NOTIFY (VKI_F_LINUX_SPECIFIC_BASE+2) + ++#define VKI_AT_FDCWD -100 ++ + //---------------------------------------------------------------------- + // From linux-2.6.8.1/include/linux/sysctl.h + //---------------------------------------------------------------------- +--- valgrind-3.2.3/coregrind/m_syswrap/syswrap-linux.c.jj 2006-08-28 15:38:57.000000000 +0200 ++++ valgrind-3.2.3/coregrind/m_syswrap/syswrap-linux.c 2006-09-26 18:42:04.000000000 +0200 +@@ -2350,10 +2350,15 @@ PRE(sys_openat) + int, dfd, const char *, filename, int, flags); + } + +- if (!ML_(fd_allowed)(ARG1, "openat", tid, False)) ++ PRE_MEM_RASCIIZ( "openat(filename)", ARG2 ); ++ ++ /* For absolute filenames, dfd is ignored. If dfd is AT_FDCWD, ++ filename is relative to cwd. */ ++ if (ML_(safe_to_deref)( (void*)ARG2, 1 ) ++ && *(Char *)ARG2 != '/' ++ && ARG1 != VKI_AT_FDCWD ++ && !ML_(fd_allowed)(ARG1, "openat", tid, False)) + SET_STATUS_Failure( VKI_EBADF ); +- else +- PRE_MEM_RASCIIZ( "openat(filename)", ARG2 ); + + /* Handle the case where the open is of /proc/self/cmdline or + /proc//cmdline, and just give it a copy of the fd for the diff --git a/valgrind.spec b/valgrind.spec index 784562a..ab7ad1f 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -1,17 +1,11 @@ Summary: Tool for finding memory management bugs in programs Name: valgrind -Version: 3.2.1 -Release: 7 +Version: 3.2.3 +Release: 1 Epoch: 1 Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2 -Patch1: valgrind-3.2.0-makefile.patch -Patch2: valgrind-3.2.1-openat.patch -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 -Patch8: valgrind-3.2.1-cachegrind-improvements.patch +Patch1: valgrind-3.2.3-openat.patch +Patch2: valgrind-3.2.3-cachegrind-improvements.patch License: GPL URL: http://www.valgrind.org/ Group: Development/Debuggers @@ -42,12 +36,6 @@ find/diagnose. %setup -q %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 %build %ifarch x86_64 ppc64 @@ -131,6 +119,9 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/valgrind* %changelog +* Tue Feb 13 2007 Jakub Jelinek 3.2.3-1 +- update to 3.2.3 + * Wed Nov 8 2006 Jakub Jelinek 3.2.1-7 - some cachegrind improvements (Ulrich Drepper)