Summary: Tool for finding memory management bugs in programs Name: valgrind Version: 2.2.0 Release: 9 Epoch: 1 Source0: http://developer.kde.org/~sewardj/valgrind-%{version}.tar.bz2 Patch0: valgrind-2.0.0-pthread-stacksize.patch Patch1: valgrind-2.2.0-regtest.patch Patch2: valgrind-2.1.2-4G.patch Patch3: valgrind-2.2.0.ioctls.patch Patch4: valgrind-2.2.0-warnings.patch Patch5: valgrind-2.2.0-valgrind_h.patch Patch6: valgrind-2.2.0-unnest.patch License: GPL URL: http://valgrind.kde.org/ Group: Development/Debuggers BuildRoot: %{_tmppath}/%{name}-root ExclusiveArch: %{ix86} # Disable internal dependency generator %define _use_internal_dependency_generator 0 # 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 %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 %patch6 -p1 %define __find_provides %{_builddir}/%{name}-%{version}/find-provides find_provides=`rpm --eval %%{__find_provides}` echo "$find_provides | grep -v libpthread" > find-provides chmod +x find-provides %define __find_requires %{_builddir}/%{name}-%{version}/find-requires find_requires=`rpm --eval %%{__find_requires}` echo "$find_requires | grep -v GLIBC_PRIVATE" > find-requires chmod +x find-requires %build %configure # 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 mkdir docs.installed mv $RPM_BUILD_ROOT%{_datadir}/doc/valgrind/* docs.installed/ %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc ACKNOWLEDGEMENTS COPYING NEWS README_* TODO %doc docs.installed/*.html docs.installed/*.gif %{_bindir}/* %{_includedir}/valgrind %{_libdir}/valgrind %{_libdir}/pkgconfig/* %changelog * Sat Mar 5 2005 Jakub Jelinek 2.2.0-9 - 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