PERFORCE change 168881 for review

Stanislav Sedov stas at FreeBSD.org
Fri Sep 25 13:48:31 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=168881

Change 168881 by stas at stas_yandex on 2009/09/25 13:48:13

	- Integrate.

Affected files ...

.. //depot/projects/valgrind/Makefile.am#15 integrate
.. //depot/projects/valgrind/NEWS#4 integrate
.. //depot/projects/valgrind/VEX/Makefile-gcc#2 integrate
.. //depot/projects/valgrind/VEX/priv/guest_generic_bb_to_IR.c#2 integrate
.. //depot/projects/valgrind/VEX/priv/main_main.c#2 integrate
.. //depot/projects/valgrind/VEX/useful/smchash.c#1 branch
.. //depot/projects/valgrind/cachegrind/docs/cg-manual.xml#5 integrate
.. //depot/projects/valgrind/cachegrind/tests/filter_stderr#5 integrate
.. //depot/projects/valgrind/callgrind/callgrind_annotate.in#4 integrate
.. //depot/projects/valgrind/callgrind/dump.c#5 integrate
.. //depot/projects/valgrind/callgrind/main.c#4 integrate
.. //depot/projects/valgrind/callgrind/tests/filter_stderr#4 integrate
.. //depot/projects/valgrind/callgrind/threads.c#4 integrate
.. //depot/projects/valgrind/configure.in#16 integrate
.. //depot/projects/valgrind/coregrind/launcher-linux.c#6 integrate
.. //depot/projects/valgrind/coregrind/m_debuginfo/debuginfo.c#9 integrate
.. //depot/projects/valgrind/coregrind/m_demangle/cp-demangle.c#5 integrate
.. //depot/projects/valgrind/coregrind/m_errormgr.c#5 integrate
.. //depot/projects/valgrind/coregrind/m_main.c#15 integrate
.. //depot/projects/valgrind/coregrind/m_signals.c#13 integrate
.. //depot/projects/valgrind/coregrind/m_stacktrace.c#6 integrate
.. //depot/projects/valgrind/coregrind/m_syswrap/priv_syswrap-darwin.h#2 integrate
.. //depot/projects/valgrind/coregrind/m_syswrap/syswrap-darwin.c#2 integrate
.. //depot/projects/valgrind/coregrind/m_tooliface.c#4 integrate
.. //depot/projects/valgrind/coregrind/m_xarray.c#4 integrate
.. //depot/projects/valgrind/coregrind/pub_core_tooliface.h#4 integrate
.. //depot/projects/valgrind/docs/internals/release-HOWTO.txt#4 integrate
.. //depot/projects/valgrind/docs/internals/xml-output-protocol4.txt#2 integrate
.. //depot/projects/valgrind/docs/xml/manual-core.xml#5 integrate
.. //depot/projects/valgrind/docs/xml/vg-entities.xml#4 integrate
.. //depot/projects/valgrind/drd/docs/drd-manual.xml#3 integrate
.. //depot/projects/valgrind/drd/drd.h#3 integrate
.. //depot/projects/valgrind/drd/drd_clientreq.c#3 integrate
.. //depot/projects/valgrind/drd/drd_error.c#3 integrate
.. //depot/projects/valgrind/drd/drd_error.h#3 integrate
.. //depot/projects/valgrind/drd/tests/Makefile.am#4 integrate
.. //depot/projects/valgrind/drd/tests/annotate_hbefore.stderr.exp#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_hbefore.vgtest#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_rw.c#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_rw.stderr.exp#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_rw.vgtest#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_rw2.stderr.exp#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_rw2.vgtest#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_write.c#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_write.stderr.exp#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_write.vgtest#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_write2.stderr.exp#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_ignore_write2.vgtest#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_publish_hg.c#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_publish_hg.stderr.exp#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_publish_hg.vgtest#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_rwlock.c#2 integrate
.. //depot/projects/valgrind/drd/tests/annotate_rwlock_hg.stderr.exp#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_rwlock_hg.vgtest#1 branch
.. //depot/projects/valgrind/drd/tests/annotate_trace_memory.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/atomic_var.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/bar_bad.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/compare_error_count_with#1 branch
.. //depot/projects/valgrind/drd/tests/filter_stderr#4 integrate
.. //depot/projects/valgrind/drd/tests/fp_race.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/hg03_inherit.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/hg04_race.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/hg05_race2.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/hg05_race2.stderr.exp-powerpc#3 integrate
.. //depot/projects/valgrind/drd/tests/hold_lock_1.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/hold_lock_2.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/pth_barrier_race.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/pth_barrier_reinit.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/pth_cancel_locked.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/pth_cancel_locked.stderr.exp-darwin#2 integrate
.. //depot/projects/valgrind/drd/tests/pth_cond_race.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/pth_inconsistent_cond_wait.stderr.exp1#2 integrate
.. //depot/projects/valgrind/drd/tests/pth_inconsistent_cond_wait.stderr.exp2#2 integrate
.. //depot/projects/valgrind/drd/tests/pth_mutex_reinit.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/qt4_rwlock.cpp#3 integrate
.. //depot/projects/valgrind/drd/tests/recursive_mutex.stderr.exp-darwin#2 integrate
.. //depot/projects/valgrind/drd/tests/recursive_mutex.stderr.exp-linux#2 integrate
.. //depot/projects/valgrind/drd/tests/rwlock_race.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/rwlock_race.stderr.exp2#3 integrate
.. //depot/projects/valgrind/drd/tests/rwlock_type_checking.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/sem_as_mutex.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/sem_as_mutex3.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/sem_open.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/sem_open3.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/tc01_simple_race.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/tc04_free_lock.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/tc09_bad_unlock.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8#3 integrate
.. //depot/projects/valgrind/drd/tests/tc10_rec_lock.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/tc12_rwl_trivial.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/tc16_byterace.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/tc18_semabuse.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/tc19_shadowmem.stderr.exp-32bit#2 integrate
.. //depot/projects/valgrind/drd/tests/tc19_shadowmem.stderr.exp-64bit#2 integrate
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap.stderr.exp-glibc2.3#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap.stderr.exp-glibc2.5#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap.stderr.exp-glibc2.5-ppc#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap.stderr.exp-glibc2.8#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap.vgtest#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8#3 delete
.. //depot/projects/valgrind/drd/tests/tc20_verifywrap2.vgtest#3 delete
.. //depot/projects/valgrind/drd/tests/tc22_exit_w_lock.stderr.exp-32bit#3 integrate
.. //depot/projects/valgrind/drd/tests/tc22_exit_w_lock.stderr.exp-64bit#3 integrate
.. //depot/projects/valgrind/drd/tests/tc23_bogus_condwait.stderr.exp-darwin#2 integrate
.. //depot/projects/valgrind/drd/tests/tc23_bogus_condwait.stderr.exp-linux-ppc#2 integrate
.. //depot/projects/valgrind/drd/tests/tc23_bogus_condwait.stderr.exp-linux-x86#2 integrate
.. //depot/projects/valgrind/drd/tests/thread_name.stderr.exp#2 integrate
.. //depot/projects/valgrind/drd/tests/trylock.stderr.exp#3 integrate
.. //depot/projects/valgrind/drd/tests/tsan_unittest.cpp#2 integrate
.. //depot/projects/valgrind/exp-bbv/tests/amd64-linux/fldcw_check.S#2 integrate
.. //depot/projects/valgrind/exp-bbv/tests/amd64-linux/ll.S#2 integrate
.. //depot/projects/valgrind/exp-bbv/tests/x86-linux/ll.S#2 integrate
.. //depot/projects/valgrind/exp-ptrcheck/pc_common.c#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/pc_common.h#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/pc_main.c#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/bad_percentify.stderr.exp-glibc28-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/base.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/base.stderr.exp-glibc25-x86#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/ccc.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/ccc.stderr.exp-glibc27-x86#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/ccc.stderr.exp-glibc28-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/filter_stderr#4 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/fp.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/globalerr.stderr.exp-glibc28-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/hackedbz2.stderr.exp-glibc28-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/hp_bounds.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/hp_dangle.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/hsg.stderr.exp#2 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/idiv.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/imul.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/justify.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/mm.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/neg.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/not.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/or.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/partial_bad.stderr.exp-glibc25-x86#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/partial_good.stderr.exp-glibc25-x86#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/preen_invars.stderr.exp-glibc28-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/pth_create.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/pth_specific.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/realloc.stderr.exp-glibc25-x86#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/stackerr.stderr.exp-glibc27-x86#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/stackerr.stderr.exp-glibc28-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/strlen_bad.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/sub.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/supp.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/suppgen.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/syscall.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/unaligned.stderr.exp-glibc25-x86#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/xor.stderr.exp#3 integrate
.. //depot/projects/valgrind/exp-ptrcheck/tests/zero.stderr.exp#3 integrate
.. //depot/projects/valgrind/glibc-2.X-drd.supp#3 integrate
.. //depot/projects/valgrind/helgrind/docs/hg-manual.xml#4 integrate
.. //depot/projects/valgrind/helgrind/helgrind.h#5 integrate
.. //depot/projects/valgrind/helgrind/hg_errors.c#3 integrate
.. //depot/projects/valgrind/helgrind/hg_errors.h#3 integrate
.. //depot/projects/valgrind/helgrind/hg_main.c#5 integrate
.. //depot/projects/valgrind/helgrind/libhb_core.c#3 integrate
.. //depot/projects/valgrind/helgrind/tests/Makefile.am#6 integrate
.. //depot/projects/valgrind/helgrind/tests/annotate_hbefore.c#1 branch
.. //depot/projects/valgrind/helgrind/tests/annotate_hbefore.stderr.exp#1 branch
.. //depot/projects/valgrind/helgrind/tests/annotate_hbefore.stdout.exp#1 branch
.. //depot/projects/valgrind/helgrind/tests/annotate_hbefore.vgtest#1 branch
.. //depot/projects/valgrind/helgrind/tests/annotate_rwlock.c#1 branch
.. //depot/projects/valgrind/helgrind/tests/annotate_rwlock.stderr.exp#1 branch
.. //depot/projects/valgrind/helgrind/tests/annotate_rwlock.stdout.exp#1 branch
.. //depot/projects/valgrind/helgrind/tests/annotate_rwlock.vgtest#1 branch
.. //depot/projects/valgrind/helgrind/tests/bar_bad.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/hg02_deadlock.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/hg03_inherit.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/hg04_race.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/hg05_race2.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/pth_barrier1.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/pth_barrier2.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/pth_barrier3.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/rwlock_race.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc01_simple_race.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc04_free_lock.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc05_simple_race.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc06_two_races.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc23-amd64#3 integrate
.. //depot/projects/valgrind/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/helgrind/tests/tc09_bad_unlock.stderr.exp-glibc25-x86#3 integrate
.. //depot/projects/valgrind/helgrind/tests/tc10_rec_lock.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc12_rwl_trivial.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc12_rwl_trivial.stderr.exp-darwin970#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc13_laog1.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc14_laog_dinphils.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc15_laog_lockdel.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc16_byterace.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc18_semabuse.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/helgrind/tests/tc18_semabuse.stderr.exp-glibc28-amd64#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc19_shadowmem.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc20_verifywrap.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/helgrind/tests/tc20_verifywrap.stderr.exp-glibc27-amd64#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc20_verifywrap.vgtest#3 integrate
.. //depot/projects/valgrind/helgrind/tests/tc21_pthonce.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc22_exit_w_lock.stderr.exp#2 integrate
.. //depot/projects/valgrind/helgrind/tests/tc22_exit_w_lock.vgtest#3 integrate
.. //depot/projects/valgrind/helgrind/tests/tc23_bogus_condwait.stderr.exp#2 integrate
.. //depot/projects/valgrind/include/pub_tool_basics.h#7 integrate
.. //depot/projects/valgrind/include/pub_tool_libcprint.h#4 integrate
.. //depot/projects/valgrind/include/pub_tool_stacktrace.h#4 integrate
.. //depot/projects/valgrind/include/pub_tool_tooliface.h#4 integrate
.. //depot/projects/valgrind/include/pub_tool_xarray.h#3 integrate
.. //depot/projects/valgrind/include/vki/vki-darwin.h#2 integrate
.. //depot/projects/valgrind/lackey/tests/filter_stderr#4 integrate
.. //depot/projects/valgrind/massif/tests/filter_stderr#5 integrate
.. //depot/projects/valgrind/memcheck/docs/mc-manual.xml#4 integrate
.. //depot/projects/valgrind/memcheck/mc_errors.c#3 integrate
.. //depot/projects/valgrind/memcheck/mc_include.h#4 integrate
.. //depot/projects/valgrind/memcheck/mc_leakcheck.c#4 integrate
.. //depot/projects/valgrind/memcheck/mc_main.c#5 integrate
.. //depot/projects/valgrind/memcheck/mc_malloc_wrappers.c#4 integrate
.. //depot/projects/valgrind/memcheck/tests/Makefile.am#6 integrate
.. //depot/projects/valgrind/memcheck/tests/addressable.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/amd64/defcfaexpr.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_basic.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_basic.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_basic.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_fpu.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_fpu.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_fpu.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_mmx.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_mmx.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_mmx.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_sse.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_sse.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_sse.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_sse2.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_sse2.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/insn_sse2.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/amd64/xor-undef-amd64.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/badaddrvalue.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/badfree-2trace.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/badfree.c#3 integrate
.. //depot/projects/valgrind/memcheck/tests/badfree.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/badjump.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/badjump2.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/badloop.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/badpoll.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/badrw.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/brk2.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/buflen_check.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/clientperm.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/custom_alloc.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/darwin/aio.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/darwin/scalar.c#2 integrate
.. //depot/projects/valgrind/memcheck/tests/darwin/scalar.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/darwin/scalar_nocancel.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/describe-block.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/doublefree.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/erringfds.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/error_counts.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/errs1.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/execve.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/execve2.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/exitprog.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/filter_allocs#5 integrate
.. //depot/projects/valgrind/memcheck/tests/fprw.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/fwrite.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/inits.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/inline.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-cases-full.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-cycle.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-pool-0.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-pool-1.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-pool-2.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-pool-3.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-pool-4.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-pool-5.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/leak-tree.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/linux-syscalls-2007.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/linux-syslog-syscall.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/linux/brk.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/linux/capget.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/linux/lsframe1.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/linux/lsframe2.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/linux/timerfd-syscall.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/linux/with-space.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/long_namespace_xml.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/mallinfo.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/malloc1.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/malloc2.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/manuel1.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/manuel2.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/manuel2.stderr.exp64#3 integrate
.. //depot/projects/valgrind/memcheck/tests/manuel3.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/memalign_test.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/memcmptest.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/memcmptest.stderr.exp2#3 integrate
.. //depot/projects/valgrind/memcheck/tests/mempool.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/metadata.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/mismatches.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/new_override.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/noisy_child.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/origin1-yes.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/origin2-not-quite.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/origin3-no.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/origin4-many.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/origin5-bz2.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/memcheck/tests/origin5-bz2.stderr.exp-glibc25-x86#3 integrate
.. //depot/projects/valgrind/memcheck/tests/origin5-bz2.stderr.exp-glibc27-ppc64#3 integrate
.. //depot/projects/valgrind/memcheck/tests/origin6-fp.stderr.exp-glibc25-amd64#3 integrate
.. //depot/projects/valgrind/memcheck/tests/origin6-fp.stderr.exp-glibc27-ppc64#3 integrate
.. //depot/projects/valgrind/memcheck/tests/overlap.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/partial_load_dflt.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/partial_load_dflt.stderr.exp64#4 integrate
.. //depot/projects/valgrind/memcheck/tests/partial_load_ok.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/partial_load_ok.stderr.exp64#4 integrate
.. //depot/projects/valgrind/memcheck/tests/partiallydefinedeq.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/partiallydefinedeq.stderr.exp2#4 integrate
.. //depot/projects/valgrind/memcheck/tests/pointer-trace.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/realloc3.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/sigkill.stderr.exp#4 integrate
.. //depot/projects/valgrind/memcheck/tests/sigkill.stderr.exp-darwin#2 integrate
.. //depot/projects/valgrind/memcheck/tests/signal2.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/strchr.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/strchr.stderr.exp-darwin#2 integrate
.. //depot/projects/valgrind/memcheck/tests/strchr.stderr.exp2#3 integrate
.. //depot/projects/valgrind/memcheck/tests/suppfree.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/trivialleak.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/trivialleak.stderr.exp2#3 integrate
.. //depot/projects/valgrind/memcheck/tests/varinfo1.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/varinfo2.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/varinfo3.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/varinfo4.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/varinfo5.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/varinfo6.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/writev.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/x86-linux/scalar.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/x86-linux/scalar_exit_group.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/x86-linux/scalar_supp.stderr.exp#2 integrate
.. //depot/projects/valgrind/memcheck/tests/x86/insn_basic.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_basic.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_basic.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_cmov.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_cmov.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_cmov.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_fpu.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_fpu.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_fpu.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_mmx.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_mmx.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_mmx.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_mmxext.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_mmxext.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_mmxext.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_sse.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_sse.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_sse.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_sse2.stderr.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_sse2.stdout.exp#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/insn_sse2.vgtest#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/pushfpopf.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/x86/sse_memory.c#1 branch
.. //depot/projects/valgrind/memcheck/tests/x86/xor-undef-x86.stderr.exp#3 integrate
.. //depot/projects/valgrind/memcheck/tests/xml1.c#3 integrate
.. //depot/projects/valgrind/memcheck/tests/xml1.stderr.exp#4 integrate
.. //depot/projects/valgrind/none/tests/darwin/Makefile.am#2 integrate
.. //depot/projects/valgrind/none/tests/darwin/access_extended.c#1 branch
.. //depot/projects/valgrind/none/tests/darwin/access_extended.stderr.exp#1 branch
.. //depot/projects/valgrind/none/tests/darwin/access_extended.vgtest#1 branch
.. //depot/projects/valgrind/none/tests/filter_stderr#4 integrate
.. //depot/projects/valgrind/none/tests/ppc32/tw.c#1 branch
.. //depot/projects/valgrind/none/tests/ppc32/twi.c#1 branch
.. //depot/projects/valgrind/none/tests/ppc64/jm-insns.c#1 branch

