Summary: Tool for finding memory management bugs in programs Name: valgrind Version: 3.0.1 Release: 2 Epoch: 1 Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2 Patch1: valgrind-3.0.1-valgrind_h.patch Patch2: valgrind-3.0.1-amd64-highbase.patch Patch3: valgrind-3.0.1-biarch-hack.patch Patch4: valgrind-3.0.1-amd64-speedup.patch Patch5: valgrind-3.0.1-amd64-syscalls.patch License: GPL URL: http://www.valgrind.org/ Group: Development/Debuggers BuildRoot: %{_tmppath}/%{name}-root ExclusiveArch: %{ix86} x86_64 # Disable build root strip policy %define __spec_install_post /usr/lib/rpm/brp-compress || : # Disable -debuginfo package generation %define debug_package %{nil} %description Valgrind is a tool to help you find memory-management problems in your programs. When a program is run under Valgrind's supervision, all reads and writes of memory are checked, and calls to malloc/new/free/delete are intercepted. As a result, Valgrind can detect a lot of problems that are otherwise very hard to find/diagnose. %prep %setup -q %patch1 -p1 %ifarch x86_64 %patch2 -p1 %endif %patch3 -p1 %patch4 -p1 %patch5 -p1 %build %configure cp -a glibc-2.3.supp glibc-2.4.supp # Force a specific set of default suppressions echo -n > default.supp for file in glibc-2.3.supp xfree-4.supp ; do cat $file >> default.supp done make %{?_smp_mflags} # Ensure there are no unexpected file descriptors open, # the testsuite otherwise fails. cat > close_fds.c < #include int main (int argc, char *const argv[]) { int i, j = sysconf (_SC_OPEN_MAX); if (j < 0) exit (1); for (i = 3; i < j; ++i) close (i); execvp (argv[1], argv + 1); exit (1); } EOF gcc $RPM_OPT_FLAGS -o close_fds close_fds.c # test make check || : echo ===============TESTING=================== ./close_fds make regtest || : echo ===============END TESTING=============== %install rm -rf $RPM_BUILD_ROOT %makeinstall cp -a $RPM_BUILD_ROOT%{_bindir}/valgrind \ $RPM_BUILD_ROOT%{_libdir}/valgrind/valgrind mkdir docs.installed mv $RPM_BUILD_ROOT%{_datadir}/doc/valgrind/* docs.installed/ rm -f docs.installed/*.ps %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc ACKNOWLEDGEMENTS COPYING NEWS README_* %doc docs.installed/html docs.installed/*.pdf %{_bindir}/* %{_includedir}/valgrind %{_libdir}/valgrind %{_libdir}/pkgconfig/* %{_mandir}/man1/valgrind* %changelog * Thu Oct 13 2005 Jakub Jelinek 3.0.1-2 - remove Obsoletes for valgrind-callgrind, as it has been ported to valgrind 3.0.x already * Sun Sep 11 2005 Jakub Jelinek 3.0.1-1 - upgrade to 3.0.1 - many bugfixes - handle xattr syscalls on x86-64 (Ulrich Drepper) * Fri Aug 12 2005 Jakub Jelinek 3.0.0-3 - fix amd64 handling of cwtd instruction - fix amd64 handling of e.g. sarb $0x4,val(%rip) - speedup amd64 insn decoding * Fri Aug 12 2005 Jakub Jelinek 3.0.0-2 - lower x86_64 stage2 base from 112TB down to 450GB, so that valgrind works even on 2.4.x kernels. Still way better than 1.75GB that stock valgrind allows * Fri Aug 12 2005 Jakub Jelinek 3.0.0-1 - upgrade to 3.0.0 - x86_64 support - temporarily obsolete valgrind-callgrind, as it has not been ported yet * Tue Jul 12 2005 Jakub Jelinek 2.4.0-3 - build some insn tests with -mmmx, -msse or -msse2 (#161572) - handle glibc-2.3.90 the same way as 2.3.[0-5] * Wed Mar 30 2005 Jakub Jelinek 2.4.0-2 - resurrect the non-upstreamed part of valgrind_h patch - remove 2.1.2-4G patch, seems to be upstreamed - resurrect passing -fno-builtin in memcheck tests * Sun Mar 27 2005 Colin Walters 2.4.0-1 - New upstream version - Update valgrind-2.2.0-regtest.patch to 2.4.0; required minor massaging - Disable valgrind-2.1.2-4G.patch for now; Not going to touch this, and Fedora does not ship 4G kernel by default anymore - Remove upstreamed valgrind-2.2.0.ioctls.patch - Remove obsolete valgrind-2.2.0-warnings.patch; Code is no longer present - Remove upstreamed valgrind-2.2.0-valgrind_h.patch - Remove obsolete valgrind-2.2.0-unnest.patch and valgrind-2.0.0-pthread-stacksize.patch; valgrind no longer includes its own pthread library * Thu Mar 17 2005 Jakub Jelinek 2.2.0-10 - rebuilt with GCC 4 * Tue Feb 8 2005 Jakub Jelinek 2.2.0-8 - avoid unnecessary use of nested functions for pthread_once cleanup * Mon Dec 6 2004 Jakub Jelinek 2.2.0-7 - update URL (#141873) * Tue Nov 16 2004 Jakub Jelinek 2.2.0-6 - act as if NVALGRIND is defined when using in non-m32/i386 programs (#138923) - remove weak from VALGRIND_PRINTF*, make it static and add unused attribute * Mon Nov 8 2004 Jakub Jelinek 2.2.0-4 - fix a printout and possible problem with local variable usage around setjmp (#138254) * Tue Oct 5 2004 Jakub Jelinek 2.2.0-3 - remove workaround for buggy old makes (#134563) * Fri Oct 1 2004 Jakub Jelinek 2.2.0-2 - handle some more ioctls (Peter Jones, #131967) * Thu Sep 2 2004 Jakub Jelinek 2.2.0-1 - update to 2.2.0 * Thu Jul 22 2004 Jakub Jelinek 2.1.2-3 - fix packaging of documentation * Tue Jul 20 2004 Jakub Jelinek 2.1.2-2 - allow tracing of 32-bit binaries on x86-64 * Tue Jul 20 2004 Jakub Jelinek 2.1.2-1 - update to 2.1.2 - run make regtest as part of package build - use glibc-2.3 suppressions instead of glibc-2.2 suppressions * Thu Apr 29 2004 Colin Walters 2.0.0-1 - update to 2.0.0 * Tue Feb 25 2003 Jeff Johnson 1.9.4-0.20030228 - update to 1.9.4 from CVS. - dwarf patch from Graydon Hoare. - sysinfo patch from Graydon Hoare, take 1. * Fri Feb 14 2003 Jeff Johnson 1.9.3-6.20030207 - add return codes to syscalls. - fix: set errno after syscalls. * Tue Feb 11 2003 Graydon Hoare 1.9.3-5.20030207 - add handling for separate debug info (+fix). - handle blocking readv/writev correctly. - comment out 4 overly zealous pthread checks. * Tue Feb 11 2003 Jeff Johnson 1.9.3-4.20030207 - move _pthread_desc to vg_include.h. - implement pthread_mutex_timedlock(). - implement pthread_barrier_wait(). * Mon Feb 10 2003 Jeff Johnson 1.9.3-3.20030207 - import all(afaik) missing functionality from linuxthreads. * Sun Feb 9 2003 Jeff Johnson 1.9.3-2.20030207 - import more missing functionality from linuxthreads in glibc-2.3.1. * Sat Feb 8 2003 Jeff Johnson 1.9.3-1.20030207 - start fixing nptl test cases. * Fri Feb 7 2003 Jeff Johnson 1.9.3-0.20030207 - build against current 1.9.3 with nptl hacks. * Tue Oct 15 2002 Alexander Larsson - Update to 1.0.4 * Fri Aug 9 2002 Alexander Larsson - Update to 1.0.0 * Wed Jul 3 2002 Alexander Larsson - Update to pre4. * Tue Jun 18 2002 Alexander Larsson - Add threadkeys and extra suppressions patches. Bump epoch. * Mon Jun 17 2002 Alexander Larsson - Updated to 1.0pre1 * Tue May 28 2002 Alex Larsson - Updated to 20020524. Added GLIBC_PRIVATE patch * Thu May 9 2002 Jonathan Blandford - add missing symbol __pthread_clock_settime * Wed May 8 2002 Alex Larsson - Update to 20020508 * Mon May 6 2002 Alex Larsson - Update to 20020503b * Thu May 2 2002 Alex Larsson - update to new snapshot * Mon Apr 29 2002 Alex Larsson 20020428-1 - update to new snapshot * Fri Apr 26 2002 Jeremy Katz 20020426-1 - update to new snapshot * Thu Apr 25 2002 Alex Larsson 20020424-5 - Added stack patch. Commented out other patches. * Wed Apr 24 2002 Nalin Dahyabhai 20020424-4 - filter out GLIBC_PRIVATE requires, add preload patch * Wed Apr 24 2002 Alex Larsson 20020424-3 - Make glibc 2.2 and XFree86 4 the default supressions * Wed Apr 24 2002 Alex Larsson 20020424-2 - Added patch that includes atomic.h * Wed Apr 24 2002 Alex Larsson 20020424-1 - Initial build