This commit is contained in:
Jakub Jelinek 2007-10-18 00:56:34 +00:00
parent fbcb048dc9
commit bebef2f1aa
2 changed files with 330 additions and 2 deletions

View File

@ -0,0 +1,323 @@
--- valgrind-3.2.3/configure.in.jj 2007-06-27 12:22:59.000000000 +0200
+++ valgrind-3.2.3/configure.in 2007-06-27 16:03:45.000000000 +0200
@@ -361,6 +361,16 @@ AC_EGREP_CPP([GLIBC_26], [
],
glibc="2.6")
+AC_EGREP_CPP([GLIBC_27], [
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 7)
+ GLIBC_27
+ #endif
+#endif
+],
+glibc="2.7")
+
AC_MSG_CHECKING([the glibc version])
case "${glibc}" in
@@ -388,9 +398,15 @@ case "${glibc}" in
DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}"
;;
+ 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}"
+ ;;
+
*)
AC_MSG_RESULT(unsupported version)
- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.6])
+ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.7])
;;
esac
--- valgrind-3.2.3/config.h.in.jj 2007-01-02 15:55:38.000000000 +0100
+++ valgrind-3.2.3/config.h.in 2007-06-27 16:08:37.000000000 +0200
@@ -18,6 +18,9 @@
/* Define to 1 if you're using glibc 2.6.x */
#undef GLIBC_2_6
+/* Define to 1 if you're using glibc 2.7.x */
+#undef GLIBC_2_7
+
/* Define to 1 if as supports mtocrf/mfocrf. */
#undef HAVE_AS_PPC_MFTOCRF
--- valgrind-3.2.3/configure.jj 2007-06-27 12:22:59.000000000 +0200
+++ valgrind-3.2.3/configure 2007-06-27 16:08:16.000000000 +0200
@@ -4413,6 +4413,28 @@ fi
rm -f conftest*
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h. */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h. */
+
+#include <features.h>
+#ifdef __GNU_LIBRARY__
+ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ == 7)
+ GLIBC_27
+ #endif
+#endif
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "GLIBC_27" >/dev/null 2>&1; then
+ glibc="2.7"
+fi
+rm -f conftest*
+
+
{ echo "$as_me:$LINENO: checking the glibc version" >&5
echo $ECHO_N "checking the glibc version... $ECHO_C" >&6; }
@@ -4472,11 +4494,22 @@ _ACEOF
DEFAULT_SUPP="glibc-2.6.supp ${DEFAULT_SUPP}"
;;
+ 2.7)
+ echo "$as_me:$LINENO: result: 2.7 family" >&5
+echo "${ECHO_T}2.7 family" >&6
+
+cat >>confdefs.h <<\_ACEOF
+#define GLIBC_2_7 1
+_ACEOF
+
+ DEFAULT_SUPP="glibc-2.7.supp ${DEFAULT_SUPP}"
+ ;;
+
*)
{ echo "$as_me:$LINENO: result: unsupported version" >&5
echo "${ECHO_T}unsupported version" >&6; }
- { { echo "$as_me:$LINENO: error: Valgrind requires glibc version 2.2 - 2.6" >&5
-echo "$as_me: error: Valgrind requires glibc version 2.2 - 2.6" >&2;}
+ { { echo "$as_me:$LINENO: error: Valgrind requires glibc version 2.2 - 2.7" >&5
+echo "$as_me: error: Valgrind requires glibc version 2.2 - 2.7" >&2;}
{ (exit 1); exit 1; }; }
;;
esac
--- valgrind-3.2.3/glibc-2.7.supp.jj 2007-06-27 16:09:55.000000000 +0200
+++ valgrind-3.2.3/glibc-2.7.supp 2007-06-27 16:10:20.000000000 +0200
@@ -0,0 +1,216 @@
+
+##----------------------------------------------------------------------##
+
+# Errors to suppress by default with glibc 2.7.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
+# Free Addr1 Addr2 Addr4 Addr8 Addr16
+# Cond (previously known as Value0)
+#
+# and the optional extra info is:
+# if Param: name of system call param
+# if Free: name of free-ing fn)
+
+{
+ dl-hack1
+ Memcheck:Cond
+ fun:_dl_start
+ fun:_start
+}
+
+{
+ dl-hack2
+ Memcheck:Cond
+ obj:/lib*/ld-2.7*.so
+ obj:/lib*/ld-2.7*.so
+ obj:/lib*/ld-2.7*.so
+ obj:/lib*/ld-2.7*.so
+}
+
+{
+ dl-hack3
+ Memcheck:Cond
+ obj:/lib*/ld-2.7*.so
+ obj:/lib*/ld-2.7*.so
+ obj:/lib*/ld-2.7*.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-2.7*.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-2.7*.so
+}
+{
+ glibc-2.3.5-on-SuSE-10.1-(PPC)-3
+ Memcheck:Addr4
+ fun:*wordcopy_fwd_dest_aligned*
+ fun:mem*cpy
+ obj:*lib*2.7*.so
+}
+
+##----------------------------------------------------------------------##
+## Various structure padding things on SUSE 10.2
+##
+{
+ X11-64bit-padding-1a
+ Memcheck:Param
+ write(buf)
+ fun:__write_nocancel
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.so*
+ fun:X*
+}
+{
+ X11-64bit-padding-1b
+ Memcheck:Param
+ write(buf)
+ fun:__write_nocancel
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.so*
+ fun:_X*
+}
+{
+ X11-64bit-padding-1c
+ Memcheck:Param
+ write(buf)
+ fun:__write_nocancel
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.so*
+}
+{
+ X11-64bit-padding-1d
+ Memcheck:Param
+ write(buf)
+ fun:__write_nocancel
+ obj:/usr/lib*/libICE.so*
+ obj:/usr/lib*/libICE.so*
+ obj:/usr/lib*/libICE.so*
+}
+{
+ X11-64bit-padding-2a
+ Memcheck:Param
+ writev(vector[...])
+ fun:do_writev
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.so*
+}
+{
+ X11-64bit-padding-2b
+ Memcheck:Param
+ writev(vector[...])
+ fun:do_writev
+ fun:writev
+ obj:/usr/lib*/libX11.so*
+ obj:/usr/lib*/libX11.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-2.7*.so
+ obj:/*libc-2.7*.so
+ obj:/*libc-2.7*.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-2.7*.so
+}
+
+
+{
+ X11-64bit-padding-3a
+ Memcheck:Param
+ write(buf)
+ obj:/*libpthread-2.7*.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-2.7*.so
+ obj:/*libc-2.7*.so
+ obj:/*libc-2.7*.so
+}
+{
+ X11-64bit-padding-4b
+ Memcheck:Param
+ socketcall.send(msg)
+ fun:send
+ obj:/*libc-2.7*.so
+ obj:/*libc-2.7*.so
+ obj:/*libc-2.7*.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
+}

View File

@ -1,7 +1,7 @@
Summary: Tool for finding memory management bugs in programs
Name: valgrind
Version: 3.2.3
Release: 6
Release: 7
Epoch: 1
Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
Patch1: valgrind-3.2.3-openat.patch
@ -12,6 +12,7 @@ Patch5: valgrind-3.2.3-io_destroy.patch
Patch6: valgrind-3.2.3-power5+-6.patch
Patch7: valgrind-3.2.3-private-futex.patch
Patch8: valgrind-3.2.3-x86_64-nops.patch
Patch9: valgrind-3.2.3-glibc2_7.patch
License: GPLv2
URL: http://www.valgrind.org/
Group: Development/Debuggers
@ -48,6 +49,7 @@ find/diagnose.
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%build
%ifarch x86_64 ppc64
@ -62,7 +64,7 @@ touch libgcc/libgcc_s_32.a
# Force a specific set of default suppressions
echo -n > default.supp
for file in glibc-2.6.supp xfree-4.supp ; do
for file in glibc-2.7.supp xfree-4.supp ; do
cat $file >> default.supp
done
@ -135,6 +137,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/valgrind*
%changelog
* 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)