Differences ...

==== //depot/projects/valgrind/Makefile.am#15 (text+ko) ====

@@ -17,18 +17,10 @@
 
 # DDD: once all tools work on Darwin, TEST_TOOLS and TEST_EXP_TOOLS can be
 # replaced with TOOLS and EXP_TOOLS.
+TEST_TOOLS = $(TOOLS)
 if !VGCONF_OS_IS_DARWIN
-  TEST_TOOLS = $(TOOLS)
   TEST_EXP_TOOLS = $(EXP_TOOLS)
 else
-  TEST_TOOLS =	memcheck \
-		cachegrind \
-		callgrind \
-		massif \
-		lackey \
-		none \
-		drd
-
   TEST_EXP_TOOLS = exp-bbv
 endif
 
@@ -56,7 +48,7 @@
 	glibc-2.2-LinuxThreads-helgrind.supp \
 	glibc-2.X-drd.supp \
 	exp-ptrcheck.supp \
-	darwin9.supp \
+	darwin9.supp darwin9-drd.supp \
 	freebsd.supp
 DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
 

==== //depot/projects/valgrind/NEWS#4 (text+ko) ====

@@ -1,195 +1,568 @@
 
-Release 3.5.0 (???)
+Release 3.5.0 (19 August 2009)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-* Mac OS X is now supported.  (Note that Mac OS X is often called "Darwin"
-  because that is the name of the OS core.)  
+3.5.0 is a feature release with many significant improvements and the
+usual collection of bug fixes.  The main improvement is that Valgrind
+now works on Mac OS X.
+
+This release supports X86/Linux, AMD64/Linux, PPC32/Linux, PPC64/Linux
+and X86/Darwin.  Support for recent distros and toolchain components
+(glibc 2.10, gcc 4.5) has been added.
+
+                    -------------------------
+
+Here is a short summary of the changes.  Details are shown further
+down:
+
+* Support for Mac OS X (10.5.x).
+
+* Improvements and simplifications to Memcheck's leak checker.
+
+* Clarification and simplifications in various aspects of Valgrind's
+  text output.
+
+* XML output for Helgrind and Ptrcheck.
+
+* Performance and stability improvements for Helgrind and DRD.
+
+* Genuinely atomic support for x86/amd64/ppc atomic instructions.
+
+* A new experimental tool, BBV, useful for computer architecture
+  research.
+
+* Improved Wine support, including ability to read Windows PDB
+  debuginfo.
+
+                    -------------------------
+
+Here are details of the above changes, followed by descriptions of
+many other minor changes, and a list of fixed bugs.
+
+
+* Valgrind now runs on Mac OS X.  (Note that Mac OS X is sometimes
+  called "Darwin" because that is the name of the OS core, which is the
+  level that Valgrind works at.)
+
+  Supported systems:
+
+  - It requires OS 10.5.x (Leopard).  Porting to 10.4.x is not planned
+    because it would require work and 10.4 is only becoming less common.
+
+  - 32-bit programs on x86 and AMD64 (a.k.a x86-64) machines are supported
+    fairly well.  For 10.5.x, 32-bit programs are the default even on
+    64-bit machines, so it handles most current programs.
+    
+  - 64-bit programs on x86 and AMD64 (a.k.a x86-64) machines are not
+    officially supported, but simple programs at least will probably work.
+    However, start-up is slow.
 
