cvsdist ec1e75c
Summary: Tool for finding memory management bugs in programs
cvsdist ec1e75c
Name: valgrind
cvsdist e38dedd
Version: 2.1.2
cvsdist ec0703c
Release: 3
cvsdist ec1e75c
Epoch: 1
cvsdist e38dedd
Source0: http://developer.kde.org/~sewardj/valgrind-%{version}.tar.bz2
cvsdist e38dedd
Patch0: valgrind-2.0.0-pthread-stacksize.patch
cvsdist e38dedd
Patch1: valgrind-2.1.2-regtest.patch
cvsdist 95dc4ea
Patch2: valgrind-2.1.2-4G.patch
cvsdist ec1e75c
License: GPL
cvsdist e38dedd
URL: http://developer.kde.org/~sewardj
cvsdist ec1e75c
Group: Development/Debuggers
cvsdist ec1e75c
BuildRoot: %{_tmppath}/%{name}-root
cvsdist ec1e75c
ExclusiveArch: %{ix86}
cvsdist ec1e75c
cvsdist e38dedd
# Disable internal dependency generator
cvsdist e38dedd
%define _use_internal_dependency_generator 0
cvsdist ec1e75c
cvsdist e38dedd
# Disable build root strip policy
cvsdist ec1e75c
%define __spec_install_post /usr/lib/rpm/brp-compress || :
cvsdist ec1e75c
cvsdist e38dedd
# Disable -debuginfo package generation
cvsdist e38dedd
%define debug_package	%{nil}
cvsdist e38dedd
cvsdist ec1e75c
%description
cvsdist ec1e75c
Valgrind is a tool to help you find memory-management problems in your
cvsdist ec1e75c
programs. When a program is run under Valgrind's supervision, all
cvsdist ec1e75c
reads and writes of memory are checked, and calls to
cvsdist ec1e75c
malloc/new/free/delete are intercepted. As a result, Valgrind can
cvsdist ec1e75c
detect a lot of problems that are otherwise very hard to
cvsdist ec1e75c
find/diagnose.
cvsdist ec1e75c
cvsdist ec1e75c
%prep
cvsdist e38dedd
%setup -q
cvsdist e38dedd
%patch0 -p1
cvsdist e38dedd
%patch1 -p1
cvsdist 95dc4ea
%patch2 -p1
cvsdist ec1e75c
cvsdist e38dedd
%define __find_provides %{_builddir}/%{name}-%{version}/find-provides
cvsdist e38dedd
find_provides=`rpm --eval %%{__find_provides}`
cvsdist e38dedd
echo "$find_provides | grep -v libpthread" > find-provides
cvsdist e38dedd
chmod +x find-provides
cvsdist ec1e75c
cvsdist e38dedd
%define __find_requires %{_builddir}/%{name}-%{version}/find-requires
cvsdist ec1e75c
find_requires=`rpm --eval %%{__find_requires}`
cvsdist ec1e75c
echo "$find_requires | grep -v GLIBC_PRIVATE" > find-requires
cvsdist ec1e75c
chmod +x find-requires
cvsdist ec1e75c
cvsdist ec1e75c
%build
cvsdist ec1e75c
%configure
cvsdist ec1e75c
cvsdist e38dedd
# Force a specific set of default suppressions
cvsdist ec1e75c
echo -n > default.supp
cvsdist e38dedd
for file in glibc-2.3.supp xfree-4.supp ; do
cvsdist ec1e75c
    cat $file >> default.supp
