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