diff --git a/glibc-2.8.diff b/glibc-2.8.diff new file mode 100644 index 0000000..1775502 --- /dev/null +++ b/glibc-2.8.diff @@ -0,0 +1,344 @@ +------------------------------------------------------------------------ +r7915 | dirk | 2008-04-25 13:33:30 +0200 (Fri, 25 Apr 2008) | 4 lines + +glibc 2.8 has the very same checking reports as did +glibc 2.7 have.. as did glibc 2.6, as did glibc 2.5, as did glibc 2.4 +as did glibc 2.4. so consolidate into one suppression file + +------------------------------------------------------------------------ +--- glibc-2.X.supp.in ++++ glibc-2.X.supp.in +@@ -0,0 +1,196 @@ ++ ++##----------------------------------------------------------------------## ++ ++# Errors to suppress by default with glibc @GLIBC_VERSION@.x ++ ++# Format of this file is: ++# { ++# name_of_suppression ++# tool_name:supp_kind ++# (optional extra info for some suppression types) ++# caller0 name, or /name/of/so/file.so ++# caller1 name, or ditto ++# (optionally: caller2 name) ++# (optionally: caller3 name) ++# } ++# ++# For Memcheck, the supp_kinds are: ++# ++# Param Value1 Value2 Value4 Value8 Value16 Jump ++# Free Addr1 Addr2 Addr4 Addr8 Addr16 ++# Cond (previously known as Value0) ++# ++# and the optional extra info is: ++# if Param: name of system call param ++ ++{ ++ dl-hack1 ++ Memcheck:Cond ++ fun:_dl_start ++ fun:_start ++} ++ ++{ ++ dl-hack2 ++ Memcheck:Cond ++ obj:/lib*/ld-@GLIBC_VERSION@*.so ++ obj:/lib*/ld-@GLIBC_VERSION@*.so ++ obj:/lib*/ld-@GLIBC_VERSION@*.so ++ obj:/lib*/ld-@GLIBC_VERSION@*.so ++} ++ ++{ ++ dl-hack3-1 ++ Memcheck:Cond ++ obj:/lib*/ld-@GLIBC_VERSION@*.so* ++ obj:/lib*/ld-@GLIBC_VERSION@*.so* ++ obj:/lib*/ld-@GLIBC_VERSION@*.so* ++} ++{ ++ dl-hack3-2 ++ Memcheck:Cond ++ obj:/lib*/ld-@GLIBC_VERSION@*.so* ++ obj:/lib*/ld-@GLIBC_VERSION@*.so* ++ obj:/lib*/libc-@GLIBC_VERSION@*.so* ++} ++ ++{ ++ dl-hack4-64bit-1 ++ Memcheck:Addr8 ++ obj:/lib64/ld-@GLIBC_VERSION@*.so* ++ obj:/lib64/ld-@GLIBC_VERSION@*.so* ++ obj:/lib64/ld-@GLIBC_VERSION@*.so* ++} ++{ ++ dl-hack4-64bit-2 ++ Memcheck:Addr8 ++ obj:/lib64/ld-@GLIBC_VERSION@*.so* ++ obj:/lib64/ld-@GLIBC_VERSION@*.so* ++ obj:/lib64/libc-@GLIBC_VERSION@*.so* ++} ++{ ++ dl-hack4-64bit-3 ++ Memcheck:Addr8 ++ obj:/lib64/ld-@GLIBC_VERSION@*.so* ++ obj:/lib64/ld-@GLIBC_VERSION@*.so* ++ obj:/lib64/libdl-@GLIBC_VERSION@*.so* ++} ++ ++ ++ ++##----------------------------------------------------------------------## ++{ ++ glibc-2.5.x-on-SUSE-10.2-(PPC)-1 ++ Memcheck:Cond ++ fun:_dl_start_final ++ fun:_dl_start ++ fun:_start ++} ++{ ++ glibc-2.5.x-on-SUSE-10.2-(PPC)-2a ++ Memcheck:Cond ++ fun:index ++ obj:*ld-@GLIBC_VERSION@.*.so ++} ++{ ++ glibc-2.5.x-on-SuSE-10.2-(PPC)-2b ++ Memcheck:Addr4 ++ fun:index ++ fun:expand_dynamic_string_token ++} ++{ ++ glibc-2.5.5-on-SuSE-10.2-(PPC)-2c ++ Memcheck:Addr4 ++ fun:index ++ obj:*ld-@GLIBC_VERSION@.*.so ++} ++{ ++ glibc-2.3.5-on-SuSE-10.1-(PPC)-3 ++ Memcheck:Addr4 ++ fun:*wordcopy_fwd_dest_aligned* ++ fun:mem*cpy ++ obj:*lib*@GLIBC_VERSION@.*.so ++} ++ ++{ ++ glibc-@GLIBC_VERSION@-on-SUSE-10.3-(x86) ++ Memcheck:Addr4 ++ obj:/lib/ld-@GLIBC_VERSION@*.so ++ obj:/lib/ld-@GLIBC_VERSION@*.so ++ obj:/lib/ld-@GLIBC_VERSION@*.so ++} ++ ++{ ++ glibc24-64bit-padding-1a ++ Memcheck:Param ++ socketcall.sendto(msg) ++ fun:send ++ fun:get_mapping ++ fun:__nscd_get_map_ref ++ fun:nscd* ++} ++{ ++ glibc24-64bit-padding-1b ++ Memcheck:Param ++ socketcall.sendto(msg) ++ fun:__sendto_nocancel ++ obj:/*libc-@GLIBC_VERSION@.so ++ obj:/*libc-@GLIBC_VERSION@.so ++ obj:/*libc-@GLIBC_VERSION@.so ++} ++{ ++ glibc24-64bit-padding-1c ++ Memcheck:Param ++ socketcall.send(msg) ++ fun:send ++ fun:__nscd_get_map_ref ++ fun:nscd_get*_r ++ fun:*nscd* ++ obj:/*libc-@GLIBC_VERSION@.so ++} ++ ++ ++{ ++ X11-64bit-padding-3a ++ Memcheck:Param ++ write(buf) ++ obj:/*libpthread-2.4.so* ++ obj:/usr/lib*/libX11.so* ++ obj:/usr/lib*/libX11.so* ++ obj:/usr/lib*/libX11.so* ++} ++ ++{ ++ X11-64bit-padding-4a ++ Memcheck:Param ++ socketcall.sendto(msg) ++ fun:send ++ obj:/*libc-@GLIBC_VERSION@.so ++ obj:/*libc-@GLIBC_VERSION@.so ++ obj:/*libc-@GLIBC_VERSION@.so ++} ++{ ++ X11-64bit-padding-4b ++ Memcheck:Param ++ socketcall.send(msg) ++ fun:send ++ obj:/*libc-@GLIBC_VERSION@.so ++ obj:/*libc-@GLIBC_VERSION@.so ++ obj:/*libc-@GLIBC_VERSION@.so ++} ++ ++##----------------------------------------------------------------------## ++# MontaVista Linux 4.0.1 on ppc32 ++{ ++ MVL-401-linuxthreads-pthread_create ++ Memcheck:Param ++ write(buf) ++ fun:pthread_create ++} ++{ ++ MVL-401-linuxthreads-pthread_create ++ Memcheck:Param ++ write(buf) ++ obj:/lib/libpthread-0.10.so ++ fun:pthread_create ++} + +Property changes on: glibc-2.X.supp.in +___________________________________________________________________ +Added: svn:mergeinfo + + +--- configure.in ++++ configure.in +@@ -407,7 +407,7 @@ DEFAULT_SUPP="" + AC_SUBST(DEFAULT_SUPP) + + +-libc="" ++GLIBC_VERSION="" + + AC_EGREP_CPP([GLIBC_22], [ + #include +@@ -417,7 +417,7 @@ AC_EGREP_CPP([GLIBC_22], [ + #endif + #endif + ], +-libc="2.2") ++GLIBC_VERSION="2.2") + + AC_EGREP_CPP([GLIBC_23], [ + #include +@@ -427,7 +427,7 @@ AC_EGREP_CPP([GLIBC_23], [ + #endif + #endif + ], +-libc="2.3") ++GLIBC_VERSION="2.3") + + AC_EGREP_CPP([GLIBC_24], [ + #include +@@ -437,7 +437,7 @@ AC_EGREP_CPP([GLIBC_24], [ + #endif + #endif + ], +-libc="2.4") ++GLIBC_VERSION="2.4") + + AC_EGREP_CPP([GLIBC_25], [ + #include +@@ -447,7 +447,7 @@ AC_EGREP_CPP([GLIBC_25], [ + #endif + #endif + ], +-libc="2.5") ++GLIBC_VERSION="2.5") + + AC_EGREP_CPP([GLIBC_26], [ + #include +@@ -457,7 +457,7 @@ AC_EGREP_CPP([GLIBC_26], [ + #endif + #endif + ], +-libc="2.6") ++GLIBC_VERSION="2.6") + + AC_EGREP_CPP([GLIBC_27], [ + #include +@@ -467,7 +467,17 @@ AC_EGREP_CPP([GLIBC_27], [ + #endif + #endif + ], +-libc="2.7") ++GLIBC_VERSION="2.7") ++ ++AC_EGREP_CPP([GLIBC_28], [ ++#include ++#ifdef __GNU_LIBRARY__ ++ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 8) ++ GLIBC_28 ++ #endif ++#endif ++], ++GLIBC_VERSION="2.8") + + AC_EGREP_CPP([AIX5_LIBC], [ + #include +@@ -475,11 +485,11 @@ AC_EGREP_CPP([AIX5_LIBC], [ + AIX5_LIBC + #endif + ], +-libc="aix5") ++GLIBC_VERSION="aix5") + +-AC_MSG_CHECKING([the libc version]) ++AC_MSG_CHECKING([the GLIBC_VERSION version]) + +-case "${libc}" in ++case "${GLIBC_VERSION}" in + 2.2) + AC_MSG_RESULT(2.2 family) + AC_DEFINE([GLIBC_2_2], 1, [Define to 1 if you're using glibc 2.2.x]) +@@ -516,9 +526,16 @@ case "${libc}" in + 2.7) + AC_MSG_RESULT(2.7 family) + AC_DEFINE([GLIBC_2_7], 1, [Define to 1 if you're using glibc 2.7.x]) +- DEFAULT_SUPP="glibc-2.7.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" ++ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" ++ ;; ++ 2.8) ++ AC_MSG_RESULT(2.8 family) ++ AC_DEFINE([GLIBC_2_8], 1, [Define to 1 if you're using glibc 2.8.x]) ++ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" + DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" + ;; ++ + aix5) + AC_MSG_RESULT(AIX 5.1 or 5.2 or 5.3) + AC_DEFINE([AIX5_LIBC], 1, [Define to 1 if you're using AIX 5.1 or 5.2 or 5.3]) +@@ -527,11 +544,12 @@ case "${libc}" in + + *) + AC_MSG_RESULT(unsupported version) +- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.7]) +- AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 libc]) ++ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.8]) ++ AC_MSG_ERROR([or AIX 5.1 or 5.2 or 5.3 GLIBC_VERSION]) + ;; + esac + ++AC_SUBST(GLIBC_VERSION) + + # We don't know how to detect the X client library version + # (detecting the server version is easy, but no help). So we +@@ -964,6 +982,7 @@ AC_OUTPUT( + Makefile + valgrind.spec + valgrind.pc ++ glibc-2.X.supp + docs/Makefile + docs/lib/Makefile + docs/images/Makefile diff --git a/update-suppressions.diff b/update-suppressions.diff new file mode 100644 index 0000000..989ebef --- /dev/null +++ b/update-suppressions.diff @@ -0,0 +1,23 @@ +--- glibc-2.7.supp ++++ glibc-2.7.supp +@@ -28,3 +28,20 @@ + obj:/lib*/ld-2.7*.so* + obj:/lib*/ld-2.7*.so* + } ++ ++# the same for out of bound reads ++{ ++ dl-hack3-2 ++ Memcheck:Addr4 ++ obj:/lib*/ld-2.7*.so* ++ obj:/lib*/ld-2.7*.so* ++ obj:/lib*/ld-2.7*.so* ++} ++ ++{ ++ dl-hack3-3 ++ Memcheck:Addr8 ++ obj:/lib*/ld-2.7*.so* ++ obj:/lib*/ld-2.7*.so* ++ obj:/lib*/ld-2.7*.so* ++} diff --git a/valgrind.changes b/valgrind.changes index eb02df8..da38c8d 100644 --- a/valgrind.changes +++ b/valgrind.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Apr 28 00:33:35 CEST 2008 - dmueller@suse.de + +- update glibc 2.8 support + ------------------------------------------------------------------- Sun Dec 16 15:52:17 CET 2007 - dmueller@suse.de diff --git a/valgrind.spec b/valgrind.spec index bd5e4d6..9806a85 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -1,7 +1,7 @@ # # spec file for package valgrind (Version 3.3.0) # -# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # @@ -10,6 +10,7 @@ # norootforbuild + Name: valgrind BuildRequires: gcc-c++ glibc-devel-32bit xorg-x11-devel %ifarch x86_64 ppc64 @@ -26,12 +27,15 @@ Group: Development/Tools/Debuggers Summary: Valgrind Suite of Tools for Debugging and Profiling BuildRoot: %{_tmppath}/%{name}-%{version}-build Version: 3.3.0 -Release: 6 +Release: 33 Source0: %{name}-%{version}.tar.bz2 # svn di svn://svn.valgrind.org/valgrind/tags/VALGRIND_3_2_1 svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_2_BRANCH > 3_2_BRANCH.diff # svn di svn://svn.valgrind.org/vex/tags/VEX_3_2_1 svn://svn.valgrind.org/vex/branches/VEX_3_2_BRANCH > VEX_3_2_BRANCH.diff Patch8: jit-runtime-support.diff Patch9: deprecated.diff +Patch10: update-suppressions.diff +Patch11: glibc-2.8.diff +Patch12: xcb-update.diff Provides: callgrind = %version Obsoletes: callgrind < %version ExclusiveArch: %ix86 x86_64 ppc ppc64 @@ -71,6 +75,7 @@ Authors: Robert Walsh %package devel +License: GPL v2 or later Summary: Valgrind Suite of Tools for Debugging and Profiling Group: Development/Tools/Debuggers Requires: %name = %version @@ -115,6 +120,9 @@ cd VEX cd .. %patch8 %patch9 +%patch10 +%patch11 +%patch12 %build export CFLAGS="$RPM_OPT_FLAGS" @@ -144,14 +152,16 @@ mv $RPM_BUILD_ROOT/usr/share/doc/valgrind $RPM_BUILD_ROOT/usr/share/doc/packages %_libdir/valgrind/*/*.a %changelog -* Sun Dec 16 2007 - dmueller@suse.de +* Mon Apr 28 2008 dmueller@suse.de +- update glibc 2.8 support +* Sun Dec 16 2007 dmueller@suse.de - readd deprecated #define's (#348337) -* Wed Dec 12 2007 - dmueller@suse.de +* Wed Dec 12 2007 dmueller@suse.de - update to 3.3.0 (final): * last minute bugfixes -* Thu Dec 06 2007 - dmueller@suse.de +* Thu Dec 06 2007 dmueller@suse.de - update jit-support patch -* Mon Dec 03 2007 - dmueller@suse.de +* Mon Dec 03 2007 dmueller@suse.de - update to 3.3.0 RC1: - Helgrind works again - Massif has been majorly overhauled @@ -160,108 +170,108 @@ mv $RPM_BUILD_ROOT/usr/share/doc/valgrind $RPM_BUILD_ROOT/usr/share/doc/packages - Many small refinements to stability, scalability and performance - Somewhat restructured documentation - Many bug fixes -* Mon Nov 26 2007 - dmueller@suse.de +* Mon Nov 26 2007 dmueller@suse.de - fix build against glibc 2.7 -* Fri Sep 14 2007 - dmueller@suse.de +* Fri Sep 14 2007 dmueller@suse.de - fix divisions by zero in massif (#310234) -* Wed Sep 12 2007 - dmueller@suse.de +* Wed Sep 12 2007 dmueller@suse.de - fix build on ppc64 again - update suppressions -* Fri Aug 24 2007 - dmueller@suse.de +* Fri Aug 24 2007 dmueller@suse.de - fix valgrind on x86_64 (#296803) -* Tue Aug 21 2007 - dmueller@suse.de +* Wed Aug 22 2007 dmueller@suse.de - suppression update -* Tue Jul 24 2007 - dmueller@suse.de +* Tue Jul 24 2007 dmueller@suse.de - update suppression file -* Mon Jul 09 2007 - dmueller@suse.de +* Mon Jul 09 2007 dmueller@suse.de - support JIT runtimes (#289490) -* Tue Jul 03 2007 - dmueller@suse.de +* Tue Jul 03 2007 dmueller@suse.de - update suppression file (#287090) -* Wed May 23 2007 - dmueller@suse.de +* Wed May 23 2007 dmueller@suse.de - build against glibc 2.6 -* Thu Apr 05 2007 - dmueller@suse.de +* Thu Apr 05 2007 dmueller@suse.de - split into -devel subpackage -* Fri Mar 30 2007 - dmueller@suse.de +* Fri Mar 30 2007 dmueller@suse.de - add patch to track undefinedness in environment (#249676) -* Tue Jan 30 2007 - dmueller@suse.de +* Tue Jan 30 2007 dmueller@suse.de - update to 3.2.3: * fixes two serious regressions introduced in 3.2.2 * intercept stpcpy_chk (#234247) - fix openat syscall wrapper (#240225) -* Thu Jan 25 2007 - dmueller@suse.de +* Thu Jan 25 2007 dmueller@suse.de - intercept stpcpy_chk and memrchr as well (#234347) -* Tue Jan 23 2007 - dmueller@suse.de +* Tue Jan 23 2007 dmueller@suse.de - switch to gcc-32bit on x86_64 -* Mon Jan 22 2007 - dmueller@suse.de +* Mon Jan 22 2007 dmueller@suse.de - update to 3.2.2: * many fixes for ppc 32/64 (#fate 301640) -* Tue Oct 17 2006 - dmueller@suse.de +* Tue Oct 17 2006 dmueller@suse.de - disable omega plugin for ppc/ppc64 -* Mon Oct 16 2006 - dmueller@suse.de +* Mon Oct 16 2006 dmueller@suse.de - update to 3.2 BRANCH: * support glibc 2.5 * update suppressions - add omega plugin -* Sat Sep 16 2006 - dmueller@suse.de +* Sat Sep 16 2006 dmueller@suse.de - update to 3.2.1: * suppresion updates -* Fri Sep 15 2006 - dmueller@suse.de +* Fri Sep 15 2006 dmueller@suse.de - update to 3.2.1rc1: * about 36 bugfixes -* Wed Sep 13 2006 - stbinner@suse.de +* Wed Sep 13 2006 stbinner@suse.de - fix build with < Factory -* Mon Aug 28 2006 - dmueller@suse.de +* Mon Aug 28 2006 dmueller@suse.de - fix suppressions - update drd plugin -* Thu Aug 24 2006 - dmueller@suse.de +* Thu Aug 24 2006 dmueller@suse.de - add experimental drd plugin - fix build on x86_64 -* Wed Aug 02 2006 - dmueller@suse.de +* Wed Aug 02 2006 dmueller@suse.de - also fix multibyte NOP parsing for x86_64 -* Tue Aug 01 2006 - dmueller@suse.de +* Tue Aug 01 2006 dmueller@suse.de - add patch to handle multibyte NOPs as generated by recent binutils -* Wed Jun 07 2006 - dmueller@suse.de +* Wed Jun 07 2006 dmueller@suse.de - update to 3.2.0 final * only marginal changes since rc1 -* Tue May 30 2006 - dmueller@suse.de +* Tue May 30 2006 dmueller@suse.de - update to 3.2.0 rc1: * ppc64 support * callgrind now integrated part * massive performance improvements * lots of emulation fixlets -* Thu Mar 16 2006 - dmueller@suse.de +* Thu Mar 16 2006 dmueller@suse.de - update to 3.1.1 (FATE #300493) -* Mon Mar 06 2006 - dmueller@suse.de +* Mon Mar 06 2006 dmueller@suse.de - various updates from branch to fix PPC32 support -* Mon Feb 06 2006 - dmueller@suse.de +* Mon Feb 06 2006 dmueller@suse.de - Fix GDB support -* Mon Feb 06 2006 - dmueller@suse.de +* Mon Feb 06 2006 dmueller@suse.de - Reduce BuildRequires -* Wed Jan 25 2006 - mls@suse.de +* Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires -* Wed Jan 04 2006 - dmueller@suse.de +* Wed Jan 04 2006 dmueller@suse.de - update to 3.1 branch -* Fri Dec 09 2005 - dmueller@suse.de +* Fri Dec 09 2005 dmueller@suse.de - fix strict-aliasing issue -* Mon Nov 28 2005 - dmueller@suse.de +* Mon Nov 28 2005 dmueller@suse.de - 3.1.0 final update -* Mon Nov 21 2005 - dmueller@suse.de +* Mon Nov 21 2005 dmueller@suse.de - 3.1.0 RC1 update -* Thu Nov 10 2005 - dmueller@suse.de +* Thu Nov 10 2005 dmueller@suse.de - update to 3.1 SVN -* Tue Nov 08 2005 - dmueller@suse.de +* Tue Nov 08 2005 dmueller@suse.de - add hack to make valgrind work with apps that require executable stack -* Thu Sep 15 2005 - dmueller@suse.de +* Thu Sep 15 2005 dmueller@suse.de - update 3.0.1 final -* Thu Aug 25 2005 - dmueller@suse.de +* Thu Aug 25 2005 dmueller@suse.de - make massif work again -* Sun Aug 21 2005 - dmueller@suse.de +* Sun Aug 21 2005 dmueller@suse.de - fix trace-children=yes failure - add default suppressions for SL 10 -* Mon Aug 15 2005 - dmueller@suse.de +* Mon Aug 15 2005 dmueller@suse.de - regenerate VEX offset headers, otherwise it just hangs -* Fri Aug 12 2005 - dmueller@suse.de +* Fri Aug 12 2005 dmueller@suse.de - update to 3.0 branch to make it work on non-SSE platforms (#104181) -* Fri Aug 05 2005 - dmueller@suse.de +* Fri Aug 05 2005 dmueller@suse.de - initial package of 3.0 diff --git a/xcb-update.diff b/xcb-update.diff new file mode 100644 index 0000000..5385a0c --- /dev/null +++ b/xcb-update.diff @@ -0,0 +1,20 @@ +--- xfree-4.supp ++++ xfree-4.supp +@@ -136,7 +136,7 @@ + struct with uninitialized paddings - libxcb + Memcheck:Param + writev(vector[...]) +- obj:/lib*/libc-2.6*.so ++ obj:/lib*/*.so + obj:/usr/lib*/libxcb.so.1.0.0 + obj:/usr/lib*/libxcb.so.1.0.0 + fun:xcb_send_request +@@ -147,7 +147,7 @@ + struct with uninitialized paddings - libxcb + Memcheck:Param + writev(vector[...]) +- obj:/lib*/libc-2.6*.so ++ obj:/lib*/*.so + obj:/usr/lib*/libxcb.so.1.0.0 + obj:/usr/lib*/libxcb.so.1.0.0 + obj:/usr/lib*/libxcb.so.1.0.0