cvsdist ec1e75
Summary: Tool for finding memory management bugs in programs
cvsdist ec1e75
Name: valgrind
Jakub Jelinek 59bbce
Version: 3.1.1
Jakub Jelinek f12b19
Release: 3
cvsdist ec1e75
Epoch: 1
Jakub Jelinek 125e32
Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
Jakub Jelinek 59bbce
Patch1: valgrind-3.1.1-valgrind_h.patch
Jakub Jelinek 59bbce
Patch2: valgrind-3.1.1-amd64-speedup.patch
Jakub Jelinek 59bbce
Patch3: valgrind-3.1.1-cfa-val-expr.patch
Jakub Jelinek 59bbce
Patch4: valgrind-3.1.1-glibc24.patch
Jakub Jelinek aaff8f
Patch5: valgrind-3.1.1-syscall-updates-from-trunk.patch
Jakub Jelinek aaff8f
Patch6: valgrind-3.1.1-syscall-updates.patch
Jakub Jelinek f12b19
Patch7: valgrind-3.1.1-robust-list.patch
Jakub Jelinek f12b19
Patch8: valgrind-3.1.1-syscall-updates2.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 f12b19
%ifarch x86_64
Jakub Jelinek f12b19
# Ensure glibc{,-devel} is installed for both multilib arches
Jakub Jelinek f12b19
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
Jakub Jelinek f12b19
%endif
Jakub Jelinek 6ff20c
ExclusiveArch: %{ix86} x86_64 ppc
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 59bbce
%patch2 -p1
Jakub Jelinek 640933
%patch3 -p1
Jakub Jelinek 91bd09
%patch4 -p1
Jakub Jelinek aaff8f
%patch5 -p1
Jakub Jelinek aaff8f
%patch6 -p1
Jakub Jelinek f12b19
%patch7 -p1
Jakub Jelinek f12b19
%patch8 -p1
cvsdist ec1e75
cvsdist ec1e75
%build
Jakub Jelinek 6ff20c
%ifarch x86_64
Jakub Jelinek 6ff20c
# Ugly hack - libgcc 32-bit package might not be installed
Jakub Jelinek 6ff20c
mkdir -p libgcc/32
Jakub Jelinek 6ff20c
touch libgcc/32/libgcc_s.a
Jakub Jelinek 150058
touch libgcc/libgcc_s_32.a
Jakub Jelinek 6ff20c
%configure CC="gcc -B `pwd`/libgcc/"
Jakub Jelinek 6ff20c
%else
cvsdist ec1e75
%configure
Jakub Jelinek 6ff20c
%endif
Jakub Jelinek 125e32
cvsdist e38ded
# Force a specific set of default suppressions
cvsdist ec1e75
echo -n > default.supp
Jakub Jelinek 6ff20c
for file in glibc-2.4.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
Jakub Jelinek 6ff20c
for i in `find . -type f \( -name *-amd64-linux -o -name *-x86-linux -o -name *-ppc-linux \)`; do
Jakub Jelinek 6ff20c
  case "`file $i`" in
Jakub Jelinek 6ff20c
    *ELF*executable*statically\ linked*)
Jakub Jelinek 6ff20c
      objcopy -R .debug_loc -R .debug_frame -R .debug_ranges $i
Jakub Jelinek 6ff20c
  esac
Jakub Jelinek 6ff20c
done
Jakub Jelinek 6ff20c
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
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
Jakub Jelinek 6ff20c
%ifarch x86_64
Jakub Jelinek 6ff20c
rm -rf $RPM_BUILD_ROOT%{_libdir}/valgrind/x86-linux
Jakub Jelinek 6ff20c
ln -sf ../../lib/valgrind/x86-linux $RPM_BUILD_ROOT%{_libdir}/valgrind/x86-linux
Jakub Jelinek 6ff20c
%endif
Jakub Jelinek 6ff20c
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 f12b19
* Fri May 26 2006 Jakub Jelinek <jakub@redhat.com> 3.1.1-3
Jakub Jelinek f12b19
- handle [sg]et_robust_list syscalls on i?86/x86_64
Jakub Jelinek f12b19
- handle *at syscalls on ppc
Jakub Jelinek f12b19
- ensure on x86_64 both 32-bit and 64-bit glibc{,-devel} are
Jakub Jelinek f12b19
  installed in the buildroot (#191820)
Jakub Jelinek f12b19
Jakub Jelinek aaff8f
* Wed Apr 12 2006 Jakub Jelinek <jakub@redhat.com> 3.1.1-2
Jakub Jelinek aaff8f
- handle many syscalls that were unhandled before, especially on ppc
Jakub Jelinek aaff8f
Jakub Jelinek 59bbce
* Mon Apr  3 2006 Jakub Jelinek <jakub@redhat.com> 3.1.1-1
Jakub Jelinek 59bbce
- upgrade to 3.1.1
Jakub Jelinek 59bbce
  - many bugfixes
Jakub Jelinek 59bbce
Jakub Jelinek 91bd09
* Mon Mar 13 2006 Jakub Jelinek <jakub@redhat.com> 3.1.0-2
Jakub Jelinek 91bd09
- add support for DW_CFA_val_offset{,_sf}, DW_CFA_def_cfa_sf
Jakub Jelinek 91bd09
  and skip over DW_CFA_val_expression quietly
Jakub Jelinek 91bd09
- adjust libc/ld.so filenames in glibc-2.4.supp for glibc 2.4
Jakub Jelinek 91bd09
  release
Jesse Keating 608b05
Jakub Jelinek 6ff20c
* Mon Jan  9 2006 Jakub Jelinek <jakub@redhat.com> 3.1.0-1
Jakub Jelinek 6ff20c
- upgrade to 3.1.0 (#174582)
Jakub Jelinek 6ff20c
  - many bugfixes, ppc32 support
Jesse Keating b26cb3
Jakub Jelinek 085b5a
* Thu Oct 13 2005 Jakub Jelinek <jakub@redhat.com> 3.0.1-2
Jakub Jelinek 085b5a
- remove Obsoletes for valgrind-callgrind, as it has been
Jakub Jelinek 085b5a
  ported to valgrind 3.0.x already
Jakub Jelinek 085b5a
Jakub Jelinek 640933
* Sun Sep 11 2005 Jakub Jelinek <jakub@redhat.com> 3.0.1-1
Jakub Jelinek 640933
- upgrade to 3.0.1
Jakub Jelinek 640933
  - many bugfixes
Jakub Jelinek 640933
- handle xattr syscalls on x86-64 (Ulrich Drepper)
Jakub Jelinek 640933
Jakub Jelinek 6fcc70
* Fri Aug 12 2005 Jakub Jelinek <jakub@redhat.com> 3.0.0-3
Jakub Jelinek 6fcc70
- fix amd64 handling of cwtd instruction
Jakub Jelinek 6fcc70
- fix amd64 handling of e.g. sarb $0x4,val(%rip)
Jakub Jelinek 6fcc70
- speedup amd64 insn decoding
Jakub Jelinek 6fcc70
Jakub Jelinek a62632
* Fri Aug 12 2005 Jakub Jelinek <jakub@redhat.com> 3.0.0-2
Jakub Jelinek a62632
- lower x86_64 stage2 base from 112TB down to 450GB, so that
Jakub Jelinek a62632
  valgrind works even on 2.4.x kernels.  Still way better than
Jakub Jelinek a62632
  1.75GB that stock valgrind allows
Jakub Jelinek a62632
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