Accepting request 132873 from devel:tools
- 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=<number> 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 OBS-URL: https://build.opensuse.org/request/show/132873 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/valgrind?expand=0&rev=70
This commit is contained in:
commit
189a0085e0
37
glibc.diff
37
glibc.diff
@ -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
|
@ -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)
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5d62c0330f1481fe2c593249192fa68ff454c19c34343978cc9ce91aa324cbf6
|
||||
size 6624216
|
3
valgrind-3.8.0.tar.bz2
Normal file
3
valgrind-3.8.0.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:fd16585f209712642ab6baa2b5c57ec1b879ab2ac4653828d82bb7f86ba7208c
|
||||
size 7961355
|
116
valgrind.changes
116
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=<number> 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
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user