454 lines
14 KiB
RPMSpec
454 lines
14 KiB
RPMSpec
Summary: Tool for finding memory management bugs in programs
|
|
Name: valgrind
|
|
Version: 3.3.0
|
|
Release: 3
|
|
Epoch: 1
|
|
Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
|
|
Patch1: valgrind-3.3.0-cachegrind-improvements.patch
|
|
Patch2: valgrind-3.3.0-pkg-config.patch
|
|
Patch3: valgrind-3.3.0-power5+-6.patch
|
|
Patch4: valgrind-3.3.0-openat.patch
|
|
Patch5: valgrind-3.3.0-helgrind-p_b_w.patch
|
|
Patch6: valgrind-3.3.0-glibc27-dlhack.patch
|
|
Patch7: valgrind-3.3.0-glibc28.patch
|
|
Patch8: valgrind-3.3.0-syscalls1.patch
|
|
Patch9: valgrind-3.3.0-syscalls2.patch
|
|
License: GPLv2
|
|
URL: http://www.valgrind.org/
|
|
Group: Development/Debuggers
|
|
BuildRoot: %{_tmppath}/%{name}-root
|
|
Obsoletes: valgrind-callgrind
|
|
%ifarch x86_64 ppc64
|
|
# Ensure glibc{,-devel} is installed for both multilib arches
|
|
BuildRequires: /lib/libc.so.6 /usr/lib/libc.so /lib64/libc.so.6 /usr/lib64/libc.so
|
|
%endif
|
|
BuildRequires: glibc-devel >= 2.8
|
|
ExclusiveArch: %{ix86} x86_64 ppc ppc64
|
|
%ifarch %{ix86}
|
|
%define valarch x86
|
|
%define valsecarch %{nil}
|
|
%endif
|
|
%ifarch x86_64
|
|
%define valarch amd64
|
|
%define valsecarch x86
|
|
%endif
|
|
%ifarch ppc
|
|
%define valarch ppc32
|
|
%define valsecarch ppc64
|
|
%endif
|
|
%ifarch ppc64
|
|
%define valarch ppc64
|
|
%define valsecarch ppc32
|
|
%endif
|
|
|
|
# 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.
|
|
|
|
%package devel
|
|
Summary: Development files for valgrind
|
|
Group: Development/Debuggers
|
|
Requires: valgrind = %{epoch}:%{version}-%{release}
|
|
|
|
%description devel
|
|
Header files and libraries for development of valgrind aware programs
|
|
or valgrind plugins.
|
|
|
|
%prep
|
|
%setup -q
|
|
%patch1 -p1
|
|
%patch2 -p1
|
|
%patch3 -p1
|
|
%patch4 -p1
|
|
%patch5 -p1
|
|
%patch6 -p1
|
|
%patch7 -p1
|
|
%patch8 -p1
|
|
%patch9 -p1
|
|
|
|
%build
|
|
%ifarch x86_64 ppc64
|
|
# Ugly hack - libgcc 32-bit package might not be installed
|
|
mkdir -p libgcc/32
|
|
touch libgcc/32/libgcc_s.a
|
|
touch libgcc/libgcc_s_32.a
|
|
%configure CC="gcc -B `pwd`/libgcc/" GDB=%{_bindir}/gdb
|
|
%else
|
|
%configure GDB=%{_bindir}/gdb
|
|
%endif
|
|
|
|
# Force a specific set of default suppressions
|
|
echo -n > default.supp
|
|
for file in xfree-4.supp glibc-2.34567-NPTL-helgrind.supp glibc-2.8.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 <<EOF
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
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
|
|
|
|
for i in `find . -type f \( -name *-amd64-linux -o -name *-x86-linux -o -name *-ppc*-linux \)`; do
|
|
case "`file $i`" in
|
|
*ELF*executable*statically\ linked*)
|
|
objcopy -R .debug_loc -R .debug_frame -R .debug_ranges $i
|
|
esac
|
|
done
|
|
|
|
# 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/
|
|
rm -f docs.installed/*.ps
|
|
|
|
%if "%{valsecarch}" != ""
|
|
%ifarch ppc
|
|
ln -sf ../../lib64/valgrind/%{valsecarch}-linux $RPM_BUILD_ROOT%{_libdir}/valgrind/%{valsecarch}-linux
|
|
%else
|
|
rm -rf $RPM_BUILD_ROOT%{_libdir}/valgrind/%{valsecarch}-linux || :
|
|
ln -sf ../../lib/valgrind/%{valsecarch}-linux $RPM_BUILD_ROOT%{_libdir}/valgrind/%{valsecarch}-linux
|
|
%endif
|
|
%endif
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%doc ACKNOWLEDGEMENTS COPYING NEWS README_*
|
|
%doc docs.installed/html docs.installed/*.pdf
|
|
%{_bindir}/*
|
|
%dir %{_libdir}/valgrind
|
|
%dir %{_libdir}/valgrind/%{valarch}-linux
|
|
%if "%{valsecarch}" != ""
|
|
%{_libdir}/valgrind/%{valsecarch}-linux
|
|
%endif
|
|
%{_libdir}/valgrind/%{valarch}-linux/*[^a]
|
|
%{_libdir}/valgrind/%{valarch}-linux/*[^.]a
|
|
%{_libdir}/valgrind/*.supp
|
|
%{_mandir}/man1/valgrind*
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
%{_includedir}/valgrind
|
|
%dir %{_libdir}/valgrind
|
|
%dir %{_libdir}/valgrind/%{valarch}-linux
|
|
%{_libdir}/valgrind/%{valarch}-linux/*.a
|
|
%{_libdir}/pkgconfig/*
|
|
|
|
%changelog
|
|
* Wed Apr 16 2008 Jakub Jelinek <jakub@redhat.com> 3.3.0-3
|
|
- add suppressions for glibc 2.8
|
|
- add a bunch of syscall wrappers (#441709)
|
|
|
|
* Mon Mar 3 2008 Jakub Jelinek <jakub@redhat.com> 3.3.0-2
|
|
- add _dl_start suppression for ppc/ppc64
|
|
|
|
* Mon Mar 3 2008 Jakub Jelinek <jakub@redhat.com> 3.3.0-1
|
|
- update to 3.3.0
|
|
- split off devel bits into valgrind-devel subpackage
|
|
|
|
* Thu Oct 18 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-7
|
|
- add suppressions for glibc >= 2.7
|
|
|
|
* Fri Aug 31 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-6
|
|
- handle new x86_64 nops (#256801, KDE#148447)
|
|
- add support for private futexes (KDE#146781)
|
|
- update License tag
|
|
|
|
* Fri Aug 3 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-5
|
|
- add ppc64-linux symlink in valgrind ppc.rpm, so that when
|
|
rpm prefers 32-bit binaries over 64-bit ones 32-bit
|
|
/usr/bin/valgrind can find 64-bit valgrind helper binaries
|
|
(#249773)
|
|
- power5+ and power6 support (#240762)
|
|
|
|
* Thu Jun 28 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-4
|
|
- pass GDB=%{_prefix}/gdb to configure to fix default
|
|
--db-command (#220840)
|
|
|
|
* Wed Jun 27 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-3
|
|
- add suppressions for glibc >= 2.6
|
|
- avoid valgrind internal error if io_destroy syscall is
|
|
passed a bogus argument
|
|
|
|
* Tue Feb 13 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-2
|
|
- fix valgrind.pc again
|
|
|
|
* Tue Feb 13 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-1
|
|
- update to 3.2.3
|
|
|
|
* Wed Nov 8 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-7
|
|
- some cachegrind improvements (Ulrich Drepper)
|
|
|
|
* Mon Nov 6 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-6
|
|
- fix valgrind.pc (#213149)
|
|
- handle Intel Core2 cache sizes in cachegrind (Ulrich Drepper)
|
|
|
|
* Wed Oct 25 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-5
|
|
- fix valgrind on ppc/ppc64 where PAGESIZE is 64K (#211598)
|
|
|
|
* Sun Oct 1 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-4
|
|
- adjust for glibc-2.5
|
|
|
|
* Wed Sep 27 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-3
|
|
- another DW_CFA_set_loc handling fix
|
|
|
|
* Tue Sep 26 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-2
|
|
- fix openat handling (#208097)
|
|
- fix DW_CFA_set_loc handling
|
|
|
|
* Tue Sep 19 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-1
|
|
- update to 3.2.1 bugfix release
|
|
- SSE3 emulation fixes, reduce memcheck false positive rate,
|
|
4 dozens of bugfixes
|
|
|
|
* Mon Aug 21 2006 Jakub Jelinek <jakub@redhat.com> 3.2.0-5
|
|
- handle the new i686/x86_64 nops (#203273)
|
|
|
|
* Fri Jul 28 2006 Jeremy Katz <katzj@redhat.com> - 1:3.2.0-4
|
|
- rebuild to bring ppc back
|
|
|
|
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 1:3.2.0-3.1
|
|
- rebuild
|
|
|
|
* Fri Jun 16 2006 Jakub Jelinek <jakub@redhat.com> 3.2.0-3
|
|
- handle [sg]et_robust_list syscall on ppc{32,64}
|
|
|
|
* Fri Jun 16 2006 Jakub Jelinek <jakub@redhat.com> 3.2.0-2
|
|
- fix ppc64 symlink to 32-bit valgrind libdir
|
|
- handle a few extra ppc64 syscalls
|
|
|
|
* Thu Jun 15 2006 Jakub Jelinek <jakub@redhat.com> 3.2.0-1
|
|
- update to 3.2.0
|
|
- ppc64 support
|
|
|
|
* Fri May 26 2006 Jakub Jelinek <jakub@redhat.com> 3.1.1-3
|
|
- handle [sg]et_robust_list syscalls on i?86/x86_64
|
|
- handle *at syscalls on ppc
|
|
- ensure on x86_64 both 32-bit and 64-bit glibc{,-devel} are
|
|
installed in the buildroot (#191820)
|
|
|
|
* Wed Apr 12 2006 Jakub Jelinek <jakub@redhat.com> 3.1.1-2
|
|
- handle many syscalls that were unhandled before, especially on ppc
|
|
|
|
* Mon Apr 3 2006 Jakub Jelinek <jakub@redhat.com> 3.1.1-1
|
|
- upgrade to 3.1.1
|
|
- many bugfixes
|
|
|
|
* Mon Mar 13 2006 Jakub Jelinek <jakub@redhat.com> 3.1.0-2
|
|
- add support for DW_CFA_val_offset{,_sf}, DW_CFA_def_cfa_sf
|
|
and skip over DW_CFA_val_expression quietly
|
|
- adjust libc/ld.so filenames in glibc-2.4.supp for glibc 2.4
|
|
release
|
|
|
|
* Mon Jan 9 2006 Jakub Jelinek <jakub@redhat.com> 3.1.0-1
|
|
- upgrade to 3.1.0 (#174582)
|
|
- many bugfixes, ppc32 support
|
|
|
|
* Thu Oct 13 2005 Jakub Jelinek <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 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 <jakub@redhat.com> 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 <walters@redhat.com> 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 <jakub@redhat.com> 2.2.0-10
|
|
- rebuilt with GCC 4
|
|
|
|
* Tue Feb 8 2005 Jakub Jelinek <jakub@redhat.com> 2.2.0-8
|
|
- avoid unnecessary use of nested functions for pthread_once
|
|
cleanup
|
|
|
|
* Mon Dec 6 2004 Jakub Jelinek <jakub@redhat.com> 2.2.0-7
|
|
- update URL (#141873)
|
|
|
|
* Tue Nov 16 2004 Jakub Jelinek <jakub@redhat.com> 2.2.0-6
|
|
- act as if NVALGRIND is defined when using <valgrind.h>
|
|
in non-m32/i386 programs (#138923)
|
|
- remove weak from VALGRIND_PRINTF*, make it static and
|
|
add unused attribute
|
|
|
|
* Mon Nov 8 2004 Jakub Jelinek <jakub@redhat.com> 2.2.0-4
|
|
- fix a printout and possible problem with local variable
|
|
usage around setjmp (#138254)
|
|
|
|
* Tue Oct 5 2004 Jakub Jelinek <jakub@redhat.com> 2.2.0-3
|
|
- remove workaround for buggy old makes (#134563)
|
|
|
|
* Fri Oct 1 2004 Jakub Jelinek <jakub@redhat.com> 2.2.0-2
|
|
- handle some more ioctls (Peter Jones, #131967)
|
|
|
|
* Thu Sep 2 2004 Jakub Jelinek <jakub@redhat.com> 2.2.0-1
|
|
- update to 2.2.0
|
|
|
|
* Thu Jul 22 2004 Jakub Jelinek <jakub@redhat.com> 2.1.2-3
|
|
- fix packaging of documentation
|
|
|
|
* Tue Jul 20 2004 Jakub Jelinek <jakub@redhat.com> 2.1.2-2
|
|
- allow tracing of 32-bit binaries on x86-64
|
|
|
|
* Tue Jul 20 2004 Jakub Jelinek <jakub@redhat.com> 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 <walters@redhat.com> 2.0.0-1
|
|
- update to 2.0.0
|
|
|
|
* Tue Feb 25 2003 Jeff Johnson <jbj@redhat.com> 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 <jbj@redhat.com> 1.9.3-6.20030207
|
|
- add return codes to syscalls.
|
|
- fix: set errno after syscalls.
|
|
|
|
* Tue Feb 11 2003 Graydon Hoare <graydon@redhat.com> 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 <jbj@redhat.com> 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 <jbj@redhat.com> 1.9.3-3.20030207
|
|
- import all(afaik) missing functionality from linuxthreads.
|
|
|
|
* Sun Feb 9 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-2.20030207
|
|
- import more missing functionality from linuxthreads in glibc-2.3.1.
|
|
|
|
* Sat Feb 8 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-1.20030207
|
|
- start fixing nptl test cases.
|
|
|
|
* Fri Feb 7 2003 Jeff Johnson <jbj@redhat.com> 1.9.3-0.20030207
|
|
- build against current 1.9.3 with nptl hacks.
|
|
|
|
* Tue Oct 15 2002 Alexander Larsson <alexl@redhat.com>
|
|
- Update to 1.0.4
|
|
|
|
* Fri Aug 9 2002 Alexander Larsson <alexl@redhat.com>
|
|
- Update to 1.0.0
|
|
|
|
* Wed Jul 3 2002 Alexander Larsson <alexl@redhat.com>
|
|
- Update to pre4.
|
|
|
|
* Tue Jun 18 2002 Alexander Larsson <alla@lysator.liu.se>
|
|
- Add threadkeys and extra suppressions patches. Bump epoch.
|
|
|
|
* Mon Jun 17 2002 Alexander Larsson <alla@lysator.liu.se>
|
|
- Updated to 1.0pre1
|
|
|
|
* Tue May 28 2002 Alex Larsson <alexl@redhat.com>
|
|
- Updated to 20020524. Added GLIBC_PRIVATE patch
|
|
|
|
* Thu May 9 2002 Jonathan Blandford <jrb@redhat.com>
|
|
- add missing symbol __pthread_clock_settime
|
|
|
|
* Wed May 8 2002 Alex Larsson <alexl@redhat.com>
|
|
- Update to 20020508
|
|
|
|
* Mon May 6 2002 Alex Larsson <alexl@redhat.com>
|
|
- Update to 20020503b
|
|
|
|
* Thu May 2 2002 Alex Larsson <alexl@redhat.com>
|
|
- update to new snapshot
|
|
|
|
* Mon Apr 29 2002 Alex Larsson <alexl@redhat.com> 20020428-1
|
|
- update to new snapshot
|
|
|
|
* Fri Apr 26 2002 Jeremy Katz <katzj@redhat.com> 20020426-1
|
|
- update to new snapshot
|
|
|
|
* Thu Apr 25 2002 Alex Larsson <alexl@redhat.com> 20020424-5
|
|
- Added stack patch. Commented out other patches.
|
|
|
|
* Wed Apr 24 2002 Nalin Dahyabhai <nalin@redhat.com> 20020424-4
|
|
- filter out GLIBC_PRIVATE requires, add preload patch
|
|
|
|
* Wed Apr 24 2002 Alex Larsson <alexl@redhat.com> 20020424-3
|
|
- Make glibc 2.2 and XFree86 4 the default supressions
|
|
|
|
* Wed Apr 24 2002 Alex Larsson <alexl@redhat.com> 20020424-2
|
|
- Added patch that includes atomic.h
|
|
|
|
* Wed Apr 24 2002 Alex Larsson <alexl@redhat.com> 20020424-1
|
|
- Initial build
|