-  Supported machines:
-  - x86 machines are supported fairly well.
-  - AMD64 (a.k.a. x86-64) are supported, but not as well.
-  - Older PowerPC machines are not supported.
-  - It requires Mac OS X 10.5 Leopard or later.  Porting to 10.4 is not
-    planned because it would require work and 10.4 is only becoming less
-    common.
+  - PowerPC machines are not supported.
 
   Things that don't work:
-  - Helgrind and Ptrcheck
-  - Objective-C garbage collection
-  - --db-attach=yes
-  - Messages like the following indicate a mismatch between Valgrind's
-    memory map and the kernel. Occasional failures are expected in
-    multithreaded programs. If the failure repeats for the same address
-    range, then there may be a problem causing false errors or crashes.
-        sync check at ...: FAILED
-  - If you have Rogue Amoeba's "Instant Hijack" program installed, Valgrind
-    will fail with a SIGTRAP at start-up.  This is apparently Instant
-    Hijack's fault.  See https://bugs.kde.org/show_bug.cgi?id=193917 for
-    details and a simple work-around.
+
+  - The Ptrcheck tool.
+
+  - Objective-C garbage collection.
+
+  - --db-attach=yes.
+
+  - If you have Rogue Amoeba's "Instant Hijack" program installed,
+    Valgrind will fail with a SIGTRAP at start-up.  See
+    https://bugs.kde.org/show_bug.cgi?id=193917 for details and a
+    simple work-around.
 
   Usage notes:
