This commit is contained in:
Jakub Jelinek 2012-05-07 11:07:32 +02:00
parent ee0ad34737
commit 21fc84fff9
5 changed files with 1078 additions and 4 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,3 @@
diff -r -u valgrind-3.7.0.old/configure valgrind-3.7.0/configure
--- valgrind-3.7.0.old/configure 2012-03-05 15:16:23.000000000 -0500
+++ valgrind-3.7.0/configure 2012-03-05 13:49:04.000000000 -0500
@@ -5279,7 +5279,7 @@

View File

@ -0,0 +1,28 @@
--- valgrind-3.7.0/glibc-2.X.supp.in.jj 2011-10-26 23:24:45.000000000 +0200
+++ valgrind-3.7.0/glibc-2.X.supp.in 2012-05-07 10:55:20.395942656 +0200
@@ -124,7 +124,7 @@
glibc-2.5.x-on-SUSE-10.2-(PPC)-2a
Memcheck:Cond
fun:index
- obj:*ld-@GLIBC_VERSION@.*.so
+ obj:*ld-@GLIBC_VERSION@*.so
}
{
glibc-2.5.x-on-SuSE-10.2-(PPC)-2b
@@ -136,14 +136,14 @@
glibc-2.5.5-on-SuSE-10.2-(PPC)-2c
Memcheck:Addr4
fun:index
- obj:*ld-@GLIBC_VERSION@.*.so
+ 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
+ obj:*lib*@GLIBC_VERSION@*.so
}
{

View File

@ -0,0 +1,24 @@
--- valgrind-3.7.0/coregrind/m_debuginfo/readdwarf3.c (revision 12337)
+++ valgrind-3.7.0/coregrind/m_debuginfo/readdwarf3.c (revision 12338)
@@ -2723,6 +2723,21 @@ static void parse_type_DIE ( /*MOD*/XArr
goto bad_DIE;
}
+ /*
+ * Treat DW_TAG_unspecified_type as type void. An example of DW_TAG_unspecified_type:
+ *
+ * $ readelf --debug-dump /usr/lib/debug/usr/lib/libstdc++.so.6.0.16.debug
+ * <1><10d4>: Abbrev Number: 53 (DW_TAG_unspecified_type)
+ * <10d5> DW_AT_name : (indirect string, offset: 0xdb7): decltype(nullptr)
+ */
+ if (dtag == DW_TAG_unspecified_type) {
+ VG_(memset)(&typeE, 0, sizeof(typeE));
+ typeE.cuOff = D3_INVALID_CUOFF;
+ typeE.tag = Te_TyQual;
+ typeE.Te.TyQual.typeR = D3_FAKEVOID_CUOFF;
+ goto acquire_Type;
+ }
+
/* else ignore this DIE */
return;
/*NOTREACHED*/

View File

@ -1,7 +1,7 @@
Summary: Tool for finding memory management bugs in programs
Name: valgrind
Version: 3.7.0
Release: 2%{?dist}
Release: 3%{?dist}
Epoch: 1
License: GPLv2
URL: http://www.valgrind.org/
@ -20,6 +20,9 @@ Patch9: valgrind-3.7.0-tests.patch
Patch10: valgrind-3.7.0-f-sgetown-ex.patch
Patch11: valgrind-3.7.0-scsi-ioctls.patch
Patch12: valgrind-3.7.0-enable-armv5.patch
Patch13: valgrind-3.7.0-ldso-supp.patch
Patch14: valgrind-3.7.0-unspecified-type.patch
Patch15: valgrind-3.7.0-debug-types.patch
Obsoletes: valgrind-callgrind
%ifarch x86_64 ppc64
@ -110,7 +113,10 @@ for details.
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1 -b .arm
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%build
CC=gcc
@ -205,7 +211,12 @@ echo ===============END TESTING===============
%endif
%changelog
* Sun Mar 4 2012 Peter Robinson <pbrobinson@fedoraproject.org> - 3.7.0-2
* Mon May 7 2012 Jakub Jelinek <jakub@redhat.com> 3.7.0-3
- adjust suppressions so that it works even with ld-2.15.so (#806854)
- handle DW_TAG_unspecified_type (#810284, KDE#278313)
- handle .debug_types sections (#810286, KDE#284124)
* Sun Mar 4 2012 Peter Robinson <pbrobinson@fedoraproject.org> 3.7.0-2
- Fix building on ARM platform
* Fri Jan 27 2012 Jakub Jelinek <jakub@redhat.com> 3.7.0-1