diff --git a/glibc.diff b/glibc.diff deleted file mode 100644 index 5ebdce4..0000000 --- a/glibc.diff +++ /dev/null @@ -1,37 +0,0 @@ -add support for glibc 2.15 and glibc 2.16 - ------------------------------------------------------------------------- -Index: configure.in -=================================================================== ---- configure.in.orig -+++ configure.in -@@ -775,6 +775,20 @@ case "${GLIBC_VERSION}" in - DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" - DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" - ;; -+ 2.15) -+ AC_MSG_RESULT(2.15 family) -+ AC_DEFINE([GLIBC_2_15], 1, [Define to 1 if you're using glibc 2.15.x]) -+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" -+ ;; -+ 2.16) -+ AC_MSG_RESULT(2.16 family) -+ AC_DEFINE([GLIBC_2_16], 1, [Define to 1 if you're using glibc 2.16.x]) -+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}" -+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}" -+ ;; - darwin) - AC_MSG_RESULT(Darwin) - AC_DEFINE([DARWIN_LIBC], 1, [Define to 1 if you're using Darwin]) -@@ -788,7 +802,7 @@ case "${GLIBC_VERSION}" in - - *) - AC_MSG_RESULT([unsupported version ${GLIBC_VERSION}]) -- AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.14]) -+ AC_MSG_ERROR([Valgrind requires glibc version 2.2 - 2.16]) - AC_MSG_ERROR([or Darwin libc]) - ;; - esac diff --git a/jit-register-unregister.diff b/jit-register-unregister.diff index a8193aa..13a9a06 100644 --- a/jit-register-unregister.diff +++ b/jit-register-unregister.diff @@ -8,7 +8,7 @@ #include "priv_misc.h" /* dinfo_zalloc/free */ #include "priv_d3basics.h" /* ML_(pp_GX) */ -@@ -1253,6 +1254,132 @@ +@@ -1260,6 +1261,132 @@ #endif /* defined(VGO_linux) || defined(VGO_darwin) */ @@ -141,7 +141,7 @@ /*------------------------------------------------------------*/ /*--- ---*/ /*--- TOP LEVEL: QUERYING EXISTING DEBUG INFO ---*/ -@@ -1388,8 +1515,19 @@ +@@ -1418,8 +1545,19 @@ PtrdiffT offset; search_all_symtabs ( a, &di, &sno, match_anywhere_in_sym, findText ); @@ -164,7 +164,7 @@ VG_(demangle) ( do_cxx_demangling, do_z_demangling, --- coregrind/m_scheduler/scheduler.c +++ coregrind/m_scheduler/scheduler.c -@@ -1669,6 +1669,16 @@ +@@ -1873,6 +1873,16 @@ goto my_default; } @@ -183,9 +183,9 @@ if (os_client_request(tid, arg)) { --- coregrind/pub_core_debuginfo.h +++ coregrind/pub_core_debuginfo.h -@@ -93,6 +93,12 @@ +@@ -99,6 +99,12 @@ extern - Bool VG_(get_fnname_no_cxx_demangle) ( Addr a, Char* buf, Int nbuf ); + Bool VG_(get_inst_offset_in_function)( Addr a, /*OUT*/PtrdiffT* offset ); +/* Register/deregister symbols created by JITs. */ +extern @@ -198,7 +198,7 @@ D3UnwindRegs holds the current register values, and is --- include/valgrind.h +++ include/valgrind.h -@@ -3664,6 +3664,10 @@ +@@ -4443,6 +4443,10 @@ /* Querying of debug info. */ VG_USERREQ__MAP_IP_TO_SRCLOC = 0x1701, @@ -209,7 +209,7 @@ /* Disable/enable error reporting level. Takes a single Word arg which is the delta to this thread's error disablement indicator. Hence 1 disables or further -@@ -3828,6 +3832,19 @@ +@@ -4607,6 +4611,19 @@ _qyy_arg1, _qyy_arg2, \ _qyy_arg3, 0) diff --git a/tzcnt-lzcnt-inst.diff b/tzcnt-lzcnt-inst.diff deleted file mode 100644 index 55af851..0000000 --- a/tzcnt-lzcnt-inst.diff +++ /dev/null @@ -1,28 +0,0 @@ -GCC 4.8 emits TZCNT (== REP; BSF), expecting that older CPUs behave -like BSF and on newer CPUs as TZCNT. - -This patch makes the intrstructions known to valgrind. -Cf. https://bugs.kde.org/show_bug.cgi?id=295808 - ---- VEX/priv/guest_amd64_toIR.c.orig 2011-10-26 23:24:49.000000000 +0200 -+++ VEX/priv/guest_amd64_toIR.c 2012-08-17 11:38:20.000000000 +0200 -@@ -17946,11 +17946,17 @@ DisResult disInstr_AMD64_WRK ( - /* =-=-=-=-=-=-=-=-=- BSF/BSR -=-=-=-=-=-=-=-=-=-= */ - - case 0xBC: /* BSF Gv,Ev */ -- if (haveF2orF3(pfx)) goto decode_failure; -+ if (haveF2(pfx)) goto decode_failure; -+ /* Treat TZCNT (= F3 0F BC = REP; BSF) as BSF -+ as required for old cpus - and for new ones as -+ valgrind doesn't handle TZCNT yet. */ - delta = dis_bs_E_G ( vbi, pfx, sz, delta, True ); - break; - case 0xBD: /* BSR Gv,Ev */ -- if (haveF2orF3(pfx)) goto decode_failure; -+ if (haveF2(pfx)) goto decode_failure; -+ /* Treat LZCNT (= F3 0F BD = REP; BSR) as BSR -+ as required for old cpus - and for new ones as -+ valgrind doesn't handle LZCNT yet. */ - delta = dis_bs_E_G ( vbi, pfx, sz, delta, False ); - break; - diff --git a/valgrind-3.7.0-automake-1.11.2.patch b/valgrind-3.7.0-automake-1.11.2.patch deleted file mode 100644 index 74fcdfb..0000000 --- a/valgrind-3.7.0-automake-1.11.2.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff -Nur valgrind-3.7.0.orig/coregrind/Makefile.am valgrind-3.7.0/coregrind/Makefile.am ---- valgrind-3.7.0.orig/coregrind/Makefile.am 2011-10-27 12:55:06.000000000 +0200 -+++ valgrind-3.7.0/coregrind/Makefile.am 2012-01-06 17:23:48.717115986 +0100 -@@ -495,7 +495,8 @@ - m_gdbserver/powerpc-altivec64l.xml - - # so as to make sure these get copied into the install tree --pkglib_DATA = $(GDBSERVER_XML_FILES) -+vgdatadir = $(pkglibdir) -+vgdata_DATA = $(GDBSERVER_XML_FILES) - - # so as to make sure these get copied into the tarball - EXTRA_DIST += $(GDBSERVER_XML_FILES) -diff -Nur valgrind-3.7.0.orig/Makefile.am valgrind-3.7.0/Makefile.am ---- valgrind-3.7.0.orig/Makefile.am 2011-10-26 23:24:45.000000000 +0200 -+++ valgrind-3.7.0/Makefile.am 2012-01-06 17:23:17.445114847 +0100 -@@ -61,7 +61,8 @@ - # default.supp, as it is built from the base .supp files at compile-time. - dist_noinst_DATA = $(SUPP_FILES) - --pkglib_DATA = default.supp -+vgdatadir = $(pkglibdir) -+vgdata_DATA = default.supp - - pkgconfigdir = $(libdir)/pkgconfig - pkgconfig_DATA = valgrind.pc diff --git a/valgrind-3.7.0.tar.bz2 b/valgrind-3.7.0.tar.bz2 deleted file mode 100644 index de16982..0000000 --- a/valgrind-3.7.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:5d62c0330f1481fe2c593249192fa68ff454c19c34343978cc9ce91aa324cbf6 -size 6624216 diff --git a/valgrind-3.8.0.tar.bz2 b/valgrind-3.8.0.tar.bz2 new file mode 100644 index 0000000..b5e6517 --- /dev/null +++ b/valgrind-3.8.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fd16585f209712642ab6baa2b5c57ec1b879ab2ac4653828d82bb7f86ba7208c +size 7961355 diff --git a/valgrind.changes b/valgrind.changes index 553e4c9..696a15d 100644 --- a/valgrind.changes +++ b/valgrind.changes @@ -1,3 +1,119 @@ +------------------------------------------------------------------- +Wed Sep 5 15:19:09 UTC 2012 - dmueller@suse.com + +- update to 3.8.0: +* Support for MIPS32 platforms running Linux. Valgrind has been + tested on MIPS32 and MIPS32r2 platforms running different Debian + Squeeze and MeeGo distributions. Both little-endian and big-endian + cores are supported. The tools Memcheck, Massif and Lackey have + been tested and are known to work. See README.mips for more details. + +* Preliminary support for Android running on x86. + +* Preliminary (as-yet largely unusable) support for MacOSX 10.8. + +* Support for Intel AVX instructions and for AES instructions. This + support is available only for 64 bit code. + +* Support for POWER Decimal Floating Point instructions. + +* Non-libc malloc implementations are now supported. This is useful + for tools that replace malloc (Memcheck, Massif, DRD, Helgrind). + Using the new option --soname-synonyms, such tools can be informed + that the malloc implementation is either linked statically into the + executable, or is present in some other shared library different + from libc.so. This makes it possible to process statically linked + programs, and programs using other malloc libraries, for example + TCMalloc or JEMalloc. + +* For tools that provide their own replacement for malloc et al, the + option --redzone-size= allows users to specify the size of + the padding blocks (redzones) added before and after each client + allocated block. Smaller redzones decrease the memory needed by + Valgrind. Bigger redzones increase the chance to detect blocks + overrun or underrun. Prior to this change, the redzone size was + hardwired to 16 bytes in Memcheck. +* Memcheck: + + - The leak_check GDB server monitor command now can + control the maximum nr of loss records to output. + + - Reduction of memory use for applications allocating + many blocks and/or having many partially defined bytes. + + - Addition of GDB server monitor command 'block_list' that lists + the addresses/sizes of the blocks of a leak search loss record. + + - Addition of GDB server monitor command 'who_points_at' that lists + the locations pointing at a block. + + - If a redzone size > 0 is given, VALGRIND_MALLOCLIKE_BLOCK now will + detect an invalid access of these redzones, by marking them + noaccess. Similarly, if a redzone size is given for a memory + pool, VALGRIND_MEMPOOL_ALLOC will mark the redzones no access. + This still allows to find some bugs if the user has forgotten to + mark the pool superblock noaccess. + + - Performance of memory leak check has been improved, especially in + cases where there are many leaked blocks and/or many suppression + rules used to suppress leak reports. + + - Reduced noise (false positive) level on MacOSX 10.6/10.7, due to + more precise analysis, which is important for LLVM/Clang + generated code. This is at the cost of somewhat reduced + performance. Note there is no change to analysis precision or + costs on Linux targets. + +* DRD: + + - Added even more facilities that can help finding the cause of a data + race, namely the command-line option --ptrace-addr and the macro + DRD_STOP_TRACING_VAR(x). More information can be found in the manual. + + - Fixed a subtle bug that could cause false positive data race reports. + +* The C++ demangler has been updated so as to work well with C++ + compiled by up to at least g++ 4.6. + +* Tool developers can make replacement/wrapping more flexible thanks + to the new option --soname-synonyms. This was reported above, but + in fact is very general and applies to all function + replacement/wrapping, not just to malloc-family functions. + +* Round-robin scheduling of threads can be selected, using the new + option --fair-sched= yes. Prior to this change, the pipe-based + thread serialisation mechanism (which is still the default) could + give very unfair scheduling. --fair-sched=yes improves + responsiveness of interactive multithreaded applications, and + improves repeatability of results from the thread checkers Helgrind + and DRD. + +* For tool developers: support to run Valgrind on Valgrind has been + improved. We can now routinely Valgrind on Helgrind or Memcheck. + +* gdbserver now shows the float shadow registers as integer + rather than float values, as the shadow values are mostly + used as bit patterns. + +* Increased limit for the --num-callers command line flag to 500. + +* Performance improvements for error matching when there are many + suppression records in use. + +* Improved support for DWARF4 debugging information (bug 284184). + +* Initial support for DWZ compressed Dwarf debug info. + +* Improved control over the IR optimiser's handling of the tradeoff + between performance and precision of exceptions. Specifically, + --vex-iropt-precise-memory-exns has been removed and replaced by + --vex-iropt-register-updates, with extended functionality. This + allows the Valgrind gdbserver to always show up to date register + values to GDB. + +* Modest performance gains through the use of translation chaining for + JIT-generated code. + ------------------------------------------------------------------- Fri Aug 17 09:39:39 UTC 2012 - burnus@net-b.de diff --git a/valgrind.spec b/valgrind.spec index c988a89..a5e2d7a 100644 --- a/valgrind.spec +++ b/valgrind.spec @@ -33,17 +33,12 @@ Summary: Memory Management Debugger License: GPL-2.0+ Group: Development/Tools/Debuggers BuildRoot: %{_tmppath}/%{name}-%{version}-build -Version: 3.7.0 +Version: 3.8.0 Release: 0 Source0: %{name}-%{version}.tar.bz2 # svn di svn://svn.valgrind.org/valgrind/tags/VALGRIND_3_5_0 svn://svn.valgrind.org/valgrind/branches/VALGRIND_3_5_BRANCH > 3_5_BRANCH.diff # svn di svn://svn.valgrind.org/vex/tags/VEX_3_5_0 svn://svn.valgrind.org/vex/branches/VEX_3_5_BRANCH > VEX_3_5_BRANCH.diff Patch1: jit-register-unregister.diff -Patch2: glibc.diff -# added automake 1.11.2 patch https://bugs.kde.org/show_bug.cgi?id=290719 algrind-3.7.0-automake-1.11.2.patch -Patch3: valgrind-3.7.0-automake-1.11.2.patch -# added GCC 4.8 patch https://bugs.kde.org/show_bug.cgi?id=295808 -Patch4: tzcnt-lzcnt-inst.diff # during building the major version of glibc is built into the suppression file %define glibc_main_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f1) %define glibc_major_version %(getconf GNU_LIBC_VERSION | cut -d' ' -f2 | cut -d. -f2) @@ -54,7 +49,7 @@ Provides: valgrind-devel = %version %endif Provides: callgrind = %version Obsoletes: callgrind < %version -ExclusiveArch: %ix86 x86_64 ppc ppc64 s390x armv7hl +ExclusiveArch: %ix86 x86_64 ppc ppc64 s390x armv7l armv7hl %if %suse_version > 1100 %define building_docs 1 %else @@ -141,9 +136,6 @@ Authors: cd VEX cd .. %patch1 -%patch2 -%patch3 -p1 -%patch4 %build %ifarch %arm @@ -194,7 +186,7 @@ cp -a README* NEWS AUTHORS COPYING COPYING.DOCS $RPM_BUILD_ROOT/%_defaultdocdir/ %ifarch ppc64 %_libdir/valgrind/*-ppc64-linux %endif -%ifarch s390 s390x +%ifarch s390x %_libdir/valgrind/*-s390x-linux %endif %ifarch %arm @@ -239,6 +231,31 @@ cp -a README* NEWS AUTHORS COPYING COPYING.DOCS $RPM_BUILD_ROOT/%_defaultdocdir/ %_libdir/valgrind/powerpc-altivec32l.xml %_libdir/valgrind/powerpc-altivec64l-valgrind.xml %_libdir/valgrind/powerpc-altivec64l.xml +%_libdir/valgrind/64bit-avx-valgrind-s*.xml +%_libdir/valgrind/64bit-avx.xml +%_libdir/valgrind/amd64-avx-coresse-valgrind.xml +%_libdir/valgrind/amd64-avx-coresse.xml +%_libdir/valgrind/amd64-avx-linux-valgrind.xml +%_libdir/valgrind/amd64-avx-linux.xml +%_libdir/valgrind/mips-cp0-valgrind-s*.xml +%_libdir/valgrind/mips-cp0.xml +%_libdir/valgrind/mips-cpu-valgrind-s*.xml +%_libdir/valgrind/mips-cpu.xml +%_libdir/valgrind/mips-fpu-valgrind-s*.xml +%_libdir/valgrind/mips-fpu.xml +%_libdir/valgrind/mips-linux-valgrind.xml +%_libdir/valgrind/mips-linux.xml +%_libdir/valgrind/power-core-valgrind-s*.xml +%_libdir/valgrind/s390-acr-valgrind-s*.xml +%_libdir/valgrind/s390-acr.xml +%_libdir/valgrind/s390-fpr-valgrind-s*.xml +%_libdir/valgrind/s390-fpr.xml +%_libdir/valgrind/s390x-core64-valgrind-s*.xml +%_libdir/valgrind/s390x-core64.xml +%_libdir/valgrind/s390x-generic-valgrind.xml +%_libdir/valgrind/s390x-generic.xml +%_libdir/valgrind/s390x-linux64-valgrind-s*.xml +%_libdir/valgrind/s390x-linux64.xml %if %suse_version > 1100