-  - You will likely find --dsymutil=yes a useful option, as error messages may
-    be imprecise without it.
+
+  - You will likely find --dsymutil=yes a useful option, as error
+    messages may be imprecise without it.
+
+  - Mac OS X support is new and therefore will be less robust than the
+    Linux support.  Please report any bugs you find.
+
+  - Threaded programs may run more slowly than on Linux.
 
   Many thanks to Greg Parker for developing this port over several years.
 
-* XXX: something about improved Wine support?
+
+* Memcheck's leak checker has been improved.  
+
+  - The results for --leak-check=summary now match the summary results
+    for --leak-check=full.  Previously they could differ because
+    --leak-check=summary counted "indirectly lost" blocks and
+    "suppressed" blocks as "definitely lost".
 
-* XXX: exp-bbv has been added...
+  - Blocks that are only reachable via at least one interior-pointer,
+    but are directly pointed to by a start-pointer, were previously
+    marked as "still reachable".  They are now correctly marked as
+    "possibly lost".
 
-* Valgrind's start-up message has changed.  It is shorter but also includes
-  the command being run, which makes it easier to use --trace-children=yes.
-  An example:
+  - The default value for the --leak-resolution option has been
+    changed from "low" to "high".  In general, this means that more
+    leak reports will be produced, but each leak report will describe
+    fewer leaked blocks.
 
