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