cvsdist ec1e75c
done
cvsdist e38dedd
cvsdist e38dedd
# work around #88846
cvsdist e38dedd
env - PATH="$PATH" make %{?_smp_mflags}
cvsdist e38dedd
cvsdist 95dc4ea
# Ensure there are no unexpected file descriptors open,
cvsdist 95dc4ea
# the testsuite otherwise fails.
cvsdist 95dc4ea
cat > close_fds.c <
cvsdist 95dc4ea
#include <stdlib.h>
cvsdist 95dc4ea
#include <unistd.h>
cvsdist 95dc4ea
int main (int argc, char *const argv[])
cvsdist 95dc4ea
{
cvsdist 95dc4ea
  int i, j = sysconf (_SC_OPEN_MAX);
cvsdist 95dc4ea
  if (j < 0)
cvsdist 95dc4ea
    exit (1);
cvsdist 95dc4ea
  for (i = 3; i < j; ++i)
cvsdist 95dc4ea
    close (i);
cvsdist 95dc4ea
  execvp (argv[1], argv + 1);
cvsdist 95dc4ea
  exit (1);
cvsdist 95dc4ea
}
cvsdist 95dc4ea
EOF
cvsdist 95dc4ea
gcc $RPM_OPT_FLAGS -o close_fds close_fds.c
cvsdist 95dc4ea
cvsdist e38dedd
# test
cvsdist e38dedd
make check
cvsdist e38dedd
echo ===============TESTING===================
cvsdist 95dc4ea
./close_fds make regtest || :
cvsdist e38dedd
echo ===============END TESTING===============
cvsdist ec1e75c
cvsdist ec1e75c
%install
cvsdist ec1e75c
rm -rf $RPM_BUILD_ROOT
cvsdist e38dedd
cvsdist ec1e75c
%makeinstall
cvsdist ec0703c
mkdir docs.installed
cvsdist ec0703c
mv $RPM_BUILD_ROOT%{_datadir}/doc/valgrind/* docs.installed/
cvsdist ec1e75c
cvsdist ec1e75c
%clean
cvsdist ec1e75c
rm -rf $RPM_BUILD_ROOT
cvsdist ec1e75c
cvsdist ec1e75c
%files
cvsdist ec1e75c
%defattr(-,root,root)
cvsdist e38dedd
%doc ACKNOWLEDGEMENTS COPYING NEWS README_* TODO
cvsdist ec0703c
%doc docs.installed/*.html docs.installed/*.gif
cvsdist ec1e75c
%{_bindir}/*
cvsdist e38dedd
%{_includedir}/valgrind
cvsdist ec1e75c
%{_libdir}/valgrind
cvsdist e38dedd
%{_libdir}/pkgconfig/*
cvsdist ec1e75c
cvsdist ec1e75c
%changelog
cvsdist ec0703c
* Thu Jul 22 2004 Jakub Jelinek <jakuB@redhat.com> 2.1.2-3
cvsdist ec0703c
- fix packaging of documentation
cvsdist ec0703c
cvsdist 95dc4ea
* Tue Jul 20 2004 Jakub Jelinek <jakuB@redhat.com> 2.1.2-2
cvsdist 95dc4ea
- allow tracing of 32-bit binaries on x86-64
cvsdist 95dc4ea
cvsdist e38dedd
* Tue Jul 20 2004 Jakub Jelinek <jakuB@redhat.com> 2.1.2-1
cvsdist e38dedd
- update to 2.1.2
cvsdist e38dedd
- run make regtest as part of package build
cvsdist e38dedd
- use glibc-2.3 suppressions instead of glibc-2.2 suppressions
cvsdist e38dedd
cvsdist e38dedd
* Thu Apr 29 2004 Colin Walters <walters@redhat.com> 2.0.0-1
cvsdist e38dedd
- update to 2.0.0
cvsdist e38dedd
cvsdist e38dedd
* Tue Feb 25 2003 Jeff Johnson <jbj@redhat.com> 1.9.4-0.20030228
cvsdist e38dedd
- update to 1.9.4 from CVS.
cvsdist e38dedd
- dwarf patch from Graydon Hoare.
cvsdist e38dedd
- sysinfo patch from Graydon Hoare, take 1.
cvsdist e38dedd
cvsdist e38dedd
* Fri Feb 14 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-6.20030207
cvsdist e38dedd
- add return codes to syscalls.
cvsdist e38dedd
- fix: set errno after syscalls.
cvsdist e38dedd
cvsdist e38dedd
* Tue Feb 11 2003 Graydon Hoare <graydon@redhat.com> 1.9.3-5.20030207
cvsdist e38dedd
- add handling for separate debug info (+fix).
cvsdist e38dedd
- handle blocking readv/writev correctly.
cvsdist e38dedd
- comment out 4 overly zealous pthread checks.
cvsdist e38dedd
cvsdist e38dedd
* Tue Feb 11 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-4.20030207
cvsdist e38dedd
- move _pthread_desc to vg_include.h.
cvsdist e38dedd
- implement pthread_mutex_timedlock().
cvsdist e38dedd
- implement pthread_barrier_wait().
cvsdist e38dedd
cvsdist e38dedd
* Mon Feb 10 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-3.20030207
cvsdist e38dedd
- import all(afaik) missing functionality from linuxthreads.
cvsdist e38dedd
cvsdist e38dedd
* Sun Feb  9 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-2.20030207
cvsdist e38dedd
- import more missing functionality from linuxthreads in glibc-2.3.1.
cvsdist e38dedd
cvsdist e38dedd
* Sat Feb  8 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-1.20030207
cvsdist e38dedd
- start fixing nptl test cases.
cvsdist e38dedd
cvsdist e38dedd
* Fri Feb  7 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-0.20030207
cvsdist e38dedd
- build against current 1.9.3 with nptl hacks.
cvsdist e38dedd
cvsdist e38dedd
* Tue Oct 15 2002 Alexander Larsson <alexl@redhat.com>
cvsdist e38dedd
- Update to 1.0.4
cvsdist e38dedd
cvsdist ec1e75c
* Fri Aug  9 2002 Alexander Larsson <alexl@redhat.com>
cvsdist ec1e75c
- Update to 1.0.0
cvsdist ec1e75c
cvsdist ec1e75c
* Wed Jul  3 2002 Alexander Larsson <alexl@redhat.com>
cvsdist ec1e75c
- Update to pre4.
cvsdist ec1e75c
cvsdist ec1e75c
* Tue Jun 18 2002 Alexander Larsson <alla@lysator.liu.se>
cvsdist ec1e75c
- Add threadkeys and extra suppressions patches. Bump epoch.
cvsdist ec1e75c
cvsdist ec1e75c
* Mon Jun 17 2002 Alexander Larsson <alla@lysator.liu.se>
cvsdist ec1e75c
- Updated to 1.0pre1
cvsdist ec1e75c
cvsdist ec1e75c
* Tue May 28 2002 Alex Larsson <alexl@redhat.com>
cvsdist ec1e75c
- Updated to 20020524. Added GLIBC_PRIVATE patch
cvsdist ec1e75c
cvsdist ec1e75c
* Thu May  9 2002 Jonathan Blandford <jrb@redhat.com>
cvsdist ec1e75c
- add missing symbol __pthread_clock_settime
cvsdist ec1e75c
cvsdist ec1e75c
* Wed May  8 2002 Alex Larsson <alexl@redhat.com>
cvsdist ec1e75c
- Update to 20020508
cvsdist ec1e75c
cvsdist ec1e75c
* Mon May  6 2002 Alex Larsson <alexl@redhat.com>
cvsdist ec1e75c
- Update to 20020503b
cvsdist ec1e75c
cvsdist ec1e75c
* Thu May  2 2002 Alex Larsson <alexl@redhat.com>
cvsdist ec1e75c
- update to new snapshot
cvsdist ec1e75c
cvsdist ec1e75c
* Mon Apr 29 2002 Alex Larsson <alexl@redhat.com> 20020428-1
cvsdist ec1e75c
- update to new snapshot
cvsdist ec1e75c
cvsdist ec1e75c
* Fri Apr 26 2002 Jeremy Katz <katzj@redhat.com> 20020426-1
cvsdist ec1e75c
- update to new snapshot
cvsdist ec1e75c
cvsdist ec1e75c
* Thu Apr 25 2002 Alex Larsson <alexl@redhat.com> 20020424-5
cvsdist ec1e75c
- Added stack patch. Commented out other patches.
cvsdist ec1e75c
cvsdist ec1e75c
* Wed Apr 24 2002 Nalin Dahyabhai <nalin@redhat.com> 20020424-4
cvsdist ec1e75c
- filter out GLIBC_PRIVATE requires, add preload patch
cvsdist ec1e75c
cvsdist ec1e75c
* Wed Apr 24 2002 Alex Larsson <alexl@redhat.com> 20020424-3
cvsdist ec1e75c
- Make glibc 2.2 and XFree86 4 the default supressions
cvsdist ec1e75c
cvsdist ec1e75c
* Wed Apr 24 2002 Alex Larsson <alexl@redhat.com> 20020424-2
cvsdist ec1e75c
- Added patch that includes atomic.h
cvsdist ec1e75c
cvsdist ec1e75c
* Wed Apr 24 2002 Alex Larsson <alexl@redhat.com> 20020424-1
cvsdist ec1e75c
- Initial build