-==3050== Memcheck, a memory error detector.
-==3050== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
-==3050== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
-==3050== Command: ls -l
-==3050== 
+  - With --leak-check=full, "definitely lost" and "possibly lost"
+    leaks are now considered as proper errors, ie. they are counted
+    for the "ERROR SUMMARY" and affect the behaviour of
+    --error-exitcode.  These leaks are not counted as errors if
+    --leak-check=summary is specified, however.
 
-* XXX: shut-down messages have changed a bit...
+  - Documentation for the leak checker has been improved.
 
-* A new Memcheck client request VALGRIND_COUNT_LEAK_BLOCKS has been added.
-  It is similar to VALGRIND_COUNT_LEAKS but counts blocks instead of bytes.
-  [XXX: consider adding VALGRIND_COUNT_LEAK_BYTES as a synonym and
-  deprecating VALGRIND_COUNT_LEAKS, which wasn't a good name to begin with]
 
-* The Valgrind client requests VALGRIND_PRINTF and VALGRIND_PRINTF_BACKTRACE
-  have been changed slightly.  Previously, the string was always printed
-  immediately on its own line.  Now, the string will be added to a buffer
-  but not printed until a newline is encountered, or other Valgrind output
-  is printed (note that for VALGRIND_PRINTF_BACKTRACE, the back-trace itself
-  is considered "other Valgrind output").  This allows you to use multiple
-  VALGRIND_PRINTF calls to build up a single output line, and also to print
-  multiple output lines with a single request (by embedding multiple
-  newlines in the string).
+* Various aspects of Valgrind's text output have changed.
 
-* XXX: mention --read-var-info.  It was mentioned as a developer-visible
-  change in 3.4.0, but it's useful for normal users of some tools as well.
+  - Valgrind's start-up message has changed.  It is shorter but also
+    includes the command being run, which makes it easier to use
+    --trace-children=yes.  An example:
 
-* Memcheck's leak checker has been improved.  
-  - The results for --leak-check=summary now match the summary results for
-    --leak-check=full.  Previously they could differ because
-    --leak-check=summary counted "indirectly lost" blocks and "suppressed"
-    blocks as "definitely lost".
-  - Blocks that are only reachable via at least one interior-pointer, but
-    are directly pointed to by a start-pointer, were previously marked as
-    "still reachable".  They are now correctly marked as "possibly lost".
-  - The default value for the --leak-resolution option has been changed from
-    "low" to "high".  In general, this means that more leak reports will be
-    produced, but each leak report will describe fewer leaked blocks.
-  - "Definitely lost" and "possibly lost" leaks are now considered as normal
-    errors, ie. they are counted for the "ERROR SUMMARY" and
-    --error-exitcode.  This is true even if their loss records aren't
-    printed, ie. if you run with --leak-check=summary.
-  - The documentation for the leak checker has also been improved.
+  - Valgrind's shut-down messages have also changed.  This is most
+    noticeable with Memcheck, where the leak summary now occurs before
+    the error summary.  This change was necessary to allow leaks to be
+    counted as proper errors (see the description of the leak checker
+    changes above for more details).  This was also necessary to fix a
+    longstanding bug in which uses of suppressions against leaks were
+    not "counted", leading to difficulties in maintaining suppression
+    files (XXXX bug number).
 
-* XXX: Atomic instructions are now handled properly...
+  - Behavior of -v has changed.  In previous versions, -v printed out
+    a mixture of marginally-user-useful information, and tool/core
+    statistics.  The statistics printing has now been moved to its own
+    flag, --stats=yes.  This means -v is less verbose and more likely
+    to convey useful end-user information.
 
-* The format of some (non-XML) stack trace entries has changed a little.
-  Previously there were six possible forms:
+  - The format of some (non-XML) stack trace entries has changed a
+    little.  Previously there were six possible forms:
 
-    0x80483BF: really (a.c:20)
-    0x80483BF: really (in /foo/a.out)
-    0x80483BF: really
-    0x80483BF: (within /foo/a.out)
-    0x80483BF: ??? (a.c:20)
-    0x80483BF: ???
+      0x80483BF: really (a.c:20)
+      0x80483BF: really (in /foo/a.out)
+      0x80483BF: really
+      0x80483BF: (within /foo/a.out)
+      0x80483BF: ??? (a.c:20)
+      0x80483BF: ???
 
-  The third and fourth of these forms have been made more consistent with
-  the others.  The six possible forms are now:
+    The third and fourth of these forms have been made more consistent
+    with the others.  The six possible forms are now:
   
-    0x80483BF: really (a.c:20)
-    0x80483BF: really (in /foo/a.out)
-    0x80483BF: really (in ???)
-    0x80483BF: ??? (in /foo/a.out)
-    0x80483BF: ??? (a.c:20)
-    0x80483BF: ???
+      0x80483BF: really (a.c:20)
+      0x80483BF: really (in /foo/a.out)
+      0x80483BF: really (in ???)
+      0x80483BF: ??? (in /foo/a.out)
+      0x80483BF: ??? (a.c:20)
+      0x80483BF: ???
+
+    Stack traces produced when --xml=yes is specified are different
+    and unchanged.
+
+
+* Helgrind and Ptrcheck now support XML output, so they can be used
+  from GUI tools.  Also, the XML output mechanism has been
+  overhauled.
+
+  - The XML format has been overhauled and generalised, so it is more
+    suitable for error reporting tools in general.  The Memcheck
+    specific aspects of it have been removed.  The new format, which
+    is an evolution of the old format, is described in
+    docs/internals/xml-output-protocol4.txt.
+
+  - Memcheck has been updated to use the new format.
+
+  - Helgrind and Ptrcheck are now able to emit output in this format.
+
+  - The XML output mechanism has been overhauled.  XML is now output
+    to its own file descriptor, which means that:
+
+    * Valgrind can output text and XML independently.
+
+    * The longstanding problem of XML output being corrupted by 
+      unexpected un-tagged text messages  is solved.
+
+    As before, the destination for text output is specified using
+    --log-file=, --log-fd= or --log-socket=.
+
+    As before, XML output for a tool is enabled using --xml=yes.
+
+    Because there's a new XML output channel, the XML output
+    destination is now specified by --xml-file=, --xml-fd= or
+    --xml-socket=.
+
+    Initial feedback has shown this causes some confusion.  To
+    clarify, the two envisaged usage scenarios are:
+
+    (1) Normal text output.  In this case, do not specify --xml=yes
+        nor any of --xml-file=, --xml-fd= or --xml-socket=.
+
+    (2) XML output.  In this case, specify --xml=yes, and one of
+        --xml-file=, --xml-fd= or --xml-socket= to select the XML
+        destination, one of --log-file=, --log-fd= or --log-socket=
+        to select the destination for any remaining text messages,
+        and, importantly, -q.
+
+        -q makes Valgrind completely silent on the text channel,
+        except in the case of critical failures, such as Valgrind
+        itself segfaulting, or failing to read debugging information.
+        Hence, in this scenario, it suffices to check whether or not
+        any output appeared on the text channel.  If yes, then it is
+        likely to be a critical error which should be brought to the
+        attention of the user.  If no (the text channel produced no
+        output) then it can be assumed that the run was successful.
+
+        This allows GUIs to make the critical distinction they need to
+        make (did the run fail or not?) without having to search or
+        filter the text output channel in any way.
+
+    It is also recommended to use --child-silent-after-fork=yes in
+    scenario (2).
+
+
+* Improvements and changes in Helgrind:
+
+  - XML output, as described above
+
+  - Checks for consistent association between pthread condition
+    variables and their associated mutexes are now performed.
+
+  - pthread_spinlock functions are supported.
+
+  - Modest performance improvements.
+
+  - Initial (skeletal) support for describing the behaviour of
+    non-POSIX synchronisation objects through ThreadSanitizer
+    compatible ANNOTATE_* macros.
+
+  - More controllable tradeoffs between performance and the level of
+    detail of "previous" accesses in a race.  There are now three
+    settings:
+
+    * --history-level=full.  This is the default, and was also the
+      default in 3.4.x.  It shows both stacks involved in a race, but
+      requires a lot of memory and can be very slow in programs that
+      do many inter-thread synchronisation events.
+
+    * --history-level=none.  This only shows the later stack involved
+      in a race.  This can be much faster than --history-level=full,
+      but makes it much more difficult to find the other access
+      involved in the race.
+
+    The new intermediate setting is
 
-  Stack traces produced when --xml=yes is specified are different and
-  unchanged.
+    * --history-level=approx
 
-* XXX: XML output has changed... along with how --xml=yes works.
+      For the earlier (other) access, two stacks are presented.  The
+      earlier access is guaranteed to be somewhere in between the two
+      program points denoted by those stacks.  This is not as useful
+      as showing the exact stack for the previous access (as per
+      --history-level=full), but it is better than nothing, and it's
+      almost as fast as --history-level=none.
 
-* The graphs drawn by Massif's ms_print program have changed slightly:
-  - The half-height chars '.' and ',' are no longer drawn, because they are
-    confusing.  The --y option can be used if the default y-resolution is
-    not high enough.
-  - Horizontal lines are now drawn after the top of a snapshot if there is a
-    gap until the next snapshot.  This makes it clear that the memory
-    usage has not dropped to zero between snapshots.
 
 * New features and improvements in DRD:
-  - The error messages printed by DRD are now easier to interpret. Instead of
-    using two different numbers to identify each thread (Valgrind thread ID and
-    DRD thread ID), DRD does now identify threads via a single number (the DRD
-    thread ID). Furthermore "first observed at" information is now printed for
-    all error messages related to synchronization objects.
+
+  - The error messages printed by DRD are now easier to interpret.
+    Instead of using two different numbers to identify each thread
+    (Valgrind thread ID and DRD thread ID), DRD does now identify
+    threads via a single number (the DRD thread ID).  Furthermore
+    "first observed at" information is now printed for all error
+    messages related to synchronization objects.
+
   - Added support for named semaphores (sem_open() and sem_close()).
+
   - Race conditions between pthread_barrier_wait() and
     pthread_barrier_destroy() calls are now reported.
-  - Added support for memory pools through the macro's
-    VALGRIND_MALLOCLIKE_BLOCK() VALGRIND_FREELIKE_BLOCK() (defined in 
-    in <valgrind/valgrind.h>). An alternative for these two macro's is the
-    new client request VG_USERREQ__DRD_CLEAN_MEMORY (defined in
+
+  - Added support for custom allocators through the macros
+    VALGRIND_MALLOCLIKE_BLOCK() VALGRIND_FREELIKE_BLOCK() (defined in
+    in <valgrind/valgrind.h>). An alternative for these two macros is
+    the new client request VG_USERREQ__DRD_CLEAN_MEMORY (defined in
     <valgrind/drd.h>).
-  - Added support for annotating non-POSIX synchronization objects through
-    several new ANNOTATE_*() macro's.
-  - OpenMP: added support for the OpenMP runtime (libgomp) included with gcc
-    versions 4.3.0 and 4.4.0.
+
+  - Added support for annotating non-POSIX synchronization objects
+    through several new ANNOTATE_*() macros.
+
+  - OpenMP: added support for the OpenMP runtime (libgomp) included
+    with gcc versions 4.3.0 and 4.4.0.
+
   - Faster operation.
-  - Added to new command-line options (--first-race-only and
+
+  - Added two new command-line options (--first-race-only and
     --segment-merging-interval).
 
-* exp-Omega, an experimental instantaneous leak-detecting tool, was disabled
-  in 3.4.0 due to a lack of interest and maintenance, although the source
-  code was still in the distribution.  The source code has now been removed
-  from the distribution.  For anyone interested, the removal occurred in SVN
-  revision r10247.
+
+* Genuinely atomic support for x86/amd64/ppc atomic instructions
+
+  Valgrind will now preserve (memory-access) atomicity of LOCK-
+  prefixed x86/amd64 instructions, and any others implying a global
+  bus lock.  Ditto for PowerPC l{w,d}arx/st{w,d}cx. instructions.
+
+  This means that Valgrinded processes will "play nicely" in
+  situations where communication with other processes, or the kernel,
+  is done through shared memory and coordinated with such atomic
+  instructions.  Prior to this change, such arrangements usually
+  resulted in hangs, races or other synchronisation failures, because
+  Valgrind did not honour atomicity of such instructions.
+
+
+* A new experimental tool, BBV, has been added.  BBV generates basic
+  block vectors for use with the SimPoint analysis tool, which allows
+  a program's overall behaviour to be approximated by running only a
+  fraction of it.  This is useful for computer architecture
+  researchers.  You can run BBV by specifying --tool=exp-bbv (the
+  "exp-" prefix is short for "experimental").  BBV was written by
+  Vince Weaver.
+
+
+* Modestly improved support for running Windows applications under
+  Wine.  In particular, initial support for reading Windows .PDB debug
+  information has been added.
+
+
+* A new Memcheck client request VALGRIND_COUNT_LEAK_BLOCKS has been
+  added.  It is similar to VALGRIND_COUNT_LEAKS but counts blocks
+  instead of bytes.
+
+
+* The Valgrind client requests VALGRIND_PRINTF and
+  VALGRIND_PRINTF_BACKTRACE have been changed slightly.  Previously,
+  the string was always printed immediately on its own line.  Now, the
+  string will be added to a buffer but not printed until a newline is
+  encountered, or other Valgrind output is printed (note that for
+  VALGRIND_PRINTF_BACKTRACE, the back-trace itself is considered
+  "other Valgrind output").  This allows you to use multiple
+  VALGRIND_PRINTF calls to build up a single output line, and also to
+  print multiple output lines with a single request (by embedding
+  multiple newlines in the string).
+
+
+* The graphs drawn by Massif's ms_print program have changed slightly:
+
+  - The half-height chars '.' and ',' are no longer drawn, because
+    they are confusing.  The --y option can be used if the default
+    y-resolution is not high enough.
+
+  - Horizontal lines are now drawn after the top of a snapshot if
+    there is a gap until the next snapshot.  This makes it clear that
+    the memory usage has not dropped to zero between snapshots.
+
+
+* Something that happened in 3.4.0, but wasn't clearly announced: the
+  option --read-var-info=yes can be used by some tools (Memcheck,
+  Helgrind and DRD).  When enabled, it causes Valgrind to read DWARF3
+  variable type and location information.  This makes those tools
+  start up more slowly and increases memory consumption, but
+  descriptions of data addresses in error messages become more
+  detailed.
+
+
+* exp-Omega, an experimental instantaneous leak-detecting tool, was
+  disabled in 3.4.0 due to a lack of interest and maintenance,
+  although the source code was still in the distribution.  The source
+  code has now been removed from the distribution.  For anyone
+  interested, the removal occurred in SVN revision r10247.
+
 
 * Some changes have been made to the build system.
 
-  - VEX/ is now integrated properly into the build system.  This means that
-    dependency tracking within VEX/ now works properly, "make install" will
-    work without requiring "make" before it, and parallel builds
-    (ie. 'make -j') now work (previously a .NOTPARALLEL directive was used
-    to serialize builds, ie. 'make -j' was effectively ignored).
+  - VEX/ is now integrated properly into the build system.  This means
+    that dependency tracking within VEX/ now works properly, "make
+    install" will work without requiring "make" before it, and
+    parallel builds (ie. 'make -j') now work (previously a
+    .NOTPARALLEL directive was used to serialize builds, ie. 'make -j'
+    was effectively ignored).
 
-  - The --with-vex configure option has been removed.  It was of little use
-    and removing it simplified the build system.
+  - The --with-vex configure option has been removed.  It was of
+    little use and removing it simplified the build system.
 
-  - The location of some install files has changed.  This should not affect
-    most users.  Those who might be affected:
+  - The location of some install files has changed.  This should not
+    affect most users.  Those who might be affected:
 
     * For people who use Valgrind with MPI programs, the installed
-      libmpiwrap.so library has moved from $(INSTALL)/<platform>/libmpiwrap.so
-      to $(INSTALL)/libmpiwrap-<platform>.so.
+      libmpiwrap.so library has moved from
+      $(INSTALL)/<platform>/libmpiwrap.so to
+      $(INSTALL)/libmpiwrap-<platform>.so.
+
+    * For people who distribute standalone Valgrind tools, the
+      installed libraries such as $(INSTALL)/<platform>/libcoregrind.a
+      have moved to $(INSTALL)/libcoregrind-<platform>.a.
+
+    These changes simplify the build system.
+
+  - Previously, all the distributed suppression (*.supp) files were
+    installed.  Now, only default.supp is installed.  This should not
+    affect users as the other installed suppression files were not
+    read; the fact that they were installed was a mistake.
+
+
+* KNOWN LIMITATIONS:
+
+  - Memcheck is unusable with the Intel compiler suite version 11.1,
+    when it generates code for SSE2-and-above capable targets.  This
+    is because of icc's use of highly optimised inlined strlen
+    implementations.  It causes Memcheck to report huge numbers of
+    false errors even in simple programs.  Helgrind and DRD may also
+    have problems.
+
+    Versions 11.0 and earlier may be OK, but this has not been
+    properly tested.
+
+
+The following bugs have been fixed or resolved.  Note that "n-i-bz"
+stands for "not in bugzilla" -- that is, a bug that was reported to us
+but never got a bugzilla entry.  We encourage you to file bugs in
+bugzilla (http://bugs.kde.org/enter_valgrind_bug.cgi) rather than
+mailing the developers (or mailing lists) directly -- bugs that are
+not entered into bugzilla tend to get forgotten about or ignored.
 
-    * For people who distribute standalone Valgrind tools, the installed
-      libraries such as $(INSTALL)/<platform>/libcoregrind.a have moved to
-      $(INSTALL)/libcoregrind-<platform>.a.
+To see details of a given bug, visit
+https://bugs.kde.org/show_bug.cgi?id=XXXXXX
+where XXXXXX is the bug number as listed below.
 
-    These changes simplified the build system.
+84303   How about a LockCheck tool? 
+91633   dereference of null ptr in vgPlain_st_basetype 
+97452   Valgrind doesn't report any pthreads problems 
+100628  leak-check gets assertion failure when using 
+        VALGRIND_MALLOCLIKE_BLOCK on malloc()ed memory 
+108528  NPTL pthread cleanup handlers not called 
+110126  Valgrind 2.4.1 configure.in tramples CFLAGS 
+110128  mallinfo is not implemented... 
+110770  VEX: Generated files not always updated when making valgrind
+111102  Memcheck: problems with large (memory footprint) applications 
+115673  Vex's decoder should never assert 
+117564  False positive: Syscall param clone(child_tidptr) contains
+        uninitialised byte(s) 
+119404  executing ssh from inside valgrind fails 
+133679  Callgrind does not write path names to sources with dwarf debug
+        info
+135847  configure.in problem with non gnu compilers (and possible fix) 
+136154  threads.c:273 (vgCallgrind_post_signal): Assertion
+        '*(vgCallgrind_current_fn_stack.top) == 0' failed. 
+136230  memcheck reports "possibly lost", should be "still reachable" 
+137073  NULL arg to MALLOCLIKE_BLOCK causes crash 
+137904  Valgrind reports a memory leak when using POSIX threads,
+        while it shouldn't 
+139076  valgrind VT_GETSTATE error 
+142228  complaint of elf_dynamic_do_rela in trivial usage 
+145347  spurious warning with USBDEVFS_REAPURB 
+148441  (wine) can't find memory leak in Wine, win32 binary 
+        executable file.
+148742  Leak-check fails assert on exit 
+149878  add (proper) check for calloc integer overflow 
+150606  Call graph is broken when using callgrind control 
+152393  leak errors produce an exit code of 0. I need some way to 
+        cause leak errors to result in a nonzero exit code. 
+157154  documentation (leak-resolution doc speaks about num-callers
+        def=4) + what is a loss record
+159501  incorrect handling of ALSA ioctls 

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list