|
From: Yeshurun, M. <mei...@in...> - 2005-11-27 20:11:08
|
Thanks for all these wonderful improvements!! (Can't wait to try it out
:)
-----Original Message-----
From: val...@li...
[mailto:val...@li...] On Behalf Of Julian
Seward
Sent: Sunday, November 27, 2005 8:27 PM
To: val...@li...
Subject: [Valgrind-users] Valgrind-3.1.0 for {x86,amd64,ppc32}-linux is
available
We are pleased to announce a new release of Valgrind, version 3.1.0.
It is available from http://www.valgrind.org.
Valgrind is an open-source suite of simulation based debugging and
profiling tools. With the tools that come with Valgrind, you can
automatically detect many memory management bugs, avoiding hours of
frustrating bug-hunting, and make your code more stable. You can also
perform detailed time and space profiling to help speed up and slim
down your programs.
3.1.0 improves on 3.0.0 in three major areas. AMD64 support is much
improved, with transparent interworking of 32- and 64-bit executables.
32-bit PowerPC is now officially supported and is eminently usable.
Finally, memory management for all platforms has been overhauled,
allowing larger programs to run successfully.
There are many other refinements and bug fixes. See the attached
release notes for details.
In parallel with the 3.1.0 release, new versions of the Callgrind
profiling tool (0.10.1) and Valkyrie GUI (1.1.0) are available from
http://www.valgrind.org/downloads/current.html.
Many thanks to all those who contribute to Valgrind's development.
This release represents a great deal of time, energy and effort on the
part of many people.
Happy (and productive) debugging and profiling,
-- The Valgrind Developers
Release 3.1.0 (25 November 2005)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3.1.0 is a feature release with a number of significant improvements:
AMD64 support is much improved, PPC32 support is good enough to be
usable, and the handling of memory management and address space is
much more robust. In detail:
- AMD64 support is much improved. The 64-bit vs. 32-bit issues in
3.0.X have been resolved, and it should "just work" now in all
cases. On AMD64 machines both 64-bit and 32-bit versions of
Valgrind are built. The right version will be invoked
automatically, even when using --trace-children and mixing execution
between 64-bit and 32-bit executables. Also, many more instructions
are supported.
- PPC32 support is now good enough to be usable. It should work with
all tools, but please let us know if you have problems. Three
classes of CPUs are supported: integer only (no FP, no Altivec),
which covers embedded PPC uses, integer and FP but no Altivec
(G3-ish), and CPUs capable of Altivec too (G4, G5).
- Valgrind's address space management has been overhauled. As a
result, Valgrind should be much more robust with programs that use
large amounts of memory. There should be many fewer "memory
exhausted" messages, and debug symbols should be read correctly on
large (eg. 300MB+) executables. On 32-bit machines the full address
space available to user programs (usually 3GB or 4GB) can be fully
utilised. On 64-bit machines up to 32GB of space is usable; when
using Memcheck that means your program can use up to about 14GB.
A side effect of this change is that Valgrind is no longer protected
against wild writes by the client. This feature was nice but relied
on the x86 segment registers and so wasn't portable.
- Most users should not notice, but as part of the address space
manager change, the way Valgrind is built has been changed. Each
tool is now built as a statically linked stand-alone executable,
rather than as a shared object that is dynamically linked with the
core. The "valgrind" program invokes the appropriate tool depending
on the --tool option. This slightly increases the amount of disk
space used by Valgrind, but it greatly simplified many things and
removed Valgrind's dependence on glibc.
Please note that Addrcheck and Helgrind are still not working. Work
is underway to reinstate them (or equivalents). We apologise for the
inconvenience.
Other user-visible changes:
- The --weird-hacks option has been renamed --sim-hints.
- The --time-stamp option no longer gives an absolute date and time.
It now prints the time elapsed since the program began.
- It should build with gcc-2.96.
- Valgrind can now run itself (see README_DEVELOPERS for how).
This is not much use to you, but it means the developers can now
profile Valgrind using Cachegrind. As a result a couple of
performance bad cases have been fixed.
- The XML output format has changed slightly. See
docs/internals/xml-output.txt.
- Core dumping has been reinstated (it was disabled in 3.0.0 and 3.0.1).
If your program crashes while running under Valgrind, a core file with
the name "vgcore.<pid>" will be created (if your settings allow core
file creation). Note that the floating point information is not all
there. If Valgrind itself crashes, the OS will create a normal core
file.
The following are some user-visible changes that occurred in earlier
versions that may not have been announced, or were announced but not
widely noticed. So we're mentioning them now.
- The --tool flag is optional once again; if you omit it, Memcheck
is run by default.
- The --num-callers flag now has a default value of 12. It was
previously 4.
- The --xml=3Dyes flag causes Valgrind's output to be produced in XML
format. This is designed to make it easy for other programs to
consume Valgrind's output. The format is described in the file
docs/internals/xml-format.txt.
- The --gen-suppressions flag supports an "all" value that causes every
suppression to be printed without asking.
- The --log-file option no longer puts "pid" in the filename, eg. the
old name "foo.pid12345" is now "foo.12345".
- There are several graphical front-ends for Valgrind, such as Valkyrie,
Alleyoop and Valgui. See http://www.valgrind.org/downloads/guis.html
for a list.
BUGS FIXED:
109861 amd64 hangs at startup
110301 ditto
111554 valgrind crashes with Cannot allocate memory
111809 Memcheck tool doesn't start java
111901 cross-platform run of cachegrind fails on opteron
113468 (vgPlain_mprotect_range): Assertion 'r !=3D -1' failed.
92071 Reading debugging info uses too much memory
109744 memcheck loses track of mmap from direct ld-linux.so.2
110183 tail of page with _end
82301 FV memory layout too rigid
98278 Infinite recursion possible when allocating memory
108994 Valgrind runs out of memory due to 133x overhead
115643 valgrind cannot allocate memory
105974 vg_hashtable.c static hash table
109323 ppc32: dispatch.S uses Altivec insn, which doesn't work on
POWER.=20
109345 ptrace_setregs not yet implemented for ppc
110831 Would like to be able to run against both 32 and 64 bit=20
binaries on AMD64
110829 =3D=3D 110831
111781 compile of valgrind-3.0.0 fails on my linux (gcc 2.X prob)
112670 Cachegrind: cg_main.c:486 (handleOneStatement ...
112941 vex x86: 0xD9 0xF4 (fxtract)
110201 =3D=3D 112941
113015 vex amd64->IR: 0xE3 0x14 0x48 0x83 (jrcxz)
113126 Crash with binaries built with -gstabs+/-ggdb
104065 =3D=3D 113126
115741 =3D=3D 113126
113403 Partial SSE3 support on x86
113541 vex: Grp5(x86) (alt encoding inc/dec) case 1
113642 valgrind crashes when trying to read debug information
113810 vex x86->IR: 66 0F F6 (66 + PSADBW =3D=3D SSE PSADBW)
113796 read() and write() do not work if buffer is in shared memory
113851 vex x86->IR: (pmaddwd): 0x66 0xF 0xF5 0xC7
114366 vex amd64 cannnot handle __asm__( "fninit" )
114412 vex amd64->IR: 0xF 0xAD 0xC2 0xD3 (128-bit shift, shrdq?)
114455 vex amd64->IR: 0xF 0xAC 0xD0 0x1 (also shrdq)
115590: amd64->IR: 0x67 0xE3 0x9 0xEB (address size override)
115953 valgrind svn r5042 does not build with parallel make (-j3)
116057 maximum instruction size - VG_MAX_INSTR_SZB too small?
116483 shmat failes with invalid argument
102202 valgrind crashes when realloc'ing until out of memory
109487 =3D=3D 102202
110536 =3D=3D 102202
112687 =3D=3D 102202
111724 vex amd64->IR: 0x41 0xF 0xAB (more BT{,S,R,C} fun n games)
111748 vex amd64->IR: 0xDD 0xE2 (fucom)
111785 make fails if CC contains spaces
111829 vex x86->IR: sbb AL, Ib
111851 vex x86->IR: 0x9F 0x89 (lahf/sahf)
112031 iopl on AMD64 and README_MISSING_SYSCALL_OR_IOCTL update
112152 code generation for Xin_MFence on x86 with SSE0 subarch
112167 =3D=3D 112152
112789 =3D=3D 112152
112199 naked ar tool is used in vex makefile
112501 vex x86->IR: movq (0xF 0x7F 0xC1 0xF) (mmx MOVQ)
113583 =3D=3D 112501
112538 memalign crash
113190 Broken links in docs/html/
113230 Valgrind sys_pipe on x86-64 wrongly thinks file descriptors
should be 64bit
113996 vex amd64->IR: fucomp (0xDD 0xE9)
114196 vex x86->IR: out %eax,(%dx) (0xEF 0xC9 0xC3 0x90)
114289 Memcheck fails to intercept malloc when used in an uclibc
environment
114756 mbind syscall support
114757 Valgrind dies with assertion: Assertion 'noLargerThan > 0'
failed
114563 stack tracking module not informed when valgrind switches
threads
114564 clone() and stacks
114565 =3D=3D 114564
115496 glibc crashes trying to use sysinfo page
116200 enable fsetxattr, fgetxattr, and fremovexattr for amd64
(3.1.0RC1: 20 November 2005, vex r1466, valgrind r5224).
(3.1.0: 26 November 2005, vex r1471, valgrind r5235).
-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log
files
for problems? Stop! Download the new AJAX search engine that makes
searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=3D7637&alloc_id=3D16865&op=3Dclick
_______________________________________________
Valgrind-users mailing list
Val...@li...
https://lists.sourceforge.net/lists/listinfo/valgrind-users
|