You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(32) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
(25) |
2
(25) |
3
(5) |
4
(13) |
|
5
(4) |
6
(8) |
7
(6) |
8
|
9
(10) |
10
(15) |
11
(9) |
|
12
(14) |
13
(10) |
14
(24) |
15
(41) |
16
(13) |
17
(9) |
18
(3) |
|
19
(10) |
20
(11) |
21
(28) |
22
(36) |
23
(52) |
24
(36) |
25
(12) |
|
26
(31) |
27
(27) |
28
(20) |
29
(15) |
30
(22) |
31
(17) |
|
|
From: Tom H. <th...@cy...> - 2009-07-06 02:50:32
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-07-06 03:05:05 BST Ended at 2009-07-06 03:50:18 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 496 tests, 7 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) memcheck/tests/x86-linux/scalar_exit_group (stderr) memcheck/tests/x86-linux/scalar_supp (stderr) none/tests/amd64/bug127521-64 (stdout) none/tests/amd64/bug127521-64 (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) |
|
From: Tom H. <th...@cy...> - 2009-07-06 02:30:31
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-07-06 03:10:05 BST Ended at 2009-07-06 03:30:13 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 502 tests, 2 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) |
Author: sewardj Date: 2009-07-05 12:29:02 +0100 (Sun, 05 Jul 2009) New Revision: 10414 Log: Merge r9801:10413 from trunk (== resync with trunk 10413) Added: branches/MESSAGING_TIDYUP/Makefile.vex.am branches/MESSAGING_TIDYUP/cachegrind/cg-x86-amd64.c branches/MESSAGING_TIDYUP/coregrind/launcher-darwin.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-macho.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-xcoff.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/priv_readmacho.h branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/readmacho.c branches/MESSAGING_TIDYUP/coregrind/m_dispatch/dispatch-amd64-darwin.S branches/MESSAGING_TIDYUP/coregrind/m_dispatch/dispatch-x86-darwin.S branches/MESSAGING_TIDYUP/coregrind/m_initimg/initimg-darwin.c branches/MESSAGING_TIDYUP/coregrind/m_initimg/initimg-pathscan.c branches/MESSAGING_TIDYUP/coregrind/m_initimg/priv_initimg_pathscan.h branches/MESSAGING_TIDYUP/coregrind/m_mach/ branches/MESSAGING_TIDYUP/coregrind/m_sigframe/sigframe-amd64-darwin.c branches/MESSAGING_TIDYUP/coregrind/m_sigframe/sigframe-x86-darwin.c branches/MESSAGING_TIDYUP/coregrind/m_start-amd64-darwin.S branches/MESSAGING_TIDYUP/coregrind/m_start-x86-darwin.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/priv_syswrap-darwin.h branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syscall-amd64-darwin.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syscall-x86-darwin.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-amd64-darwin.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-darwin.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-x86-darwin.c branches/MESSAGING_TIDYUP/coregrind/m_ume/macho.c branches/MESSAGING_TIDYUP/coregrind/pub_core_mach.h branches/MESSAGING_TIDYUP/coregrind/pub_core_vkiscnums_asm.h branches/MESSAGING_TIDYUP/darwin9.supp branches/MESSAGING_TIDYUP/docs/internals/Darwin-notes.txt branches/MESSAGING_TIDYUP/docs/xml/design-impl.xml branches/MESSAGING_TIDYUP/drd/drd_bitmap2_node.c branches/MESSAGING_TIDYUP/drd/tests/annotate_ignore_read.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/annotate_ignore_read.vgtest branches/MESSAGING_TIDYUP/drd/tests/annotate_order_1.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/annotate_order_1.vgtest branches/MESSAGING_TIDYUP/drd/tests/annotate_order_2.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/annotate_order_2.vgtest branches/MESSAGING_TIDYUP/drd/tests/annotate_order_3.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/annotate_order_3.vgtest branches/MESSAGING_TIDYUP/drd/tests/annotate_rwlock.c branches/MESSAGING_TIDYUP/drd/tests/annotate_rwlock.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/annotate_rwlock.vgtest branches/MESSAGING_TIDYUP/drd/tests/annotate_spinlock.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/annotate_spinlock.vgtest branches/MESSAGING_TIDYUP/drd/tests/annotate_trace_memory.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/annotate_trace_memory.vgtest branches/MESSAGING_TIDYUP/drd/tests/atomic_var.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/circular_buffer.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/pth_cleanup_handler.c branches/MESSAGING_TIDYUP/drd/tests/pth_cleanup_handler.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/pth_cleanup_handler.vgtest branches/MESSAGING_TIDYUP/drd/tests/pth_mutex_reinit.c branches/MESSAGING_TIDYUP/drd/tests/pth_mutex_reinit.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/pth_mutex_reinit.vgtest branches/MESSAGING_TIDYUP/drd/tests/tc23_bogus_condwait.stderr.exp2 branches/MESSAGING_TIDYUP/drd/tests/thread_name.c branches/MESSAGING_TIDYUP/drd/tests/thread_name.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/thread_name.vgtest branches/MESSAGING_TIDYUP/drd/tests/tsan_thread_wrappers_pthread.h branches/MESSAGING_TIDYUP/drd/tests/tsan_unittest.cpp branches/MESSAGING_TIDYUP/drd/tests/unit_bitmap.c branches/MESSAGING_TIDYUP/drd/tests/unit_bitmap.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/unit_bitmap.vgtest branches/MESSAGING_TIDYUP/drd/tests/unit_vc.c branches/MESSAGING_TIDYUP/drd/tests/unit_vc.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/unit_vc.vgtest branches/MESSAGING_TIDYUP/include/pub_tool_vkiscnums_asm.h branches/MESSAGING_TIDYUP/include/vki/vki-darwin.h branches/MESSAGING_TIDYUP/include/vki/vki-scnums-darwin.h branches/MESSAGING_TIDYUP/massif/tests/one.post.exp2 branches/MESSAGING_TIDYUP/memcheck/tests/atomic_incs.c branches/MESSAGING_TIDYUP/memcheck/tests/atomic_incs.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/atomic_incs.stdout.exp-32bit branches/MESSAGING_TIDYUP/memcheck/tests/atomic_incs.stdout.exp-64bit branches/MESSAGING_TIDYUP/memcheck/tests/atomic_incs.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/darwin/ branches/MESSAGING_TIDYUP/memcheck/tests/origin1-yes.stderr.exp-darwin branches/MESSAGING_TIDYUP/memcheck/tests/sigkill.stderr.exp-darwin branches/MESSAGING_TIDYUP/memcheck/tests/strchr.stderr.exp-darwin branches/MESSAGING_TIDYUP/memcheck/tests/supp-dir.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/supp-dir.vgtest branches/MESSAGING_TIDYUP/mpi/ branches/MESSAGING_TIDYUP/none/tests/amd64/amd64locked.c branches/MESSAGING_TIDYUP/none/tests/amd64/amd64locked.stderr.exp branches/MESSAGING_TIDYUP/none/tests/amd64/amd64locked.stdout.exp branches/MESSAGING_TIDYUP/none/tests/amd64/amd64locked.vgtest branches/MESSAGING_TIDYUP/none/tests/darwin/ branches/MESSAGING_TIDYUP/none/tests/empty-exe.stderr.exp branches/MESSAGING_TIDYUP/none/tests/empty-exe.vgtest branches/MESSAGING_TIDYUP/none/tests/x86/x86locked.c branches/MESSAGING_TIDYUP/none/tests/x86/x86locked.stderr.exp branches/MESSAGING_TIDYUP/none/tests/x86/x86locked.stdout.exp branches/MESSAGING_TIDYUP/none/tests/x86/x86locked.vgtest Removed: branches/MESSAGING_TIDYUP/ACKNOWLEDGEMENTS branches/MESSAGING_TIDYUP/INSTALL branches/MESSAGING_TIDYUP/Makefile.core-tool.am branches/MESSAGING_TIDYUP/Makefile.flags.am branches/MESSAGING_TIDYUP/auxprogs/libmpiwrap.c branches/MESSAGING_TIDYUP/auxprogs/libmpiwrap_aix5.exp branches/MESSAGING_TIDYUP/auxprogs/mpiwrap_type_test.c branches/MESSAGING_TIDYUP/cachegrind/cg-amd64.c branches/MESSAGING_TIDYUP/cachegrind/cg-x86.c branches/MESSAGING_TIDYUP/callgrind/docs/index.xml branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-amd64-linux.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-ppc32-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-ppc32-linux.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-ppc64-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-ppc64-linux.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-x86-linux.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/priv_elf.h branches/MESSAGING_TIDYUP/docs/xml/new-tech-docs.xml branches/MESSAGING_TIDYUP/drd/scripts/add-libjemalloc-support branches/MESSAGING_TIDYUP/drd/tests/atomic_var.stderr.exp-with-atomic-builtins branches/MESSAGING_TIDYUP/drd/tests/atomic_var.stderr.exp-without-atomic-builtins branches/MESSAGING_TIDYUP/drd/tests/circular_buffer.stderr.exp-with-atomic-builtins branches/MESSAGING_TIDYUP/drd/tests/circular_buffer.stderr.exp-without-atomic-builtins branches/MESSAGING_TIDYUP/drd/tests/drd_bitmap_test.c branches/MESSAGING_TIDYUP/drd/tests/drd_bitmap_test.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/drd_bitmap_test.stdout.exp branches/MESSAGING_TIDYUP/drd/tests/drd_bitmap_test.vgtest branches/MESSAGING_TIDYUP/drd/tests/pth_create_chain.stderr.exp-ppc branches/MESSAGING_TIDYUP/exp-omega/ branches/MESSAGING_TIDYUP/exp-ptrcheck/tests/x86/ branches/MESSAGING_TIDYUP/include/vki/Makefile.am Modified: branches/MESSAGING_TIDYUP/ branches/MESSAGING_TIDYUP/AUTHORS branches/MESSAGING_TIDYUP/Makefile.all.am branches/MESSAGING_TIDYUP/Makefile.am branches/MESSAGING_TIDYUP/Makefile.tool-tests.am branches/MESSAGING_TIDYUP/Makefile.tool.am branches/MESSAGING_TIDYUP/NEWS branches/MESSAGING_TIDYUP/README branches/MESSAGING_TIDYUP/README_DEVELOPERS branches/MESSAGING_TIDYUP/README_PACKAGERS branches/MESSAGING_TIDYUP/auxprogs/ branches/MESSAGING_TIDYUP/auxprogs/Makefile.am branches/MESSAGING_TIDYUP/cachegrind/ branches/MESSAGING_TIDYUP/cachegrind/Makefile.am branches/MESSAGING_TIDYUP/cachegrind/cg-ppc32.c branches/MESSAGING_TIDYUP/cachegrind/cg-ppc64.c branches/MESSAGING_TIDYUP/cachegrind/cg_main.c branches/MESSAGING_TIDYUP/cachegrind/tests/ branches/MESSAGING_TIDYUP/cachegrind/tests/Makefile.am branches/MESSAGING_TIDYUP/cachegrind/tests/filter_stderr branches/MESSAGING_TIDYUP/cachegrind/tests/x86/ branches/MESSAGING_TIDYUP/cachegrind/tests/x86/Makefile.am branches/MESSAGING_TIDYUP/callgrind/ branches/MESSAGING_TIDYUP/callgrind/Makefile.am branches/MESSAGING_TIDYUP/callgrind/bb.c branches/MESSAGING_TIDYUP/callgrind/bbcc.c branches/MESSAGING_TIDYUP/callgrind/clo.c branches/MESSAGING_TIDYUP/callgrind/command.c branches/MESSAGING_TIDYUP/callgrind/context.c branches/MESSAGING_TIDYUP/callgrind/debug.c branches/MESSAGING_TIDYUP/callgrind/docs/Makefile.am branches/MESSAGING_TIDYUP/callgrind/dump.c branches/MESSAGING_TIDYUP/callgrind/events.c branches/MESSAGING_TIDYUP/callgrind/events.h branches/MESSAGING_TIDYUP/callgrind/fn.c branches/MESSAGING_TIDYUP/callgrind/global.h branches/MESSAGING_TIDYUP/callgrind/jumps.c branches/MESSAGING_TIDYUP/callgrind/main.c branches/MESSAGING_TIDYUP/callgrind/sim.c branches/MESSAGING_TIDYUP/callgrind/tests/ branches/MESSAGING_TIDYUP/callgrind/tests/Makefile.am branches/MESSAGING_TIDYUP/callgrind/tests/filter_stderr branches/MESSAGING_TIDYUP/callgrind/threads.c branches/MESSAGING_TIDYUP/configure.in branches/MESSAGING_TIDYUP/coregrind/ branches/MESSAGING_TIDYUP/coregrind/Makefile.am branches/MESSAGING_TIDYUP/coregrind/launcher-linux.c branches/MESSAGING_TIDYUP/coregrind/m_aspacehl.c branches/MESSAGING_TIDYUP/coregrind/m_aspacemgr/aspacemgr-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_aspacemgr/aspacemgr-common.c branches/MESSAGING_TIDYUP/coregrind/m_aspacemgr/aspacemgr-linux.c branches/MESSAGING_TIDYUP/coregrind/m_commandline.c branches/MESSAGING_TIDYUP/coregrind/m_coredump/coredump-elf.c branches/MESSAGING_TIDYUP/coregrind/m_debugger.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/d3basics.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/debuginfo.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/priv_readdwarf3.h branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/priv_readpdb.h branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/priv_storage.h branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/readdwarf.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/readdwarf3.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/readelf.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/readpdb.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/readstabs.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/readxcoff.c branches/MESSAGING_TIDYUP/coregrind/m_debuginfo/storage.c branches/MESSAGING_TIDYUP/coregrind/m_debuglog.c branches/MESSAGING_TIDYUP/coregrind/m_demangle/cp-demangle.c branches/MESSAGING_TIDYUP/coregrind/m_dispatch/dispatch-amd64-linux.S branches/MESSAGING_TIDYUP/coregrind/m_dispatch/dispatch-ppc32-aix5.S branches/MESSAGING_TIDYUP/coregrind/m_dispatch/dispatch-ppc32-linux.S branches/MESSAGING_TIDYUP/coregrind/m_dispatch/dispatch-ppc64-aix5.S branches/MESSAGING_TIDYUP/coregrind/m_dispatch/dispatch-ppc64-linux.S branches/MESSAGING_TIDYUP/coregrind/m_dispatch/dispatch-x86-linux.S branches/MESSAGING_TIDYUP/coregrind/m_errormgr.c branches/MESSAGING_TIDYUP/coregrind/m_initimg/initimg-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_initimg/initimg-linux.c branches/MESSAGING_TIDYUP/coregrind/m_libcassert.c branches/MESSAGING_TIDYUP/coregrind/m_libcbase.c branches/MESSAGING_TIDYUP/coregrind/m_libcfile.c branches/MESSAGING_TIDYUP/coregrind/m_libcproc.c branches/MESSAGING_TIDYUP/coregrind/m_libcsignal.c branches/MESSAGING_TIDYUP/coregrind/m_machine.c branches/MESSAGING_TIDYUP/coregrind/m_main.c branches/MESSAGING_TIDYUP/coregrind/m_mallocfree.c branches/MESSAGING_TIDYUP/coregrind/m_options.c branches/MESSAGING_TIDYUP/coregrind/m_redir.c branches/MESSAGING_TIDYUP/coregrind/m_replacemalloc/vg_replace_malloc.c branches/MESSAGING_TIDYUP/coregrind/m_scheduler/priv_sema.h branches/MESSAGING_TIDYUP/coregrind/m_scheduler/scheduler.c branches/MESSAGING_TIDYUP/coregrind/m_scheduler/sema.c branches/MESSAGING_TIDYUP/coregrind/m_sigframe/sigframe-amd64-linux.c branches/MESSAGING_TIDYUP/coregrind/m_sigframe/sigframe-ppc32-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_sigframe/sigframe-ppc32-linux.c branches/MESSAGING_TIDYUP/coregrind/m_sigframe/sigframe-ppc64-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_sigframe/sigframe-ppc64-linux.c branches/MESSAGING_TIDYUP/coregrind/m_sigframe/sigframe-x86-linux.c branches/MESSAGING_TIDYUP/coregrind/m_signals.c branches/MESSAGING_TIDYUP/coregrind/m_stacktrace.c branches/MESSAGING_TIDYUP/coregrind/m_syscall.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/priv_syswrap-generic.h branches/MESSAGING_TIDYUP/coregrind/m_syswrap/priv_syswrap-main.h branches/MESSAGING_TIDYUP/coregrind/m_syswrap/priv_types_n_macros.h branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syscall-amd64-linux.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syscall-ppc32-aix5.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syscall-ppc32-linux.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syscall-ppc64-aix5.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syscall-ppc64-linux.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syscall-x86-linux.S branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-amd64-linux.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-generic.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-linux-variants.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-linux.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-main.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-ppc32-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-ppc32-linux.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-ppc64-aix5.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-ppc64-linux.c branches/MESSAGING_TIDYUP/coregrind/m_syswrap/syswrap-x86-linux.c branches/MESSAGING_TIDYUP/coregrind/m_tooliface.c branches/MESSAGING_TIDYUP/coregrind/m_trampoline.S branches/MESSAGING_TIDYUP/coregrind/m_translate.c branches/MESSAGING_TIDYUP/coregrind/m_transtab.c branches/MESSAGING_TIDYUP/coregrind/m_ume/elf.c branches/MESSAGING_TIDYUP/coregrind/m_ume/main.c branches/MESSAGING_TIDYUP/coregrind/m_ume/priv_ume.h branches/MESSAGING_TIDYUP/coregrind/m_ume/script.c branches/MESSAGING_TIDYUP/coregrind/m_vki.c branches/MESSAGING_TIDYUP/coregrind/m_vkiscnums.c branches/MESSAGING_TIDYUP/coregrind/m_wordfm.c branches/MESSAGING_TIDYUP/coregrind/pub_core_aspacemgr.h branches/MESSAGING_TIDYUP/coregrind/pub_core_clreq.h branches/MESSAGING_TIDYUP/coregrind/pub_core_debuginfo.h branches/MESSAGING_TIDYUP/coregrind/pub_core_debuglog.h branches/MESSAGING_TIDYUP/coregrind/pub_core_initimg.h branches/MESSAGING_TIDYUP/coregrind/pub_core_libcfile.h branches/MESSAGING_TIDYUP/coregrind/pub_core_libcsignal.h branches/MESSAGING_TIDYUP/coregrind/pub_core_machine.h branches/MESSAGING_TIDYUP/coregrind/pub_core_mallocfree.h branches/MESSAGING_TIDYUP/coregrind/pub_core_options.h branches/MESSAGING_TIDYUP/coregrind/pub_core_scheduler.h branches/MESSAGING_TIDYUP/coregrind/pub_core_signals.h branches/MESSAGING_TIDYUP/coregrind/pub_core_syscall.h branches/MESSAGING_TIDYUP/coregrind/pub_core_syswrap.h branches/MESSAGING_TIDYUP/coregrind/pub_core_threadstate.h branches/MESSAGING_TIDYUP/coregrind/pub_core_tooliface.h branches/MESSAGING_TIDYUP/coregrind/pub_core_trampoline.h branches/MESSAGING_TIDYUP/coregrind/pub_core_ume.h branches/MESSAGING_TIDYUP/coregrind/pub_core_vki.h branches/MESSAGING_TIDYUP/coregrind/pub_core_vkiscnums.h branches/MESSAGING_TIDYUP/coregrind/vg_preloaded.c branches/MESSAGING_TIDYUP/docs/README branches/MESSAGING_TIDYUP/docs/internals/Makefile.am branches/MESSAGING_TIDYUP/docs/internals/howto_oprofile.txt branches/MESSAGING_TIDYUP/docs/xml/Makefile.am branches/MESSAGING_TIDYUP/docs/xml/dist-docs.xml branches/MESSAGING_TIDYUP/docs/xml/manual-core.xml branches/MESSAGING_TIDYUP/docs/xml/manual-intro.xml branches/MESSAGING_TIDYUP/docs/xml/manual-writing-tools.xml branches/MESSAGING_TIDYUP/docs/xml/tech-docs.xml branches/MESSAGING_TIDYUP/drd/ branches/MESSAGING_TIDYUP/drd/Makefile.am branches/MESSAGING_TIDYUP/drd/TODO.txt branches/MESSAGING_TIDYUP/drd/Testing.txt branches/MESSAGING_TIDYUP/drd/drd.h branches/MESSAGING_TIDYUP/drd/drd_barrier.c branches/MESSAGING_TIDYUP/drd/drd_bitmap.c branches/MESSAGING_TIDYUP/drd/drd_bitmap.h branches/MESSAGING_TIDYUP/drd/drd_clientreq.c branches/MESSAGING_TIDYUP/drd/drd_clientreq.h branches/MESSAGING_TIDYUP/drd/drd_cond.c branches/MESSAGING_TIDYUP/drd/drd_cond.h branches/MESSAGING_TIDYUP/drd/drd_error.c branches/MESSAGING_TIDYUP/drd/drd_error.h branches/MESSAGING_TIDYUP/drd/drd_gomp_intercepts.c branches/MESSAGING_TIDYUP/drd/drd_load_store.c branches/MESSAGING_TIDYUP/drd/drd_main.c branches/MESSAGING_TIDYUP/drd/drd_malloc_wrappers.c branches/MESSAGING_TIDYUP/drd/drd_malloc_wrappers.h branches/MESSAGING_TIDYUP/drd/drd_mutex.c branches/MESSAGING_TIDYUP/drd/drd_pthread_intercepts.c branches/MESSAGING_TIDYUP/drd/drd_rwlock.c branches/MESSAGING_TIDYUP/drd/drd_rwlock.h branches/MESSAGING_TIDYUP/drd/drd_segment.c branches/MESSAGING_TIDYUP/drd/drd_segment.h branches/MESSAGING_TIDYUP/drd/drd_semaphore.c branches/MESSAGING_TIDYUP/drd/drd_thread.c branches/MESSAGING_TIDYUP/drd/drd_thread.h branches/MESSAGING_TIDYUP/drd/drd_thread_bitmap.h branches/MESSAGING_TIDYUP/drd/drd_vc.c branches/MESSAGING_TIDYUP/drd/drd_vc.h branches/MESSAGING_TIDYUP/drd/pub_drd_bitmap.h branches/MESSAGING_TIDYUP/drd/scripts/download-and-build-firefox branches/MESSAGING_TIDYUP/drd/scripts/download-and-build-gcc branches/MESSAGING_TIDYUP/drd/scripts/run-splash2 branches/MESSAGING_TIDYUP/drd/tests/ branches/MESSAGING_TIDYUP/drd/tests/Makefile.am branches/MESSAGING_TIDYUP/drd/tests/atomic_var.c branches/MESSAGING_TIDYUP/drd/tests/atomic_var.vgtest branches/MESSAGING_TIDYUP/drd/tests/boost_thread.cpp branches/MESSAGING_TIDYUP/drd/tests/boost_thread.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/boost_thread.vgtest branches/MESSAGING_TIDYUP/drd/tests/circular_buffer.c branches/MESSAGING_TIDYUP/drd/tests/circular_buffer.vgtest branches/MESSAGING_TIDYUP/drd/tests/filter_stderr branches/MESSAGING_TIDYUP/drd/tests/hg04_race.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/hg05_race2.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/hg05_race2.stderr.exp-powerpc branches/MESSAGING_TIDYUP/drd/tests/memory_allocation.c branches/MESSAGING_TIDYUP/drd/tests/omp_prime.c branches/MESSAGING_TIDYUP/drd/tests/pth_barrier.c branches/MESSAGING_TIDYUP/drd/tests/pth_cancel_locked.vgtest branches/MESSAGING_TIDYUP/drd/tests/pth_cond_race3.stderr.exp branches/MESSAGING_TIDYUP/drd/tests/pth_cond_race3.vgtest branches/MESSAGING_TIDYUP/drd/tests/pth_create_chain.vgtest branches/MESSAGING_TIDYUP/drd/tests/recursive_mutex.c branches/MESSAGING_TIDYUP/drd/tests/rwlock_race.c branches/MESSAGING_TIDYUP/drd/tests/rwlock_test.c branches/MESSAGING_TIDYUP/drd/tests/sigalrm.c branches/MESSAGING_TIDYUP/drd/tests/tc09_bad_unlock.stderr.exp-glibc2.8 branches/MESSAGING_TIDYUP/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3 branches/MESSAGING_TIDYUP/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.3-b branches/MESSAGING_TIDYUP/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5 branches/MESSAGING_TIDYUP/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.5-ppc branches/MESSAGING_TIDYUP/drd/tests/tc20_verifywrap2.stderr.exp-glibc2.8 branches/MESSAGING_TIDYUP/exp-ptrcheck/ branches/MESSAGING_TIDYUP/exp-ptrcheck/Makefile.am branches/MESSAGING_TIDYUP/exp-ptrcheck/h_intercepts.c branches/MESSAGING_TIDYUP/exp-ptrcheck/h_main.c branches/MESSAGING_TIDYUP/exp-ptrcheck/h_main.h branches/MESSAGING_TIDYUP/exp-ptrcheck/pc_main.c branches/MESSAGING_TIDYUP/exp-ptrcheck/sg_main.c branches/MESSAGING_TIDYUP/exp-ptrcheck/tests/ branches/MESSAGING_TIDYUP/exp-ptrcheck/tests/Makefile.am branches/MESSAGING_TIDYUP/glibc-2.34567-NPTL-helgrind.supp branches/MESSAGING_TIDYUP/glibc-2.X-drd.supp branches/MESSAGING_TIDYUP/glibc-2.X.supp.in branches/MESSAGING_TIDYUP/helgrind/ branches/MESSAGING_TIDYUP/helgrind/Makefile.am branches/MESSAGING_TIDYUP/helgrind/hg_intercepts.c branches/MESSAGING_TIDYUP/helgrind/hg_main.c branches/MESSAGING_TIDYUP/helgrind/libhb_core.c branches/MESSAGING_TIDYUP/helgrind/tests/ branches/MESSAGING_TIDYUP/helgrind/tests/Makefile.am branches/MESSAGING_TIDYUP/helgrind/tests/bar_bad.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/bar_trivial.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/filter_stderr branches/MESSAGING_TIDYUP/helgrind/tests/hg01_all_ok.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/hg02_deadlock.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/hg03_inherit.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/hg04_race.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/hg05_race2.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/hg06_readshared.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/pth_barrier1.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/pth_barrier2.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/pth_barrier3.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/rwlock_race.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/rwlock_test.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc01_simple_race.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc02_simple_tls.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc03_re_excl.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc04_free_lock.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc05_simple_race.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc06_two_races.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc07_hbl1.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc08_hbl2.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc10_rec_lock.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc11_XCHG.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc12_rwl_trivial.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc13_laog1.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc14_laog_dinphils.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc15_laog_lockdel.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc16_byterace.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc17_sembar.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc19_shadowmem.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc20_verifywrap.c branches/MESSAGING_TIDYUP/helgrind/tests/tc21_pthonce.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc22_exit_w_lock.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc23_bogus_condwait.stderr.exp branches/MESSAGING_TIDYUP/helgrind/tests/tc24_nonzero_sem.stderr.exp branches/MESSAGING_TIDYUP/include/Makefile.am branches/MESSAGING_TIDYUP/include/pub_tool_basics.h branches/MESSAGING_TIDYUP/include/pub_tool_basics_asm.h branches/MESSAGING_TIDYUP/include/pub_tool_libcbase.h branches/MESSAGING_TIDYUP/include/pub_tool_libcfile.h branches/MESSAGING_TIDYUP/include/pub_tool_machine.h branches/MESSAGING_TIDYUP/include/pub_tool_redir.h branches/MESSAGING_TIDYUP/include/pub_tool_tooliface.h branches/MESSAGING_TIDYUP/include/pub_tool_vki.h branches/MESSAGING_TIDYUP/include/pub_tool_vkiscnums.h branches/MESSAGING_TIDYUP/include/pub_tool_wordfm.h branches/MESSAGING_TIDYUP/include/valgrind.h branches/MESSAGING_TIDYUP/include/vki/vki-amd64-linux.h branches/MESSAGING_TIDYUP/include/vki/vki-linux.h branches/MESSAGING_TIDYUP/include/vki/vki-ppc32-linux.h branches/MESSAGING_TIDYUP/include/vki/vki-ppc64-linux.h branches/MESSAGING_TIDYUP/include/vki/vki-scnums-aix5.h branches/MESSAGING_TIDYUP/include/vki/vki-x86-linux.h branches/MESSAGING_TIDYUP/lackey/ branches/MESSAGING_TIDYUP/lackey/Makefile.am branches/MESSAGING_TIDYUP/lackey/lk_main.c branches/MESSAGING_TIDYUP/lackey/tests/Makefile.am branches/MESSAGING_TIDYUP/massif/ branches/MESSAGING_TIDYUP/massif/Makefile.am branches/MESSAGING_TIDYUP/massif/ms_main.c branches/MESSAGING_TIDYUP/massif/perf/ branches/MESSAGING_TIDYUP/massif/tests/ branches/MESSAGING_TIDYUP/massif/tests/Makefile.am branches/MESSAGING_TIDYUP/massif/tests/culling1.stderr.exp branches/MESSAGING_TIDYUP/massif/tests/culling2.stderr.exp branches/MESSAGING_TIDYUP/massif/tests/deep-B.stderr.exp branches/MESSAGING_TIDYUP/massif/tests/deep-C.stderr.exp branches/MESSAGING_TIDYUP/massif/tests/filter_stderr branches/MESSAGING_TIDYUP/massif/tests/malloc_usable.c branches/MESSAGING_TIDYUP/massif/tests/malloc_usable.stderr.exp branches/MESSAGING_TIDYUP/massif/tests/malloc_usable.vgtest branches/MESSAGING_TIDYUP/massif/tests/peak2.stderr.exp branches/MESSAGING_TIDYUP/massif/tests/realloc.stderr.exp branches/MESSAGING_TIDYUP/memcheck/ branches/MESSAGING_TIDYUP/memcheck/Makefile.am branches/MESSAGING_TIDYUP/memcheck/docs/mc-manual.xml branches/MESSAGING_TIDYUP/memcheck/mc_leakcheck.c branches/MESSAGING_TIDYUP/memcheck/mc_machine.c branches/MESSAGING_TIDYUP/memcheck/mc_main.c branches/MESSAGING_TIDYUP/memcheck/mc_malloc_wrappers.c branches/MESSAGING_TIDYUP/memcheck/mc_replace_strmem.c branches/MESSAGING_TIDYUP/memcheck/mc_translate.c branches/MESSAGING_TIDYUP/memcheck/perf/ branches/MESSAGING_TIDYUP/memcheck/tests/ branches/MESSAGING_TIDYUP/memcheck/tests/Makefile.am branches/MESSAGING_TIDYUP/memcheck/tests/amd64/Makefile.am branches/MESSAGING_TIDYUP/memcheck/tests/badjump.c branches/MESSAGING_TIDYUP/memcheck/tests/badjump2.c branches/MESSAGING_TIDYUP/memcheck/tests/filter_xml branches/MESSAGING_TIDYUP/memcheck/tests/linux/Makefile.am branches/MESSAGING_TIDYUP/memcheck/tests/linux/brk.c branches/MESSAGING_TIDYUP/memcheck/tests/linux/brk.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/linux/brk.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/linux/capget.c branches/MESSAGING_TIDYUP/memcheck/tests/linux/capget.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/linux/capget.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/linux/stack_switch.c branches/MESSAGING_TIDYUP/memcheck/tests/linux/stack_switch.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/linux/stack_switch.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/linux/timerfd-syscall.c branches/MESSAGING_TIDYUP/memcheck/tests/linux/timerfd-syscall.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/linux/timerfd-syscall.stdout.exp branches/MESSAGING_TIDYUP/memcheck/tests/linux/timerfd-syscall.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/linux/with-space.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/linux/with-space.stdout.exp branches/MESSAGING_TIDYUP/memcheck/tests/linux/with-space.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/malloc_free_fill.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/malloc_usable.c branches/MESSAGING_TIDYUP/memcheck/tests/memalign2.c branches/MESSAGING_TIDYUP/memcheck/tests/nanoleak2.c branches/MESSAGING_TIDYUP/memcheck/tests/nanoleak2.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/nanoleak_supp.c branches/MESSAGING_TIDYUP/memcheck/tests/origin1-yes.c branches/MESSAGING_TIDYUP/memcheck/tests/origin1-yes.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/origin4-many.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/stack_changes.c branches/MESSAGING_TIDYUP/memcheck/tests/str_tester.c branches/MESSAGING_TIDYUP/memcheck/tests/unit_libcbase.c branches/MESSAGING_TIDYUP/memcheck/tests/unit_oset.c branches/MESSAGING_TIDYUP/memcheck/tests/unit_oset.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/unit_oset.stdout.exp branches/MESSAGING_TIDYUP/memcheck/tests/unit_oset.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/varinfo6.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/writev.c branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/ branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/Makefile.am branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/bug133694.c branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/bug133694.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/bug133694.stdout.exp branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/bug133694.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/filter_stderr branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar.c branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar.h branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_exit_group.c branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_exit_group.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_exit_group.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_fork.c branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_fork.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_fork.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_supp.c branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_supp.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_supp.supp branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_supp.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_vfork.c branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_vfork.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/x86-linux/scalar_vfork.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/x86/ branches/MESSAGING_TIDYUP/memcheck/tests/x86/Makefile.am branches/MESSAGING_TIDYUP/memcheck/tests/x86/bug152022.stderr.exp branches/MESSAGING_TIDYUP/memcheck/tests/x86/bug152022.vgtest branches/MESSAGING_TIDYUP/memcheck/tests/xml1.stderr.exp32 branches/MESSAGING_TIDYUP/nightly/ branches/MESSAGING_TIDYUP/nightly/README.txt branches/MESSAGING_TIDYUP/nightly/bin/nightly branches/MESSAGING_TIDYUP/nightly/conf/georgia-tech-cellbuzz-cross.conf branches/MESSAGING_TIDYUP/none/ branches/MESSAGING_TIDYUP/none/Makefile.am branches/MESSAGING_TIDYUP/none/tests/ branches/MESSAGING_TIDYUP/none/tests/Makefile.am branches/MESSAGING_TIDYUP/none/tests/amd64/Makefile.am branches/MESSAGING_TIDYUP/none/tests/amd64/redundantRexW.c branches/MESSAGING_TIDYUP/none/tests/fdleak_cmsg.c branches/MESSAGING_TIDYUP/none/tests/linux/ branches/MESSAGING_TIDYUP/none/tests/linux/Makefile.am branches/MESSAGING_TIDYUP/none/tests/linux/mremap.c branches/MESSAGING_TIDYUP/none/tests/linux/mremap.stderr.exp branches/MESSAGING_TIDYUP/none/tests/linux/mremap.stderr.exp-glibc27 branches/MESSAGING_TIDYUP/none/tests/linux/mremap.stdout.exp branches/MESSAGING_TIDYUP/none/tests/linux/mremap.vgtest branches/MESSAGING_TIDYUP/none/tests/linux/mremap2.c branches/MESSAGING_TIDYUP/none/tests/linux/mremap2.stderr.exp branches/MESSAGING_TIDYUP/none/tests/linux/mremap2.stdout.exp branches/MESSAGING_TIDYUP/none/tests/linux/mremap2.stdout.exp-glibc28-amd64 branches/MESSAGING_TIDYUP/none/tests/linux/mremap2.stdout.exp2 branches/MESSAGING_TIDYUP/none/tests/linux/mremap2.vgtest branches/MESSAGING_TIDYUP/none/tests/ppc32/Makefile.am branches/MESSAGING_TIDYUP/none/tests/ppc64/Makefile.am branches/MESSAGING_TIDYUP/none/tests/pth_atfork1.c branches/MESSAGING_TIDYUP/none/tests/x86-linux/ branches/MESSAGING_TIDYUP/none/tests/x86-linux/Makefile.am branches/MESSAGING_TIDYUP/none/tests/x86/ branches/MESSAGING_TIDYUP/none/tests/x86/Makefile.am branches/MESSAGING_TIDYUP/none/tests/x86/cpuid_s.S branches/MESSAGING_TIDYUP/perf/ branches/MESSAGING_TIDYUP/perf/Makefile.am branches/MESSAGING_TIDYUP/perf/vg_perf.in branches/MESSAGING_TIDYUP/tests/ branches/MESSAGING_TIDYUP/tests/Makefile.am branches/MESSAGING_TIDYUP/tests/arch_test.c branches/MESSAGING_TIDYUP/tests/asm.h branches/MESSAGING_TIDYUP/tests/filter_addresses branches/MESSAGING_TIDYUP/tests/filter_libc branches/MESSAGING_TIDYUP/tests/filter_stderr_basic branches/MESSAGING_TIDYUP/tests/malloc.h branches/MESSAGING_TIDYUP/tests/os_test.c branches/MESSAGING_TIDYUP/tests/platform_test branches/MESSAGING_TIDYUP/tests/sys_mman.h branches/MESSAGING_TIDYUP/tests/x86_amd64_features.c branches/MESSAGING_TIDYUP/valgrind.spec.in [... diff too large to include ...] |
|
From: Bart V. A. <bar...@gm...> - 2009-07-05 07:46:12
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-07-05 02:00:08 EDT Ended at 2009-07-05 03:45:43 EDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 422 tests, 41 stderr failures, 13 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stdout) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stdout) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 420 tests, 42 stderr failures, 13 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stdout) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stdout) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Jul 5 02:52:53 2009 --- new.short Sun Jul 5 03:45:43 2009 *************** *** 8,10 **** ! == 420 tests, 42 stderr failures, 13 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) --- 8,10 ---- ! == 422 tests, 41 stderr failures, 13 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) *************** *** 39,41 **** helgrind/tests/tc23_bogus_condwait (stderr) - drd/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stdout) --- 39,40 ---- |
|
From: Tom H. <th...@cy...> - 2009-07-05 02:49:59
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-07-05 03:05:05 BST Ended at 2009-07-05 03:49:38 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 496 tests, 7 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) memcheck/tests/x86-linux/scalar_exit_group (stderr) memcheck/tests/x86-linux/scalar_supp (stderr) none/tests/amd64/bug127521-64 (stdout) none/tests/amd64/bug127521-64 (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 492 tests, 7 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) memcheck/tests/x86-linux/scalar_exit_group (stderr) memcheck/tests/x86-linux/scalar_supp (stderr) none/tests/amd64/bug127521-64 (stdout) none/tests/amd64/bug127521-64 (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Jul 5 03:26:29 2009 --- new.short Sun Jul 5 03:49:38 2009 *************** *** 8,10 **** ! == 492 tests, 7 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) --- 8,10 ---- ! == 496 tests, 7 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) |
|
From: Tom H. <th...@cy...> - 2009-07-05 02:29:59
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-07-05 03:10:04 BST Ended at 2009-07-05 03:29:42 BST Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 502 tests, 2 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 498 tests, 2 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Sun Jul 5 03:19:38 2009 --- new.short Sun Jul 5 03:29:42 2009 *************** *** 8,10 **** ! == 498 tests, 2 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) --- 8,10 ---- ! == 502 tests, 2 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |
|
From: <sv...@va...> - 2009-07-04 15:00:18
|
Author: bart Date: 2009-07-04 16:00:12 +0100 (Sat, 04 Jul 2009) New Revision: 10413 Log: Added yet another expected output file. Added: trunk/drd/tests/tc23_bogus_condwait.stderr.exp2 Modified: trunk/drd/tests/Makefile.am Modified: trunk/drd/tests/Makefile.am =================================================================== --- trunk/drd/tests/Makefile.am 2009-07-04 14:33:53 UTC (rev 10412) +++ trunk/drd/tests/Makefile.am 2009-07-04 15:00:12 UTC (rev 10413) @@ -208,6 +208,7 @@ tc22_exit_w_lock.stderr.exp-64bit \ tc22_exit_w_lock.vgtest \ tc23_bogus_condwait.stderr.exp \ + tc23_bogus_condwait.stderr.exp2 \ tc23_bogus_condwait.vgtest \ tc24_nonzero_sem.stderr.exp \ tc24_nonzero_sem.vgtest \ Added: trunk/drd/tests/tc23_bogus_condwait.stderr.exp2 =================================================================== --- trunk/drd/tests/tc23_bogus_condwait.stderr.exp2 (rev 0) +++ trunk/drd/tests/tc23_bogus_condwait.stderr.exp2 2009-07-04 15:00:12 UTC (rev 10413) @@ -0,0 +1,16 @@ + +The object at address 0x........ is not a mutex. + at 0x........: pthread_cond_wait* (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:69) + +The object at address 0x........ is not a mutex. + at 0x........: pthread_cond_wait* (drd_pthread_intercepts.c:?) + by 0x........: main (tc23_bogus_condwait.c:69) + +Process terminating with default action of signal 7 (SIGBUS) + Invalid address alignment at address 0x........ + at 0x........: (within libpthread-?.?.so) + by 0x........: pthread_cond_wait@@GLIBC_2.3.2(within libpthread-?.?.so) + by 0x........: main (tc23_bogus_condwait.c:69) + +ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0) |
|
From: <sv...@va...> - 2009-07-04 14:34:00
|
Author: sewardj
Date: 2009-07-04 15:33:53 +0100 (Sat, 04 Jul 2009)
New Revision: 10412
Log:
Make this test work on PowerPC too.
Modified:
trunk/memcheck/tests/Makefile.am
trunk/memcheck/tests/atomic_incs.c
Modified: trunk/memcheck/tests/Makefile.am
===================================================================
--- trunk/memcheck/tests/Makefile.am 2009-07-04 14:20:43 UTC (rev 10411)
+++ trunk/memcheck/tests/Makefile.am 2009-07-04 14:33:53 UTC (rev 10412)
@@ -185,6 +185,7 @@
check_PROGRAMS = \
addressable \
+ atomic_incs \
badaddrvalue badfree badjump badjump2 \
badloop badpoll badrw brk2 buflen_check \
clientperm custom_alloc \
@@ -230,11 +231,7 @@
wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 \
writev
-if VGCONF_ARCHS_INCLUDE_X86
-check_PROGRAMS += atomic_incs
-endif
-
AM_CFLAGS += $(AM_FLAG_M3264_PRI)
AM_CXXFLAGS += $(AM_FLAG_M3264_PRI)
Modified: trunk/memcheck/tests/atomic_incs.c
===================================================================
--- trunk/memcheck/tests/atomic_incs.c 2009-07-04 14:20:43 UTC (rev 10411)
+++ trunk/memcheck/tests/atomic_incs.c 2009-07-04 14:33:53 UTC (rev 10412)
@@ -7,6 +7,7 @@
#include <stdlib.h>
#include <stdio.h>
+#include <string.h>
#include <assert.h>
#include <unistd.h>
#include <sys/wait.h>
@@ -14,12 +15,15 @@
#define NNN 3456987
+#define IS_8_ALIGNED(_ptr) (0 == (((unsigned long)(_ptr)) & 7))
+
+
__attribute__((noinline)) void atomic_add_8bit ( char* p, int n )
{
+#if defined(VGA_x86)
unsigned long block[2];
block[0] = (unsigned long)p;
block[1] = n;
-#if defined(VGA_x86)
__asm__ __volatile__(
"movl 0(%%esi),%%eax" "\n\t"
"movl 4(%%esi),%%ebx" "\n\t"
@@ -27,23 +31,61 @@
: : "S"(&block[0])/* S means "esi only" */ : "memory","cc","eax","ebx"
);
#elif defined(VGA_amd64)
+ unsigned long block[2];
+ block[0] = (unsigned long)p;
+ block[1] = n;
__asm__ __volatile__(
"movq 0(%%rsi),%%rax" "\n\t"
"movq 8(%%rsi),%%rbx" "\n\t"
"lock; addb %%bl,(%%rax)" "\n"
: : "S"(&block[0])/* S means "rsi only" */ : "memory","cc","rax","rbx"
);
+#elif defined(VGA_ppc32)
+ /* Nasty hack. Does correctly atomically do *p += n, but only if p
+ is 8-aligned -- guaranteed by caller. */
+ unsigned long success;
+ do {
+ __asm__ __volatile__(
+ "lwarx 15,0,%1" "\n\t"
+ "add 15,15,%2" "\n\t"
+ "stwcx. 15,0,%1" "\n\t"
+ "mfcr %0" "\n\t"
+ "srwi %0,%0,29" "\n\t"
+ "andi. %0,%0,1" "\n"
+ : /*out*/"=b"(success)
+ : /*in*/ "b"(p), "b"(((unsigned long)n) << 24)
+ : /*trash*/ "memory", "cc", "r15"
+ );
+ } while (success != 1);
+#elif defined(VGA_ppc64)
+ /* Nasty hack. Does correctly atomically do *p += n, but only if p
+ is 8-aligned -- guaranteed by caller. */
+ unsigned long success;
+ do {
+ __asm__ __volatile__(
+ "ldarx 15,0,%1" "\n\t"
+ "add 15,15,%2" "\n\t"
+ "stdcx. 15,0,%1" "\n\t"
+ "mfcr %0" "\n\t"
+ "srwi %0,%0,29" "\n\t"
+ "andi. %0,%0,1" "\n"
+ : /*out*/"=b"(success)
+ : /*in*/ "b"(p), "b"(((unsigned long)n) << 56)
+ : /*trash*/ "memory", "cc", "r15"
+ );
+ } while (success != 1);
#else
# error "Unsupported arch"
#endif
}
+
__attribute__((noinline)) void atomic_add_16bit ( short* p, int n )
{
+#if defined(VGA_x86)
unsigned long block[2];
block[0] = (unsigned long)p;
block[1] = n;
-#if defined(VGA_x86)
__asm__ __volatile__(
"movl 0(%%esi),%%eax" "\n\t"
"movl 4(%%esi),%%ebx" "\n\t"
@@ -51,12 +93,49 @@
: : "S"(&block[0])/* S means "esi only" */ : "memory","cc","eax","ebx"
);
#elif defined(VGA_amd64)
+ unsigned long block[2];
+ block[0] = (unsigned long)p;
+ block[1] = n;
__asm__ __volatile__(
"movq 0(%%rsi),%%rax" "\n\t"
"movq 8(%%rsi),%%rbx" "\n\t"
"lock; addw %%bx,(%%rax)" "\n"
: : "S"(&block[0])/* S means "rsi only" */ : "memory","cc","rax","rbx"
);
+#elif defined(VGA_ppc32)
+ /* Nasty hack. Does correctly atomically do *p += n, but only if p
+ is 8-aligned -- guaranteed by caller. */
+ unsigned long success;
+ do {
+ __asm__ __volatile__(
+ "lwarx 15,0,%1" "\n\t"
+ "add 15,15,%2" "\n\t"
+ "stwcx. 15,0,%1" "\n\t"
+ "mfcr %0" "\n\t"
+ "srwi %0,%0,29" "\n\t"
+ "andi. %0,%0,1" "\n"
+ : /*out*/"=b"(success)
+ : /*in*/ "b"(p), "b"(((unsigned long)n) << 16)
+ : /*trash*/ "memory", "cc", "r15"
+ );
+ } while (success != 1);
+#elif defined(VGA_ppc64)
+ /* Nasty hack. Does correctly atomically do *p += n, but only if p
+ is 8-aligned -- guaranteed by caller. */
+ unsigned long success;
+ do {
+ __asm__ __volatile__(
+ "ldarx 15,0,%1" "\n\t"
+ "add 15,15,%2" "\n\t"
+ "stdcx. 15,0,%1" "\n\t"
+ "mfcr %0" "\n\t"
+ "srwi %0,%0,29" "\n\t"
+ "andi. %0,%0,1" "\n"
+ : /*out*/"=b"(success)
+ : /*in*/ "b"(p), "b"(((unsigned long)n) << 48)
+ : /*trash*/ "memory", "cc", "r15"
+ );
+ } while (success != 1);
#else
# error "Unsupported arch"
#endif
@@ -64,10 +143,10 @@
__attribute__((noinline)) void atomic_add_32bit ( int* p, int n )
{
+#if defined(VGA_x86)
unsigned long block[2];
block[0] = (unsigned long)p;
block[1] = n;
-#if defined(VGA_x86)
__asm__ __volatile__(
"movl 0(%%esi),%%eax" "\n\t"
"movl 4(%%esi),%%ebx" "\n\t"
@@ -75,12 +154,47 @@
: : "S"(&block[0])/* S means "esi only" */ : "memory","cc","eax","ebx"
);
#elif defined(VGA_amd64)
+ unsigned long block[2];
+ block[0] = (unsigned long)p;
+ block[1] = n;
__asm__ __volatile__(
"movq 0(%%rsi),%%rax" "\n\t"
"movq 8(%%rsi),%%rbx" "\n\t"
"lock; addl %%ebx,(%%rax)" "\n"
: : "S"(&block[0])/* S means "rsi only" */ : "memory","cc","rax","rbx"
);
+#elif defined(VGA_ppc32)
+ unsigned long success;
+ do {
+ __asm__ __volatile__(
+ "lwarx 15,0,%1" "\n\t"
+ "add 15,15,%2" "\n\t"
+ "stwcx. 15,0,%1" "\n\t"
+ "mfcr %0" "\n\t"
+ "srwi %0,%0,29" "\n\t"
+ "andi. %0,%0,1" "\n"
+ : /*out*/"=b"(success)
+ : /*in*/ "b"(p), "b"(n)
+ : /*trash*/ "memory", "cc", "r15"
+ );
+ } while (success != 1);
+#elif defined(VGA_ppc64)
+ /* Nasty hack. Does correctly atomically do *p += n, but only if p
+ is 8-aligned -- guaranteed by caller. */
+ unsigned long success;
+ do {
+ __asm__ __volatile__(
+ "ldarx 15,0,%1" "\n\t"
+ "add 15,15,%2" "\n\t"
+ "stdcx. 15,0,%1" "\n\t"
+ "mfcr %0" "\n\t"
+ "srwi %0,%0,29" "\n\t"
+ "andi. %0,%0,1" "\n"
+ : /*out*/"=b"(success)
+ : /*in*/ "b"(p), "b"(((unsigned long)n) << 32)
+ : /*trash*/ "memory", "cc", "r15"
+ );
+ } while (success != 1);
#else
# error "Unsupported arch"
#endif
@@ -88,20 +202,35 @@
__attribute__((noinline)) void atomic_add_64bit ( long long int* p, int n )
{
- // this is a bit subtle. It relies on the fact that, on a 64-bit platform,
- // sizeof(unsigned long long int) == sizeof(unsigned long) == sizeof(void*)
+#if defined(VGA_x86) || defined(VGA_ppc32)
+ /* do nothing; is not supported */
+#elif defined(VGA_amd64)
+ // this is a bit subtle. It relies on the fact that, on a 64-bit platform,
+ // sizeof(unsigned long long int) == sizeof(unsigned long) == sizeof(void*)
unsigned long long int block[2];
block[0] = (unsigned long long int)(unsigned long)p;
block[1] = n;
-#if defined(VGA_x86)
- /* do nothing; is not supported */
-#elif defined(VGA_amd64)
__asm__ __volatile__(
"movq 0(%%rsi),%%rax" "\n\t"
"movq 8(%%rsi),%%rbx" "\n\t"
"lock; addq %%rbx,(%%rax)" "\n"
: : "S"(&block[0])/* S means "rsi only" */ : "memory","cc","rax","rbx"
);
+#elif defined(VGA_ppc64)
+ unsigned long success;
+ do {
+ __asm__ __volatile__(
+ "ldarx 15,0,%1" "\n\t"
+ "add 15,15,%2" "\n\t"
+ "stdcx. 15,0,%1" "\n\t"
+ "mfcr %0" "\n\t"
+ "srwi %0,%0,29" "\n\t"
+ "andi. %0,%0,1" "\n"
+ : /*out*/"=b"(success)
+ : /*in*/ "b"(p), "b"(n)
+ : /*trash*/ "memory", "cc", "r15"
+ );
+ } while (success != 1);
#else
# error "Unsupported arch"
#endif
@@ -132,6 +261,13 @@
p32 = (int*)(page+512);
p64 = (long long int*)(page+768);
+ assert( IS_8_ALIGNED(p8) );
+ assert( IS_8_ALIGNED(p16) );
+ assert( IS_8_ALIGNED(p32) );
+ assert( IS_8_ALIGNED(p64) );
+
+ memset(page, 0, 1024);
+
*p8 = 0;
*p16 = 0;
*p32 = 0;
@@ -175,12 +311,12 @@
assert(WIFEXITED(status));
printf("FINAL VALUES: 8 bit %d, 16 bit %d, 32 bit %d, 64 bit %lld\n",
- (int)(*p8), (int)(*p16), *p32, *p64 );
+ (int)(*(signed char*)p8), (int)(*p16), *p32, *p64 );
- if (-74 == (int)(*p8)
+ if (-74 == (int)(*(signed char*)p8)
&& 32694 == (int)(*p16)
&& 6913974 == *p32
- && (0LL == *p64 || 682858642110 == *p64)) {
+ && (0LL == *p64 || 682858642110LL == *p64)) {
printf("PASS\n");
} else {
printf("FAIL -- see source code for expected values\n");
|
|
From: <sv...@va...> - 2009-07-04 14:21:02
|
Author: bart Date: 2009-07-04 15:20:43 +0100 (Sat, 04 Jul 2009) New Revision: 10411 Log: Un-break PPC build. Modified: trunk/memcheck/tests/Makefile.am Modified: trunk/memcheck/tests/Makefile.am =================================================================== --- trunk/memcheck/tests/Makefile.am 2009-07-04 12:44:08 UTC (rev 10410) +++ trunk/memcheck/tests/Makefile.am 2009-07-04 14:20:43 UTC (rev 10411) @@ -185,7 +185,6 @@ check_PROGRAMS = \ addressable \ - atomic_incs \ badaddrvalue badfree badjump badjump2 \ badloop badpoll badrw brk2 buflen_check \ clientperm custom_alloc \ @@ -231,7 +230,11 @@ wrap1 wrap2 wrap3 wrap4 wrap5 wrap6 wrap7 wrap7so.so wrap8 \ writev +if VGCONF_ARCHS_INCLUDE_X86 +check_PROGRAMS += atomic_incs +endif + AM_CFLAGS += $(AM_FLAG_M3264_PRI) AM_CXXFLAGS += $(AM_FLAG_M3264_PRI) |
|
From: <sv...@va...> - 2009-07-04 13:07:37
|
Author: sewardj
Date: 2009-07-04 14:07:30 +0100 (Sat, 04 Jul 2009)
New Revision: 1906
Log:
Fix ppc64 guest layout description following recent DCAS hackery.
Modified:
trunk/priv/guest_ppc_helpers.c
Modified: trunk/priv/guest_ppc_helpers.c
===================================================================
--- trunk/priv/guest_ppc_helpers.c 2009-07-02 12:36:08 UTC (rev 1905)
+++ trunk/priv/guest_ppc_helpers.c 2009-07-04 13:07:30 UTC (rev 1906)
@@ -808,7 +808,7 @@
/* Describe any sections to be regarded by Memcheck as
'always-defined'. */
- .n_alwaysDefd = 12,
+ .n_alwaysDefd = 11,
.alwaysDefd
= { /* 0 */ ALWAYSDEFD64(guest_CIA),
|
|
From: <sv...@va...> - 2009-07-04 12:58:42
|
Author: bart
Date: 2009-07-04 13:20:04 +0100 (Sat, 04 Jul 2009)
New Revision: 10408
Log:
Added regression test for pthread cleanup handling.
Added:
trunk/drd/tests/pth_cleanup_handler.c
trunk/drd/tests/pth_cleanup_handler.stderr.exp
trunk/drd/tests/pth_cleanup_handler.vgtest
Modified:
trunk/drd/tests/Makefile.am
Modified: trunk/drd/tests/Makefile.am
===================================================================
--- trunk/drd/tests/Makefile.am 2009-07-04 12:17:58 UTC (rev 10407)
+++ trunk/drd/tests/Makefile.am 2009-07-04 12:20:04 UTC (rev 10408)
@@ -98,6 +98,8 @@
pth_broadcast.vgtest \
pth_cancel_locked.stderr.exp \
pth_cancel_locked.vgtest \
+ pth_cleanup_handler.stderr.exp \
+ pth_cleanup_handler.vgtest \
pth_cond_race.stderr.exp \
pth_cond_race.vgtest \
pth_cond_race2.stderr.exp \
@@ -228,6 +230,7 @@
new_delete \
pth_broadcast \
pth_cancel_locked \
+ pth_cleanup_handler \
pth_cond_race \
pth_create_chain \
pth_detached \
@@ -286,6 +289,8 @@
monitor_example_SOURCES = monitor_example.cpp
new_delete_SOURCES = new_delete.cpp
+pth_cleanup_handler_CFLAGS = @FLAG_W_NO_EMPTY_BODY@
+
tsan_unittest_SOURCES = tsan_unittest.cpp
tsan_unittest_CXXFLAGS = $(AM_CXXFLAGS) \
-DTHREAD_WRAPPERS='"tsan_thread_wrappers_pthread.h"'
Added: trunk/drd/tests/pth_cleanup_handler.c
===================================================================
--- trunk/drd/tests/pth_cleanup_handler.c (rev 0)
+++ trunk/drd/tests/pth_cleanup_handler.c 2009-07-04 12:20:04 UTC (rev 10408)
@@ -0,0 +1,66 @@
+/*
+ * Test program for verifying whether pthread cleanup handlers are invoked
+ * correctly.
+ */
+
+
+#include <stdbool.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <pthread.h>
+#include <stdlib.h>
+
+
+static pthread_rwlock_t rwl;
+
+
+static void cleanup_handler(void* param)
+{
+ fprintf(stderr, "Cleanup handler has been called.\n");
+ pthread_rwlock_unlock(&rwl);
+}
+
+static void* f(void *p)
+{
+ if (pthread_rwlock_rdlock(&rwl) != 0)
+ {
+ fprintf(stderr, "pthread_rwlock_rdlock()\n");
+ exit(1);
+ }
+
+ pthread_cleanup_push(cleanup_handler, NULL);
+ pthread_exit(0);
+ pthread_cleanup_pop(true);
+}
+
+
+int main()
+{
+ pthread_t pt1, pt2;
+
+ // Make sure the program exits in case a deadlock has been triggered.
+ alarm(2);
+
+ if (pthread_rwlock_init(&rwl, NULL) != 0)
+ {
+ fprintf(stderr, "pthread_rwlock_init()\n");
+ exit(1);
+ }
+ if (pthread_create(&pt1, NULL, f, NULL) != 0)
+ {
+ fprintf(stderr, "pthread_create()\n");
+ exit(1);
+ }
+ if (pthread_create(&pt2, NULL, f, NULL) != 0)
+ {
+ fprintf(stderr, "pthread_create()\n");
+ exit(1);
+ }
+
+ pthread_join(pt1, 0);
+ pthread_join(pt2, 0);
+
+ fprintf(stderr, "Test succeeded.\n");
+
+ return 0;
+}
Added: trunk/drd/tests/pth_cleanup_handler.stderr.exp
===================================================================
--- trunk/drd/tests/pth_cleanup_handler.stderr.exp (rev 0)
+++ trunk/drd/tests/pth_cleanup_handler.stderr.exp 2009-07-04 12:20:04 UTC (rev 10408)
@@ -0,0 +1,6 @@
+
+Cleanup handler has been called.
+Cleanup handler has been called.
+Test succeeded.
+
+ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Added: trunk/drd/tests/pth_cleanup_handler.vgtest
===================================================================
--- trunk/drd/tests/pth_cleanup_handler.vgtest (rev 0)
+++ trunk/drd/tests/pth_cleanup_handler.vgtest 2009-07-04 12:20:04 UTC (rev 10408)
@@ -0,0 +1,3 @@
+prereq: test -e pth_cleanup_handler && ./supported_libpthread
+vgopts: --var-info=yes --check-stack-var=yes
+prog: pth_cleanup_handler
|
|
From: <sv...@va...> - 2009-07-04 12:58:37
|
Author: bart Date: 2009-07-04 13:20:44 +0100 (Sat, 04 Jul 2009) New Revision: 10409 Log: Updated ignore list. Modified: trunk/drd/tests/ Property changes on: trunk/drd/tests ___________________________________________________________________ Name: svn:ignore - *.dSYM *.stderr.diff* *.stderr.out *.stdout.diff* *.stdout.out .deps annotate_rwlock atomic_var bar_bad bar_trivial boost_thread circular_buffer drd_bitmap_test fp_race hg01_all_ok hg02_deadlock hg03_inherit hg04_race hg05_race2 hg06_readshared hold_lock linuxthreads_det Makefile Makefile.in matinv memory_allocation monitor_example new_delete omp_matinv omp_prime omp_printf pth_barrier pth_barrier_race pth_barrier_reinit pth_broadcast pth_cancel_locked pth_cond_race pth_create_chain pth_create_glibc_2_0 pth_detached pth_detached_sem pth_inconsistent_cond_wait pth_mutex_reinit pth_process_shared_mutex pth_spinlock qt4_mutex qt4_rwlock qt4_semaphore recursive_mutex rwlock_race rwlock_test sem_as_mutex sigalrm tc01_simple_race tc02_simple_tls tc03_re_excl tc04_free_lock tc05_simple_race tc06_two_races tc07_hbl1 tc08_hbl2 tc09_bad_unlock tc10_rec_lock tc11_XCHG tc12_rwl_trivial tc13_laog1 tc15_laog_lockdel tc16_byterace tc17_sembar tc18_semabuse tc19_shadowmem tc20_verifywrap tc21_pthonce tc22_exit_w_lock tc23_bogus_condwait tc24_nonzero_sem thread_name trylock tsan_unittest unit_bitmap unit_vc vg_regtest.tmp* + *.dSYM *.stderr.diff* *.stderr.out *.stdout.diff* *.stdout.out .deps Makefile Makefile.in annotate_rwlock atomic_var bar_bad bar_trivial boost_thread circular_buffer drd_bitmap_test fp_race hg01_all_ok hg02_deadlock hg03_inherit hg04_race hg05_race2 hg06_readshared hold_lock linuxthreads_det matinv memory_allocation monitor_example new_delete omp_matinv omp_prime omp_printf pth_barrier pth_barrier_race pth_barrier_reinit pth_broadcast pth_cancel_locked pth_cleanup_handler pth_cond_race pth_create_chain pth_create_glibc_2_0 pth_detached pth_detached_sem pth_inconsistent_cond_wait pth_mutex_reinit pth_process_shared_mutex pth_spinlock qt4_mutex qt4_rwlock qt4_semaphore recursive_mutex rwlock_race rwlock_test sem_as_mutex sigalrm tc01_simple_race tc02_simple_tls tc03_re_excl tc04_free_lock tc05_simple_race tc06_two_races tc07_hbl1 tc08_hbl2 tc09_bad_unlock tc10_rec_lock tc11_XCHG tc12_rwl_trivial tc13_laog1 tc15_laog_lockdel tc16_byterace tc17_sembar tc18_semabuse tc19_shadowmem tc20_verifywrap tc21_pthonce tc22_exit_w_lock tc23_bogus_condwait tc24_nonzero_sem thread_name trylock tsan_unittest unit_bitmap unit_vc vg_regtest.tmp* |
|
From: <sv...@va...> - 2009-07-04 12:54:12
|
Author: bart Date: 2009-07-04 13:17:07 +0100 (Sat, 04 Jul 2009) New Revision: 10406 Log: Restored configure test for -Wno-empty-body. Modified: trunk/configure.in Modified: trunk/configure.in =================================================================== --- trunk/configure.in 2009-07-04 00:38:11 UTC (rev 10405) +++ trunk/configure.in 2009-07-04 12:17:07 UTC (rev 10406) @@ -1196,6 +1196,29 @@ fi +# does this compiler support -Wno-empty-body ? + +AC_MSG_CHECKING([if gcc accepts -Wno-empty-body]) + +safe_CFLAGS=$CFLAGS +CFLAGS="-Wno-empty-body" + +AC_TRY_COMPILE( +[ ], +[ + return 0; +], +[ +AC_SUBST([FLAG_W_NO_EMPTY_BODY], [-Wno-empty-body]) +AC_MSG_RESULT([yes]) +], +[ +AC_SUBST([FLAG_W_NO_EMPTY_BODY], []) +AC_MSG_RESULT([no]) +]) +CFLAGS=$safe_CFLAGS + + # does this compiler support -Wno-format-zero-length ? AC_MSG_CHECKING([if gcc accepts -Wno-format-zero-length]) |
|
From: <sv...@va...> - 2009-07-04 12:54:12
|
Author: bart Date: 2009-07-04 13:17:58 +0100 (Sat, 04 Jul 2009) New Revision: 10407 Log: Enabled the DRD command line flags --var-info=yes and --check-stack-var=yes for the pth_cancel_locked regression test. Modified: trunk/drd/tests/pth_cancel_locked.vgtest Modified: trunk/drd/tests/pth_cancel_locked.vgtest =================================================================== --- trunk/drd/tests/pth_cancel_locked.vgtest 2009-07-04 12:17:07 UTC (rev 10406) +++ trunk/drd/tests/pth_cancel_locked.vgtest 2009-07-04 12:17:58 UTC (rev 10407) @@ -1,2 +1,3 @@ prereq: ./supported_libpthread +vgopts: --var-info=yes --check-stack-var=yes prog: pth_cancel_locked |
|
From: <sv...@va...> - 2009-07-04 12:54:07
|
Author: sewardj
Date: 2009-07-04 13:44:08 +0100 (Sat, 04 Jul 2009)
New Revision: 10410
Log:
Add tests to verify behaviour of atomic instruction handling.
Added:
trunk/memcheck/tests/atomic_incs.c
trunk/memcheck/tests/atomic_incs.stderr.exp
trunk/memcheck/tests/atomic_incs.stdout.exp-32bit
trunk/memcheck/tests/atomic_incs.stdout.exp-64bit
trunk/memcheck/tests/atomic_incs.vgtest
trunk/none/tests/amd64/amd64locked.c
trunk/none/tests/amd64/amd64locked.stderr.exp
trunk/none/tests/amd64/amd64locked.stdout.exp
trunk/none/tests/amd64/amd64locked.vgtest
trunk/none/tests/x86/x86locked.c
trunk/none/tests/x86/x86locked.stderr.exp
trunk/none/tests/x86/x86locked.stdout.exp
trunk/none/tests/x86/x86locked.vgtest
Modified:
trunk/memcheck/tests/Makefile.am
trunk/none/tests/amd64/Makefile.am
trunk/none/tests/x86/Makefile.am
Modified: trunk/memcheck/tests/Makefile.am
===================================================================
--- trunk/memcheck/tests/Makefile.am 2009-07-04 12:20:44 UTC (rev 10409)
+++ trunk/memcheck/tests/Makefile.am 2009-07-04 12:44:08 UTC (rev 10410)
@@ -36,6 +36,8 @@
EXTRA_DIST = \
addressable.stderr.exp addressable.stdout.exp addressable.vgtest \
+ atomic_incs.stderr.exp atomic_incs.vgtest \
+ atomic_incs.stdout.exp-32bit atomic_incs.stdout.exp-64bit \
badaddrvalue.stderr.exp \
badaddrvalue.stdout.exp badaddrvalue.vgtest \
badfree-2trace.stderr.exp badfree-2trace.vgtest \
@@ -183,6 +185,7 @@
check_PROGRAMS = \
addressable \
+ atomic_incs \
badaddrvalue badfree badjump badjump2 \
badloop badpoll badrw brk2 buflen_check \
clientperm custom_alloc \
Added: trunk/memcheck/tests/atomic_incs.c
===================================================================
--- trunk/memcheck/tests/atomic_incs.c (rev 0)
+++ trunk/memcheck/tests/atomic_incs.c 2009-07-04 12:44:08 UTC (rev 10410)
@@ -0,0 +1,192 @@
+
+/* This is an example of a program which does atomic memory operations
+ between two processes which share a page. Valgrind 3.4.1 and
+ earlier produce incorrect answers because it does not preserve
+ atomicity of the relevant instructions in the generated code; but
+ the post-DCAS-merge versions of Valgrind do behave correctly. */
+
+#include <stdlib.h>
+#include <stdio.h>
+#include <assert.h>
+#include <unistd.h>
+#include <sys/wait.h>
+#include <sys/mman.h>
+
+#define NNN 3456987
+
+__attribute__((noinline)) void atomic_add_8bit ( char* p, int n )
+{
+ unsigned long block[2];
+ block[0] = (unsigned long)p;
+ block[1] = n;
+#if defined(VGA_x86)
+ __asm__ __volatile__(
+ "movl 0(%%esi),%%eax" "\n\t"
+ "movl 4(%%esi),%%ebx" "\n\t"
+ "lock; addb %%bl,(%%eax)" "\n"
+ : : "S"(&block[0])/* S means "esi only" */ : "memory","cc","eax","ebx"
+ );
+#elif defined(VGA_amd64)
+ __asm__ __volatile__(
+ "movq 0(%%rsi),%%rax" "\n\t"
+ "movq 8(%%rsi),%%rbx" "\n\t"
+ "lock; addb %%bl,(%%rax)" "\n"
+ : : "S"(&block[0])/* S means "rsi only" */ : "memory","cc","rax","rbx"
+ );
+#else
+# error "Unsupported arch"
+#endif
+}
+
+__attribute__((noinline)) void atomic_add_16bit ( short* p, int n )
+{
+ unsigned long block[2];
+ block[0] = (unsigned long)p;
+ block[1] = n;
+#if defined(VGA_x86)
+ __asm__ __volatile__(
+ "movl 0(%%esi),%%eax" "\n\t"
+ "movl 4(%%esi),%%ebx" "\n\t"
+ "lock; addw %%bx,(%%eax)" "\n"
+ : : "S"(&block[0])/* S means "esi only" */ : "memory","cc","eax","ebx"
+ );
+#elif defined(VGA_amd64)
+ __asm__ __volatile__(
+ "movq 0(%%rsi),%%rax" "\n\t"
+ "movq 8(%%rsi),%%rbx" "\n\t"
+ "lock; addw %%bx,(%%rax)" "\n"
+ : : "S"(&block[0])/* S means "rsi only" */ : "memory","cc","rax","rbx"
+ );
+#else
+# error "Unsupported arch"
+#endif
+}
+
+__attribute__((noinline)) void atomic_add_32bit ( int* p, int n )
+{
+ unsigned long block[2];
+ block[0] = (unsigned long)p;
+ block[1] = n;
+#if defined(VGA_x86)
+ __asm__ __volatile__(
+ "movl 0(%%esi),%%eax" "\n\t"
+ "movl 4(%%esi),%%ebx" "\n\t"
+ "lock; addl %%ebx,(%%eax)" "\n"
+ : : "S"(&block[0])/* S means "esi only" */ : "memory","cc","eax","ebx"
+ );
+#elif defined(VGA_amd64)
+ __asm__ __volatile__(
+ "movq 0(%%rsi),%%rax" "\n\t"
+ "movq 8(%%rsi),%%rbx" "\n\t"
+ "lock; addl %%ebx,(%%rax)" "\n"
+ : : "S"(&block[0])/* S means "rsi only" */ : "memory","cc","rax","rbx"
+ );
+#else
+# error "Unsupported arch"
+#endif
+}
+
+__attribute__((noinline)) void atomic_add_64bit ( long long int* p, int n )
+{
+ // this is a bit subtle. It relies on the fact that, on a 64-bit platform,
+ // sizeof(unsigned long long int) == sizeof(unsigned long) == sizeof(void*)
+ unsigned long long int block[2];
+ block[0] = (unsigned long long int)(unsigned long)p;
+ block[1] = n;
+#if defined(VGA_x86)
+ /* do nothing; is not supported */
+#elif defined(VGA_amd64)
+ __asm__ __volatile__(
+ "movq 0(%%rsi),%%rax" "\n\t"
+ "movq 8(%%rsi),%%rbx" "\n\t"
+ "lock; addq %%rbx,(%%rax)" "\n"
+ : : "S"(&block[0])/* S means "rsi only" */ : "memory","cc","rax","rbx"
+ );
+#else
+# error "Unsupported arch"
+#endif
+}
+
+int main ( int argc, char** argv )
+{
+ int i, status;
+ char* page;
+ char* p8;
+ short* p16;
+ int* p32;
+ long long int* p64;
+ pid_t child, p2;
+
+ printf("parent, pre-fork\n");
+
+ page = mmap( 0, sysconf(_SC_PAGESIZE),
+ PROT_READ|PROT_WRITE,
+ MAP_ANONYMOUS|MAP_SHARED, -1, 0 );
+ if (page == MAP_FAILED) {
+ perror("mmap failed");
+ exit(1);
+ }
+
+ p8 = (char*)(page+0);
+ p16 = (short*)(page+256);
+ p32 = (int*)(page+512);
+ p64 = (long long int*)(page+768);
+
+ *p8 = 0;
+ *p16 = 0;
+ *p32 = 0;
+ *p64 = 0;
+
+ child = fork();
+ if (child == -1) {
+ perror("fork() failed\n");
+ return 1;
+ }
+
+ if (child == 0) {
+ /* --- CHILD --- */
+ printf("child\n");
+ for (i = 0; i < NNN; i++) {
+ atomic_add_8bit(p8, 1);
+ atomic_add_16bit(p16, 1);
+ atomic_add_32bit(p32, 1);
+ atomic_add_64bit(p64, 98765 ); /* ensure we hit the upper 32 bits */
+ }
+ return 1;
+ /* NOTREACHED */
+
+ }
+
+ /* --- PARENT --- */
+
+ printf("parent\n");
+
+ for (i = 0; i < NNN; i++) {
+ atomic_add_8bit(p8, 1);
+ atomic_add_16bit(p16, 1);
+ atomic_add_32bit(p32, 1);
+ atomic_add_64bit(p64, 98765 ); /* ensure we hit the upper 32 bits */
+ }
+
+ p2 = waitpid(child, &status, 0);
+ assert(p2 == child);
+
+ /* assert that child finished normally */
+ assert(WIFEXITED(status));
+
+ printf("FINAL VALUES: 8 bit %d, 16 bit %d, 32 bit %d, 64 bit %lld\n",
+ (int)(*p8), (int)(*p16), *p32, *p64 );
+
+ if (-74 == (int)(*p8)
+ && 32694 == (int)(*p16)
+ && 6913974 == *p32
+ && (0LL == *p64 || 682858642110 == *p64)) {
+ printf("PASS\n");
+ } else {
+ printf("FAIL -- see source code for expected values\n");
+ }
+
+ printf("parent exits\n");
+
+ return 0;
+}
Added: trunk/memcheck/tests/atomic_incs.stderr.exp
===================================================================
Added: trunk/memcheck/tests/atomic_incs.stdout.exp-32bit
===================================================================
Added: trunk/memcheck/tests/atomic_incs.stdout.exp-64bit
===================================================================
--- trunk/memcheck/tests/atomic_incs.stdout.exp-64bit (rev 0)
+++ trunk/memcheck/tests/atomic_incs.stdout.exp-64bit 2009-07-04 12:44:08 UTC (rev 10410)
@@ -0,0 +1,7 @@
+parent, pre-fork
+child
+parent, pre-fork
+parent
+FINAL VALUES: 8 bit -74, 16 bit 32694, 32 bit 6913974, 64 bit 682858642110
+PASS
+parent exits
Added: trunk/memcheck/tests/atomic_incs.vgtest
===================================================================
--- trunk/memcheck/tests/atomic_incs.vgtest (rev 0)
+++ trunk/memcheck/tests/atomic_incs.vgtest 2009-07-04 12:44:08 UTC (rev 10410)
@@ -0,0 +1,2 @@
+prog: atomic_incs
+vgopts: -q --track-origins=yes
Modified: trunk/none/tests/amd64/Makefile.am
===================================================================
--- trunk/none/tests/amd64/Makefile.am 2009-07-04 12:20:44 UTC (rev 10409)
+++ trunk/none/tests/amd64/Makefile.am 2009-07-04 12:44:08 UTC (rev 10410)
@@ -17,6 +17,7 @@
# to avoid packaging screwups if 'make dist' is run on a machine
# which failed the BUILD_SSE3_TESTS test in configure.in.
EXTRA_DIST = \
+ amd64locked.vgtest amd64locked.stdout.exp amd64locked.stderr.exp \
bug127521-64.vgtest bug127521-64.stdout.exp bug127521-64.stderr.exp \
bug132813-amd64.vgtest bug132813-amd64.stdout.exp \
bug132813-amd64.stderr.exp \
@@ -50,6 +51,7 @@
slahf-amd64.vgtest
check_PROGRAMS = \
+ amd64locked \
bug127521-64 bug132813-amd64 bug132918 \
clc \
$(INSN_TESTS) \
@@ -80,6 +82,7 @@
AM_CCASFLAGS += @FLAG_M64@
# generic C ones
+amd64locked_CFLAGS = $(AM_CFLAGS) -O
bug132918_LDADD = -lm
insn_basic_SOURCES = insn_basic.def
insn_basic_LDADD = -lm
Added: trunk/none/tests/amd64/amd64locked.c
===================================================================
--- trunk/none/tests/amd64/amd64locked.c (rev 0)
+++ trunk/none/tests/amd64/amd64locked.c 2009-07-04 12:44:08 UTC (rev 10410)
@@ -0,0 +1,1062 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#define VERBOSE 0
+
+typedef unsigned int UInt;
+typedef unsigned char UChar;
+typedef unsigned long long int ULong;
+typedef signed long long int Long;
+typedef signed int Int;
+typedef unsigned short UShort;
+typedef unsigned long UWord;
+typedef char HChar;
+
+/////////////////////////////////////////////////////////////////
+// BEGIN crc32 stuff //
+/////////////////////////////////////////////////////////////////
+
+static const UInt crc32Table[256] = {
+
+ /*-- Ugly, innit? --*/
+
+ 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
+ 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
+ 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
+ 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
+ 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
+ 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
+ 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
+ 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
+ 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
+ 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
+ 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
+ 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
+ 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
+ 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
+ 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
+ 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
+ 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
+ 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
+ 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
+ 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
+ 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
+ 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
+ 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
+ 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
+ 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
+ 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
+ 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
+ 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
+ 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
+ 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
+ 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
+ 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
+ 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
+ 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
+ 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
+ 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
+ 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
+ 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
+ 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
+ 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
+ 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
+ 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
+ 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
+ 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
+ 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
+ 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
+ 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
+ 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
+ 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
+ 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
+ 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
+ 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
+ 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
+ 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
+ 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
+ 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
+ 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
+ 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
+ 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
+ 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
+ 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
+ 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
+ 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
+ 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
+};
+
+#define UPDATE_CRC(crcVar,cha) \
+{ \
+ crcVar = (crcVar << 8) ^ \
+ crc32Table[(crcVar >> 24) ^ \
+ ((UChar)cha)]; \
+}
+
+static UInt crcBytes ( UChar* bytes, UWord nBytes, UInt crcIn )
+{
+ UInt crc = crcIn;
+ while (nBytes >= 4) {
+ UPDATE_CRC(crc, bytes[0]);
+ UPDATE_CRC(crc, bytes[1]);
+ UPDATE_CRC(crc, bytes[2]);
+ UPDATE_CRC(crc, bytes[3]);
+ bytes += 4;
+ nBytes -= 4;
+ }
+ while (nBytes >= 1) {
+ UPDATE_CRC(crc, bytes[0]);
+ bytes += 1;
+ nBytes -= 1;
+ }
+ return crc;
+}
+
+static UInt crcFinalise ( UInt crc ) {
+ return ~crc;
+}
+
+////////
+
+static UInt theCRC = 0xFFFFFFFF;
+
+static HChar outBuf[1024];
+// take output that's in outBuf, length as specified, and
+// update the running crc.
+static void send ( int nbytes )
+{
+ assert( ((unsigned int)nbytes) < sizeof(outBuf)-1);
+ assert(outBuf[nbytes] == 0);
+ theCRC = crcBytes( (UChar*)&outBuf[0], nbytes, theCRC );
+ if (VERBOSE) printf("SEND %08x %s", theCRC, outBuf);
+}
+
+
+/////////////////////////////////////////////////////////////////
+// END crc32 stuff //
+/////////////////////////////////////////////////////////////////
+
+#if 0
+
+// full version
+#define NVALS 76
+
+static ULong val[NVALS]
+ = { 0x00ULL, 0x01ULL, 0x02ULL, 0x03ULL,
+ 0x3FULL, 0x40ULL, 0x41ULL,
+ 0x7EULL, 0x7FULL, 0x80ULL, 0x81ULL, 0x82ULL,
+ 0xBFULL, 0xC0ULL, 0xC1ULL,
+ 0xFCULL, 0xFDULL, 0xFEULL, 0xFFULL,
+
+ 0xFF00ULL, 0xFF01ULL, 0xFF02ULL, 0xFF03ULL,
+ 0xFF3FULL, 0xFF40ULL, 0xFF41ULL,
+ 0xFF7EULL, 0xFF7FULL, 0xFF80ULL, 0xFF81ULL, 0xFF82ULL,
+ 0xFFBFULL, 0xFFC0ULL, 0xFFC1ULL,
+ 0xFFFCULL, 0xFFFDULL, 0xFFFEULL, 0xFFFFULL,
+
+ 0xFFFFFF00ULL, 0xFFFFFF01ULL, 0xFFFFFF02ULL, 0xFFFFFF03ULL,
+ 0xFFFFFF3FULL, 0xFFFFFF40ULL, 0xFFFFFF41ULL,
+ 0xFFFFFF7EULL, 0xFFFFFF7FULL, 0xFFFFFF80ULL, 0xFFFFFF81ULL, 0xFFFFFF82ULL,
+ 0xFFFFFFBFULL, 0xFFFFFFC0ULL, 0xFFFFFFC1ULL,
+ 0xFFFFFFFCULL, 0xFFFFFFFDULL, 0xFFFFFFFEULL, 0xFFFFFFFFULL,
+
+ 0xFFFFFFFFFFFFFF00ULL, 0xFFFFFFFFFFFFFF01ULL, 0xFFFFFFFFFFFFFF02ULL,
+ 0xFFFFFFFFFFFFFF03ULL,
+ 0xFFFFFFFFFFFFFF3FULL, 0xFFFFFFFFFFFFFF40ULL, 0xFFFFFFFFFFFFFF41ULL,
+ 0xFFFFFFFFFFFFFF7EULL, 0xFFFFFFFFFFFFFF7FULL, 0xFFFFFFFFFFFFFF80ULL,
+ 0xFFFFFFFFFFFFFF81ULL, 0xFFFFFFFFFFFFFF82ULL,
+ 0xFFFFFFFFFFFFFFBFULL, 0xFFFFFFFFFFFFFFC0ULL, 0xFFFFFFFFFFFFFFC1ULL,
+ 0xFFFFFFFFFFFFFFFCULL, 0xFFFFFFFFFFFFFFFDULL, 0xFFFFFFFFFFFFFFFEULL,
+ 0xFFFFFFFFFFFFFFFFULL
+ };
+
+#else
+
+// shortened version, for use as valgrind regtest
+#define NVALS 36
+
+static ULong val[NVALS]
+ = { 0x00ULL, 0x01ULL,
+ 0x3FULL, 0x40ULL,
+ 0x7FULL, 0x80ULL,
+ 0xBFULL, 0xC0ULL,
+ 0xFFULL,
+
+ 0xFF00ULL, 0xFF01ULL,
+ 0xFF3FULL, 0xFF40ULL,
+ 0xFF7FULL, 0xFF80ULL,
+ 0xFFBFULL, 0xFFC0ULL,
+ 0xFFFFULL,
+
+ 0xFFFFFF00ULL, 0xFFFFFF01ULL,
+ 0xFFFFFF3FULL, 0xFFFFFF40ULL,
+ 0xFFFFFF7EULL, 0xFFFFFF7FULL,
+ 0xFFFFFFBFULL, 0xFFFFFFC0ULL,
+ 0xFFFFFFFFULL,
+
+ 0xFFFFFFFFFFFFFF00ULL, 0xFFFFFFFFFFFFFF01ULL,
+ 0xFFFFFFFFFFFFFF3FULL, 0xFFFFFFFFFFFFFF40ULL,
+ 0xFFFFFFFFFFFFFF7FULL, 0xFFFFFFFFFFFFFF80ULL,
+ 0xFFFFFFFFFFFFFFBFULL, 0xFFFFFFFFFFFFFFC0ULL,
+ 0xFFFFFFFFFFFFFFFFULL
+ };
+
+#endif
+
+/////////////////////////////////////
+
+#define CC_C 0x0001
+#define CC_P 0x0004
+#define CC_A 0x0010
+#define CC_Z 0x0040
+#define CC_S 0x0080
+#define CC_O 0x0800
+
+#define CC_MASK (CC_C | CC_P | CC_A | CC_Z | CC_S | CC_O)
+
+#define GEN_do_locked_G_E(_name,_eax) \
+ \
+ __attribute__((noinline)) void do_locked_G_E_##_name ( void ) \
+ { \
+ volatile Long e_val, g_val, e_val_before; \
+ Long o, s, z, a, c, p, v1, v2, flags_in; \
+ Long block[4]; \
+ \
+ for (v1 = 0; v1 < NVALS; v1++) { \
+ for (v2 = 0; v2 < NVALS; v2++) { \
+ \
+ for (o = 0; o < 2; o++) { \
+ for (s = 0; s < 2; s++) { \
+ for (z = 0; z < 2; z++) { \
+ for (a = 0; a < 2; a++) { \
+ for (c = 0; c < 2; c++) { \
+ for (p = 0; p < 2; p++) { \
+ \
+ flags_in = (o ? CC_O : 0) \
+ | (s ? CC_S : 0) \
+ | (z ? CC_Z : 0) \
+ | (a ? CC_A : 0) \
+ | (c ? CC_C : 0) \
+ | (p ? CC_P : 0); \
+ \
+ g_val = val[v1]; \
+ e_val = val[v2]; \
+ e_val_before = e_val; \
+ \
+ block[0] = flags_in; \
+ block[1] = g_val; \
+ block[2] = (long)&e_val; \
+ block[3] = 0; \
+ __asm__ __volatile__( \
+ "movq 0(%0), %%rax\n\t" \
+ "pushq %%rax\n\t" \
+ "popfq\n\t" \
+ "movq 8(%0), %%rax\n\t" \
+ "movq 16(%0), %%rbx\n\t" \
+ "lock; " #_name " %%" #_eax ",(%%rbx)\n\t" \
+ "pushfq\n\t" \
+ "popq %%rax\n\t" \
+ "movq %%rax, 24(%0)\n\t" \
+ : : "r"(&block[0]) : "rax","rbx","cc","memory" \
+ ); \
+ \
+ send( \
+ sprintf(outBuf, \
+ "%s G=%016llx E=%016llx CCIN=%08llx -> E=%016llx CCOUT=%08llx\n", \
+ #_name, g_val, e_val_before, flags_in, \
+ e_val, block[3] & CC_MASK)); \
+ \
+ }}}}}} \
+ \
+ }} \
+ }
+
+GEN_do_locked_G_E(addb,al)
+GEN_do_locked_G_E(addw,ax)
+GEN_do_locked_G_E(addl,eax)
+GEN_do_locked_G_E(addq,rax)
+
+GEN_do_locked_G_E(orb, al)
+GEN_do_locked_G_E(orw, ax)
+GEN_do_locked_G_E(orl, eax)
+GEN_do_locked_G_E(orq, rax)
+
+GEN_do_locked_G_E(adcb,al)
+GEN_do_locked_G_E(adcw,ax)
+GEN_do_locked_G_E(adcl,eax)
+GEN_do_locked_G_E(adcq,rax)
+
+GEN_do_locked_G_E(sbbb,al)
+GEN_do_locked_G_E(sbbw,ax)
+GEN_do_locked_G_E(sbbl,eax)
+GEN_do_locked_G_E(sbbq,rax)
+
+GEN_do_locked_G_E(andb,al)
+GEN_do_locked_G_E(andw,ax)
+GEN_do_locked_G_E(andl,eax)
+GEN_do_locked_G_E(andq,rax)
+
+GEN_do_locked_G_E(subb,al)
+GEN_do_locked_G_E(subw,ax)
+GEN_do_locked_G_E(subl,eax)
+GEN_do_locked_G_E(subq,rax)
+
+GEN_do_locked_G_E(xorb,al)
+GEN_do_locked_G_E(xorw,ax)
+GEN_do_locked_G_E(xorl,eax)
+GEN_do_locked_G_E(xorq,rax)
+
+
+
+
+#define GEN_do_locked_imm_E(_name,_eax,_imm) \
+ \
+ __attribute__((noinline)) void do_locked_imm_E_##_name##_##_imm ( void ) \
+ { \
+ volatile Long e_val, e_val_before; \
+ Long o, s, z, a, c, p, v2, flags_in; \
+ Long block[3]; \
+ \
+ for (v2 = 0; v2 < NVALS; v2++) { \
+ \
+ for (o = 0; o < 2; o++) { \
+ for (s = 0; s < 2; s++) { \
+ for (z = 0; z < 2; z++) { \
+ for (a = 0; a < 2; a++) { \
+ for (c = 0; c < 2; c++) { \
+ for (p = 0; p < 2; p++) { \
+ \
+ flags_in = (o ? CC_O : 0) \
+ | (s ? CC_S : 0) \
+ | (z ? CC_Z : 0) \
+ | (a ? CC_A : 0) \
+ | (c ? CC_C : 0) \
+ | (p ? CC_P : 0); \
+ \
+ e_val = val[v2]; \
+ e_val_before = e_val; \
+ \
+ block[0] = flags_in; \
+ block[1] = (long)&e_val; \
+ block[2] = 0; \
+ __asm__ __volatile__( \
+ "movq 0(%0), %%rax\n\t" \
+ "pushq %%rax\n\t" \
+ "popfq\n\t" \
+ "movq 8(%0), %%rbx\n\t" \
+ "lock; " #_name " $" #_imm ",(%%rbx)\n\t" \
+ "pushfq\n\t" \
+ "popq %%rax\n\t" \
+ "movq %%rax, 16(%0)\n\t" \
+ : : "r"(&block[0]) : "rax","rbx","cc","memory" \
+ ); \
+ \
+ send( \
+ sprintf(outBuf, \
+ "%s I=%s E=%016llx CCIN=%08llx -> E=%016llx CCOUT=%08llx\n", \
+ #_name, #_imm, e_val_before, flags_in, \
+ e_val, block[2] & CC_MASK)); \
+ \
+ }}}}}} \
+ \
+ } \
+ }
+
+GEN_do_locked_imm_E(addb,al,0x7F)
+GEN_do_locked_imm_E(addb,al,0xF1)
+GEN_do_locked_imm_E(addw,ax,0x7E)
+GEN_do_locked_imm_E(addw,ax,0x9325)
+GEN_do_locked_imm_E(addl,eax,0x7D)
+GEN_do_locked_imm_E(addl,eax,0x31415927)
+GEN_do_locked_imm_E(addq,rax,0x7D)
+GEN_do_locked_imm_E(addq,rax,0x31415927)
+
+GEN_do_locked_imm_E(orb,al,0x7F)
+GEN_do_locked_imm_E(orb,al,0xF1)
+GEN_do_locked_imm_E(orw,ax,0x7E)
+GEN_do_locked_imm_E(orw,ax,0x9325)
+GEN_do_locked_imm_E(orl,eax,0x7D)
+GEN_do_locked_imm_E(orl,eax,0x31415927)
+GEN_do_locked_imm_E(orq,rax,0x7D)
+GEN_do_locked_imm_E(orq,rax,0x31415927)
+
+GEN_do_locked_imm_E(adcb,al,0x7F)
+GEN_do_locked_imm_E(adcb,al,0xF1)
+GEN_do_locked_imm_E(adcw,ax,0x7E)
+GEN_do_locked_imm_E(adcw,ax,0x9325)
+GEN_do_locked_imm_E(adcl,eax,0x7D)
+GEN_do_locked_imm_E(adcl,eax,0x31415927)
+GEN_do_locked_imm_E(adcq,rax,0x7D)
+GEN_do_locked_imm_E(adcq,rax,0x31415927)
+
+GEN_do_locked_imm_E(sbbb,al,0x7F)
+GEN_do_locked_imm_E(sbbb,al,0xF1)
+GEN_do_locked_imm_E(sbbw,ax,0x7E)
+GEN_do_locked_imm_E(sbbw,ax,0x9325)
+GEN_do_locked_imm_E(sbbl,eax,0x7D)
+GEN_do_locked_imm_E(sbbl,eax,0x31415927)
+GEN_do_locked_imm_E(sbbq,rax,0x7D)
+GEN_do_locked_imm_E(sbbq,rax,0x31415927)
+
+GEN_do_locked_imm_E(andb,al,0x7F)
+GEN_do_locked_imm_E(andb,al,0xF1)
+GEN_do_locked_imm_E(andw,ax,0x7E)
+GEN_do_locked_imm_E(andw,ax,0x9325)
+GEN_do_locked_imm_E(andl,eax,0x7D)
+GEN_do_locked_imm_E(andl,eax,0x31415927)
+GEN_do_locked_imm_E(andq,rax,0x7D)
+GEN_do_locked_imm_E(andq,rax,0x31415927)
+
+GEN_do_locked_imm_E(subb,al,0x7F)
+GEN_do_locked_imm_E(subb,al,0xF1)
+GEN_do_locked_imm_E(subw,ax,0x7E)
+GEN_do_locked_imm_E(subw,ax,0x9325)
+GEN_do_locked_imm_E(subl,eax,0x7D)
+GEN_do_locked_imm_E(subl,eax,0x31415927)
+GEN_do_locked_imm_E(subq,rax,0x7D)
+GEN_do_locked_imm_E(subq,rax,0x31415927)
+
+GEN_do_locked_imm_E(xorb,al,0x7F)
+GEN_do_locked_imm_E(xorb,al,0xF1)
+GEN_do_locked_imm_E(xorw,ax,0x7E)
+GEN_do_locked_imm_E(xorw,ax,0x9325)
+GEN_do_locked_imm_E(xorl,eax,0x7D)
+GEN_do_locked_imm_E(xorl,eax,0x31415927)
+GEN_do_locked_imm_E(xorq,rax,0x7D)
+GEN_do_locked_imm_E(xorq,rax,0x31415927)
+
+#define GEN_do_locked_unary_E(_name,_eax) \
+ \
+ __attribute__((noinline)) void do_locked_unary_E_##_name ( void ) \
+ { \
+ volatile Long e_val, e_val_before; \
+ Long o, s, z, a, c, p, v2, flags_in; \
+ Long block[3]; \
+ \
+ for (v2 = 0; v2 < NVALS; v2++) { \
+ \
+ for (o = 0; o < 2; o++) { \
+ for (s = 0; s < 2; s++) { \
+ for (z = 0; z < 2; z++) { \
+ for (a = 0; a < 2; a++) { \
+ for (c = 0; c < 2; c++) { \
+ for (p = 0; p < 2; p++) { \
+ \
+ flags_in = (o ? CC_O : 0) \
+ | (s ? CC_S : 0) \
+ | (z ? CC_Z : 0) \
+ | (a ? CC_A : 0) \
+ | (c ? CC_C : 0) \
+ | (p ? CC_P : 0); \
+ \
+ e_val = val[v2]; \
+ e_val_before = e_val; \
+ \
+ block[0] = flags_in; \
+ block[1] = (long)&e_val; \
+ block[2] = 0; \
+ __asm__ __volatile__( \
+ "movq 0(%0), %%rax\n\t" \
+ "pushq %%rax\n\t" \
+ "popfq\n\t" \
+ "movq 8(%0), %%rbx\n\t" \
+ "lock; " #_name " (%%rbx)\n\t" \
+ "pushfq\n\t" \
+ "popq %%rax\n\t" \
+ "movq %%rax, 16(%0)\n\t" \
+ : : "r"(&block[0]) : "rax","rbx","cc","memory" \
+ ); \
+ \
+ send( \
+ sprintf(outBuf, \
+ "%s E=%016llx CCIN=%08llx -> E=%016llx CCOUT=%08llx\n", \
+ #_name, e_val_before, flags_in, \
+ e_val, block[2] & CC_MASK)); \
+ \
+ }}}}}} \
+ \
+ } \
+ }
+
+GEN_do_locked_unary_E(decb,al)
+GEN_do_locked_unary_E(decw,ax)
+GEN_do_locked_unary_E(decl,eax)
+GEN_do_locked_unary_E(decq,rax)
+
+GEN_do_locked_unary_E(incb,al)
+GEN_do_locked_unary_E(incw,ax)
+GEN_do_locked_unary_E(incl,eax)
+GEN_do_locked_unary_E(incq,rax)
+
+GEN_do_locked_unary_E(negb,al)
+GEN_do_locked_unary_E(negw,ax)
+GEN_do_locked_unary_E(negl,eax)
+GEN_do_locked_unary_E(negq,rax)
+
+GEN_do_locked_unary_E(notb,al)
+GEN_do_locked_unary_E(notw,ax)
+GEN_do_locked_unary_E(notl,eax)
+GEN_do_locked_unary_E(notq,rax)
+
+
+/////////////////////////////////////////////////////////////////
+
+ULong btsq_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btsq\t%2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((ULong)bitno) : "rdx","cc","memory" );
+ /* Pretty meaningless to dereference base here, but that's what you
+ have to do to get a btsl insn which refers to memory starting at
+ base. */
+ return res;
+}
+ULong btsl_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btsl\t%2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((UInt)bitno));
+ return res;
+}
+ULong btsw_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btsw\t%w2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((ULong)bitno));
+ return res;
+}
+
+ULong btrq_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btrq\t%2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((ULong)bitno));
+ return res;
+}
+ULong btrl_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btrl\t%2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((UInt)bitno));
+ return res;
+}
+ULong btrw_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btrw\t%w2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((ULong)bitno));
+ return res;
+}
+
+ULong btcq_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btcq\t%2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((ULong)bitno));
+ return res;
+}
+ULong btcl_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btcl\t%2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((UInt)bitno));
+ return res;
+}
+ULong btcw_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("lock; btcw\t%w2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((ULong)bitno));
+ return res;
+}
+
+ULong btq_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("btq\t%2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((ULong)bitno)
+ : "cc", "memory");
+ return res;
+}
+ULong btl_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("btl\t%2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((UInt)bitno)
+ : "cc", "memory");
+ return res;
+}
+ULong btw_mem ( UChar* base, int bitno )
+{
+ ULong res;
+ __asm__
+ __volatile__("btw\t%w2, %0\n\t"
+ "setc %%dl\n\t"
+ "movzbq %%dl,%1\n"
+ : "=m" (*base), "=r" (res)
+ : "r" ((ULong)bitno));
+ return res;
+}
+
+ULong rol1 ( ULong x )
+{
+ return (x << 1) | (x >> 63);
+}
+
+void do_bt_G_E_tests ( void )
+{
+ ULong n, bitoff, op;
+ ULong c;
+ UChar* block;
+ ULong carrydep, res;;
+
+ /*------------------------ MEM-Q -----------------------*/
+
+ carrydep = 0;
+ block = calloc(200,1);
+ block += 100;
+ /* Valid bit offsets are -800 .. 799 inclusive. */
+
+ for (n = 0; n < 10000; n++) {
+ bitoff = (random() % 1600) - 800;
+ op = random() % 4;
+ c = 2;
+ switch (op) {
+ case 0: c = btsq_mem(block, bitoff); break;
+ case 1: c = btrq_mem(block, bitoff); break;
+ case 2: c = btcq_mem(block, bitoff); break;
+ case 3: c = btq_mem(block, bitoff); break;
+ }
+ c &= 255;
+ assert(c == 0 || c == 1);
+ carrydep = c ? (rol1(carrydep) ^ (Long)bitoff) : carrydep;
+ }
+
+ /* Compute final result */
+ block -= 100;
+ res = 0;
+ for (n = 0; n < 200; n++) {
+ UChar ch = block[n];
+ /* printf("%d ", (int)block[n]); */
+ res = rol1(res) ^ (ULong)ch;
+ }
+
+ send( sprintf(outBuf,
+ "bt{s,r,c}q: final res 0x%llx, carrydep 0x%llx\n",
+ res, carrydep));
+ free(block);
+
+ /*------------------------ MEM-L -----------------------*/
+
+ carrydep = 0;
+ block = calloc(200,1);
+ block += 100;
+ /* Valid bit offsets are -800 .. 799 inclusive. */
+
+ for (n = 0; n < 10000; n++) {
+ bitoff = (random() % 1600) - 800;
+ op = random() % 4;
+ c = 2;
+ switch (op) {
+ case 0: c = btsl_mem(block, bitoff); break;
+ case 1: c = btrl_mem(block, bitoff); break;
+ case 2: c = btcl_mem(block, bitoff); break;
+ case 3: c = btl_mem(block, bitoff); break;
+ }
+ c &= 255;
+ assert(c == 0 || c == 1);
+ carrydep = c ? (rol1(carrydep) ^ (Long)(Int)bitoff) : carrydep;
+ }
+
+ /* Compute final result */
+ block -= 100;
+ res = 0;
+ for (n = 0; n < 200; n++) {
+ UChar ch = block[n];
+ /* printf("%d ", (int)block[n]); */
+ res = rol1(res) ^ (ULong)ch;
+ }
+
+ send( sprintf(outBuf,
+ "bt{s,r,c}l: final res 0x%llx, carrydep 0x%llx\n",
+ res, carrydep));
+ free(block);
+
+ /*------------------------ MEM-W -----------------------*/
+
+ carrydep = 0;
+ block = calloc(200,1);
+ block += 100;
+ /* Valid bit offsets are -800 .. 799 inclusive. */
+
+ for (n = 0; n < 10000; n++) {
+ bitoff = (random() % 1600) - 800;
+ op = random() % 4;
+ c = 2;
+ switch (op) {
+ case 0: c = btsw_mem(block, bitoff); break;
+ case 1: c = btrw_mem(block, bitoff); break;
+ case 2: c = btcw_mem(block, bitoff); break;
+ case 3: c = btw_mem(block, bitoff); break;
+ }
+ c &= 255;
+ assert(c == 0 || c == 1);
+ carrydep = c ? (rol1(carrydep) ^ (Long)(Int)bitoff) : carrydep;
+ }
+
+ /* Compute final result */
+ block -= 100;
+ res = 0;
+ for (n = 0; n < 200; n++) {
+ UChar ch = block[n];
+ /* printf("%d ", (int)block[n]); */
+ res = rol1(res) ^ (ULong)ch;
+ }
+
+ send(sprintf(outBuf,
+ "bt{s,r,c}w: final res 0x%llx, carrydep 0x%llx\n",
+ res, carrydep));
+ free(block);
+}
+
+
+/////////////////////////////////////////////////////////////////
+
+/* Given a word, do bt/bts/btr/btc on bits 0, 1, 2 and 3 of it, and
+ also reconstruct the original bits 0, 1, 2, 3 by looking at the
+ carry flag. Returned result has mashed bits 0-3 at the bottom and
+ the reconstructed original bits 0-3 as 4-7. */
+
+ULong mash_mem_Q ( ULong* origp )
+{
+ ULong reconstructed, mashed;
+ __asm__ __volatile__ (
+ "movq %2, %%rdx\n\t"
+ ""
+ "movq $0, %%rax\n\t"
+ "\n\t"
+ "btq $0, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btsq $1, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $1, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btrq $2, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $2, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btcq $3, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $3, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "movq %%rax, %0\n\t"
+ "movq (%%rdx), %1"
+ : "=r" (reconstructed), "=r" (mashed)
+ : "r" (origp)
+ : "rax", "rcx", "rdx", "cc");
+ return (mashed & 0xF) | ((reconstructed & 0xF) << 4);
+}
+
+ULong mash_mem_L ( UInt* origp )
+{
+ ULong reconstructed; UInt mashed;
+ __asm__ __volatile__ (
+ "movq %2, %%rdx\n\t"
+ ""
+ "movq $0, %%rax\n\t"
+ "\n\t"
+ "btl $0, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btsl $1, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $1, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btrl $2, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $2, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btcl $3, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $3, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "movq %%rax, %0\n\t"
+ "movl (%%rdx), %1"
+ : "=r" (reconstructed), "=r" (mashed)
+ : "r" (origp)
+ : "rax", "rcx", "rdx", "cc");
+ return (mashed & 0xF) | ((reconstructed & 0xF) << 4);
+}
+
+ULong mash_mem_W ( UShort* origp )
+{
+ ULong reconstructed, mashed;
+ __asm__ __volatile__ (
+ "movq %2, %%rdx\n\t"
+ ""
+ "movq $0, %%rax\n\t"
+ "\n\t"
+ "btw $0, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btsw $1, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $1, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btrw $2, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $2, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "lock; btcw $3, (%%rdx)\n\t"
+ "setb %%cl\n\t"
+ "movzbq %%cl, %%rcx\n\t"
+ "shlq $3, %%rcx\n\t"
+ "orq %%rcx, %%rax\n\t"
+ "\n\t"
+ "movq %%rax, %0\n\t"
+ "movzwq (%%rdx), %1"
+ : "=r" (reconstructed), "=r" (mashed)
+ : "r" (origp)
+ : "rax", "rcx", "rdx", "cc");
+ return (mashed & 0xF) | ((reconstructed & 0xF) << 4);
+}
+
+
+void do_bt_imm_E_tests( void )
+{
+ ULong i;
+ ULong* iiq = malloc(sizeof(ULong));
+ UInt* iil = malloc(sizeof(UInt));
+ UShort* iiw = malloc(sizeof(UShort));
+ for (i = 0; i < 0x10; i++) {
+ *iiq = i;
+ *iil = i;
+ *iiw = i;
+ send(sprintf(outBuf,"0x%llx -> 0x%02llx 0x%02llx 0x%02llx\n", i,
+ mash_mem_Q(iiq), mash_mem_L(iil), mash_mem_W(iiw)));
+ }
+ free(iiq);
+ free(iil);
+ free(iiw);
+}
+
+
+/////////////////////////////////////////////////////////////////
+
+int main ( void )
+{
+ do_locked_G_E_addb();
+ do_locked_G_E_addw();
+ do_locked_G_E_addl();
+ do_locked_G_E_addq();
+
+ do_locked_G_E_orb();
+ do_locked_G_E_orw();
+ do_locked_G_E_orl();
+ do_locked_G_E_orq();
+
+ do_locked_G_E_adcb();
+ do_locked_G_E_adcw();
+ do_locked_G_E_adcl();
+ do_locked_G_E_adcq();
+
+ do_locked_G_E_sbbb();
+ do_locked_G_E_sbbw();
+ do_locked_G_E_sbbl();
+ do_locked_G_E_sbbq();
+
+ do_locked_G_E_andb();
+ do_locked_G_E_andw();
+ do_locked_G_E_andl();
+ do_locked_G_E_andq();
+
+ do_locked_G_E_subb();
+ do_locked_G_E_subw();
+ do_locked_G_E_subl();
+ do_locked_G_E_subq();
+
+ do_locked_G_E_xorb();
+ do_locked_G_E_xorw();
+ do_locked_G_E_xorl();
+ do_locked_G_E_xorq();
+ // 4 * 7
+
+ do_locked_imm_E_addb_0x7F();
+ do_locked_imm_E_addb_0xF1();
+ do_locked_imm_E_addw_0x7E();
+ do_locked_imm_E_addw_0x9325();
+ do_locked_imm_E_addl_0x7D();
+ do_locked_imm_E_addl_0x31415927();
+ do_locked_imm_E_addq_0x7D();
+ do_locked_imm_E_addq_0x31415927();
+
+ do_locked_imm_E_orb_0x7F();
+ do_locked_imm_E_orb_0xF1();
+ do_locked_imm_E_orw_0x7E();
+ do_locked_imm_E_orw_0x9325();
+ do_locked_imm_E_orl_0x7D();
+ do_locked_imm_E_orl_0x31415927();
+ do_locked_imm_E_orq_0x7D();
+ do_locked_imm_E_orq_0x31415927();
+
+ do_locked_imm_E_adcb_0x7F();
+ do_locked_imm_E_adcb_0xF1();
+ do_locked_imm_E_adcw_0x7E();
+ do_locked_imm_E_adcw_0x9325();
+ do_locked_imm_E_adcl_0x7D();
+ do_locked_imm_E_adcl_0x31415927();
+ do_locked_imm_E_adcq_0x7D();
+ do_locked_imm_E_adcq_0x31415927();
+
+ do_locked_imm_E_sbbb_0x7F();
+ do_locked_imm_E_sbbb_0xF1();
+ do_locked_imm_E_sbbw_0x7E();
+ do_locked_imm_E_sbbw_0x9325();
+ do_locked_imm_E_sbbl_0x7D();
+ do_locked_imm_E_sbbl_0x31415927();
+ do_locked_imm_E_sbbq_0x7D();
+ do_locked_imm_E_sbbq_0x31415927();
+
+ do_locked_imm_E_andb_0x7F();
+ do_locked_imm_E_andb_0xF1();
+ do_locked_imm_E_andw_0x7E();
+ do_locked_imm_E_andw_0x9325();
+ do_locked_imm_E_andl_0x7D();
+ do_locked_imm_E_andl_0x31415927();
+ do_locked_imm_E_andq_0x7D();
+ do_locked_imm_E_andq_0x31415927();
+
+ do_locked_imm_E_subb_0x7F();
+ do_locked_imm_E_subb_0xF1();
+ do_locked_imm_E_subw_0x7E();
+ do_locked_imm_E_subw_0x9325();
+ do_locked_imm_E_subl_0x7D();
+ do_locked_imm_E_subl_0x31415927();
+ do_locked_imm_E_subq_0x7D();
+ do_locked_imm_E_subq_0x31415927();
+
+ do_locked_imm_E_xorb_0x7F();
+ do_locked_imm_E_xorb_0xF1();
+ do_locked_imm_E_xorw_0x7E();
+ do_locked_imm_E_xorw_0x9325();
+ do_locked_imm_E_xorl_0x7D();
+ do_locked_imm_E_xorl_0x31415927();
+ do_locked_imm_E_xorq_0x7D();
+ do_locked_imm_E_xorq_0x31415927();
+ // 4 * 7 + 8 * 7 == 84
+
+ do_locked_unary_E_decb();
+ do_locked_unary_E_decw();
+ do_locked_unary_E_decl();
+ do_locked_unary_E_decq();
+
+ do_locked_unary_E_incb();
+ do_locked_unary_E_incw();
+ do_locked_unary_E_incl();
+ do_locked_unary_E_incq();
+
+ do_locked_unary_E_negb();
+ do_locked_unary_E_negw();
+ do_locked_unary_E_negl();
+ do_locked_unary_E_negq();
+
+ do_locked_unary_E_notb();
+ do_locked_unary_E_notw();
+ do_locked_unary_E_notl();
+ do_locked_unary_E_notq();
+ // 100
+
+ do_bt_G_E_tests();
+ // 109
+ do_bt_imm_E_tests();
+ // 118
+
+ // So there should be 118 lock-prefixed instructions in the
+ // disassembly of this compilation unit.
+ // confirm with
+ // objdump -d ./amd64locked | grep lock | grep -v do_lock | grep -v elf64 | wc
+
+
+ { UInt crcExpd = 0x1F677629;
+ theCRC = crcFinalise( theCRC );
+ if (theCRC == crcExpd) {
+ printf("amd64locked: PASS: CRCs actual 0x%08X expected 0x%08X\n",
+ theCRC, crcExpd);
+ } else {
+ printf("amd64locked: FAIL: CRCs actual 0x%08X expected 0x%08X\n",
+ theCRC, crcExpd);
+ printf("amd64locked: set #define VERBOSE 1 to diagnose\n");
+ }
+ }
+
+ return 0;
+}
Added: trunk/none/tests/amd64/amd64locked.stderr.exp
===================================================================
--- trunk/none/tests/amd64/amd64locked.stderr.exp (rev 0)
+++ trunk/none/tests/amd64/amd64locked.stderr.exp 2009-07-04 12:44:08 UTC (rev 10410)
@@ -0,0 +1,2 @@
+
+
Added: trunk/none/tests/amd64/amd64locked.stdout.exp
===================================================================
--- trunk/none/tests/amd64/amd64locked.stdout.exp (rev 0)
+++ trunk/none/tests/amd64/amd64locked.stdout.exp 2009-07-04 12:44:08 UTC (rev 10410)
@@ -0,0 +1 @@
+amd64locked: PASS: CRCs actual 0x1F677629 expected 0x1F677629
Added: trunk/none/tests/amd64/amd64locked.vgtest
===================================================================
--- trunk/none/tests/amd64/amd64locked.vgtest (rev 0)
+++ trunk/none/tests/amd64/amd64locked.vgtest 2009-07-04 12:44:08 UTC (rev 10410)
@@ -0,0 +1 @@
+prog: amd64locked
Modified: trunk/none/tests/x86/Makefile.am
===================================================================
--- trunk/none/tests/x86/Makefile.am 2009-07-04 12:20:44 UTC (rev 10409)
+++ trunk/none/tests/x86/Makefile.am 2009-07-04 12:44:08 UTC (rev 10410)
@@ -52,6 +52,7 @@
smc1.stderr.exp smc1.stdout.exp smc1.vgtest \
ssse3_misaligned.stderr.exp ssse3_misaligned.stdout.exp \
ssse3_misaligned.vgtest ssse3_misaligned.c \
+ x86locked.vgtest x86locked.stdout.exp x86locked.stderr.exp \
yield.stderr.exp yield.stdout.exp yield.disabled
check_PROGRAMS = \
@@ -82,6 +83,7 @@
pushpopseg \
sbbmisc \
smc1 \
+ x86locked \
yield
if BUILD_SSSE3_TESTS
check_PROGRAMS += ssse3_misaligned
@@ -123,6 +125,7 @@
insn_sse3_LDADD = -lm
insn_ssse3_SOURCES = insn_ssse3.def
insn_ssse3_LDADD = -lm
+x86locked_CFLAGS = $(AM_CFLAGS) -O
yield_LDADD = -lpthread
.def.c: $(srcdir)/gen_insn_test.pl
Added: trunk/none/tests/x86/x86locked.c
===================================================================
--- trunk/none/tests/x86/x86locked.c (rev 0)
+++ trunk/none/tests/x86/x86locked.c 2009-07-04 12:44:08 UTC (rev 10410)
@@ -0,0 +1,864 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+
+#define VERBOSE 0
+
+typedef unsigned int UInt;
+typedef unsigned char UChar;
+typedef unsigned long long int ULong;
+typedef signed long long int Long;
+typedef signed int Int;
+typedef unsigned short UShort;
+typedef unsigned long UWord;
+typedef char HChar;
+
+/////////////////////////////////////////////////////////////////
+// BEGIN crc32 stuff //
+/////////////////////////////////////////////////////////////////
+
+static const UInt crc32Table[256] = {
+
+ /*-- Ugly, innit? --*/
+
+ 0x00000000L, 0x04c11db7L, 0x09823b6eL, 0x0d4326d9L,
+ 0x130476dcL, 0x17c56b6bL, 0x1a864db2L, 0x1e475005L,
+ 0x2608edb8L, 0x22c9f00fL, 0x2f8ad6d6L, 0x2b4bcb61L,
+ 0x350c9b64L, 0x31cd86d3L, 0x3c8ea00aL, 0x384fbdbdL,
+ 0x4c11db70L, 0x48d0c6c7L, 0x4593e01eL, 0x4152fda9L,
+ 0x5f15adacL, 0x5bd4b01bL, 0x569796c2L, 0x52568b75L,
+ 0x6a1936c8L, 0x6ed82b7fL, 0x639b0da6L, 0x675a1011L,
+ 0x791d4014L, 0x7ddc5da3L, 0x709f7b7aL, 0x745e66cdL,
+ 0x9823b6e0L, 0x9ce2ab57L, 0x91a18d8eL, 0x95609039L,
+ 0x8b27c03cL, 0x8fe6dd8bL, 0x82a5fb52L, 0x8664e6e5L,
+ 0xbe2b5b58L, 0xbaea46efL, 0xb7a96036L, 0xb3687d81L,
+ 0xad2f2d84L, 0xa9ee3033L, 0xa4ad16eaL, 0xa06c0b5dL,
+ 0xd4326d90L, 0xd0f37027L, 0xddb056feL, 0xd9714b49L,
+ 0xc7361b4cL, 0xc3f706fbL, 0xceb42022L, 0xca753d95L,
+ 0xf23a8028L, 0xf6fb9d9fL, 0xfbb8bb46L, 0xff79a6f1L,
+ 0xe13ef6f4L, 0xe5ffeb43L, 0xe8bccd9aL, 0xec7dd02dL,
+ 0x34867077L, 0x30476dc0L, 0x3d044b19L, 0x39c556aeL,
+ 0x278206abL, 0x23431b1cL, 0x2e003dc5L, 0x2ac12072L,
+ 0x128e9dcfL, 0x164f8078L, 0x1b0ca6a1L, 0x1fcdbb16L,
+ 0x018aeb13L, 0x054bf6a4L, 0x0808d07dL, 0x0cc9cdcaL,
+ 0x7897ab07L, 0x7c56b6b0L, 0x71159069L, 0x75d48ddeL,
+ 0x6b93dddbL, 0x6f52c06cL, 0x6211e6b5L, 0x66d0fb02L,
+ 0x5e9f46bfL, 0x5a5e5b08L, 0x571d7dd1L, 0x53dc6066L,
+ 0x4d9b3063L, 0x495a2dd4L, 0x44190b0dL, 0x40d816baL,
+ 0xaca5c697L, 0xa864db20L, 0xa527fdf9L, 0xa1e6e04eL,
+ 0xbfa1b04bL, 0xbb60adfcL, 0xb6238b25L, 0xb2e29692L,
+ 0x8aad2b2fL, 0x8e6c3698L, 0x832f1041L, 0x87ee0df6L,
+ 0x99a95df3L, 0x9d684044L, 0x902b669dL, 0x94ea7b2aL,
+ 0xe0b41de7L, 0xe4750050L, 0xe9362689L, 0xedf73b3eL,
+ 0xf3b06b3bL, 0xf771768cL, 0xfa325055L, 0xfef34de2L,
+ 0xc6bcf05fL, 0xc27dede8L, 0xcf3ecb31L, 0xcbffd686L,
+ 0xd5b88683L, 0xd1799b34L, 0xdc3abdedL, 0xd8fba05aL,
+ 0x690ce0eeL, 0x6dcdfd59L, 0x608edb80L, 0x644fc637L,
+ 0x7a089632L, 0x7ec98b85L, 0x738aad5cL, 0x774bb0ebL,
+ 0x4f040d56L, 0x4bc510e1L, 0x46863638L, 0x42472b8fL,
+ 0x5c007b8aL, 0x58c1663dL, 0x558240e4L, 0x51435d53L,
+ 0x251d3b9eL, 0x21dc2629L, 0x2c9f00f0L, 0x285e1d47L,
+ 0x36194d42L, 0x32d850f5L, 0x3f9b762cL, 0x3b5a6b9bL,
+ 0x0315d626L, 0x07d4cb91L, 0x0a97ed48L, 0x0e56f0ffL,
+ 0x1011a0faL, 0x14d0bd4dL, 0x19939b94L, 0x1d528623L,
+ 0xf12f560eL, 0xf5ee4bb9L, 0xf8ad6d60L, 0xfc6c70d7L,
+ 0xe22b20d2L, 0xe6ea3d65L, 0xeba91bbcL, 0xef68060bL,
+ 0xd727bbb6L, 0xd3e6a601L, 0xdea580d8L, 0xda649d6fL,
+ 0xc423cd6aL, 0xc0e2d0ddL, 0xcda1f604L, 0xc960ebb3L,
+ 0xbd3e8d7eL, 0xb9ff90c9L, 0xb4bcb610L, 0xb07daba7L,
+ 0xae3afba2L, 0xaafbe615L, 0xa7b8c0ccL, 0xa379dd7bL,
+ 0x9b3660c6L, 0x9ff77d71L, 0x92b45ba8L, 0x9675461fL,
+ 0x8832161aL, 0x8cf30badL, 0x81b02d74L, 0x857130c3L,
+ 0x5d8a9099L, 0x594b8d2eL, 0x5408abf7L, 0x50c9b640L,
+ 0x4e8ee645L, 0x4a4ffbf2L, 0x470cdd2bL, 0x43cdc09cL,
+ 0x7b827d21L, 0x7f436096L, 0x7200464fL, 0x76c15bf8L,
+ 0x68860bfdL, 0x6c47164aL, 0x61043093L, 0x65c52d24L,
+ 0x119b4be9L, 0x155a565eL, 0x18197087L, 0x1cd86d30L,
+ 0x029f3d35L, 0x065e2082L, 0x0b1d065bL, 0x0fdc1becL,
+ 0x3793a651L, 0x3352bbe6L, 0x3e119d3fL, 0x3ad08088L,
+ 0x2497d08dL, 0x2056cd3aL, 0x2d15ebe3L, 0x29d4f654L,
+ 0xc5a92679L, 0xc1683bceL, 0xcc2b1d17L, 0xc8ea00a0L,
+ 0xd6ad50a5L, 0xd26c4d12L, 0xdf2f6bcbL, 0xdbee767cL,
+ 0xe3a1cbc1L, 0xe760d676L, 0xea23f0afL, 0xeee2ed18L,
+ 0xf0a5bd1dL, 0xf464a0aaL, 0xf9278673L, 0xfde69bc4L,
+ 0x89b8fd09L, 0x8d79e0beL, 0x803ac667L, 0x84fbdbd0L,
+ 0x9abc8bd5L, 0x9e7d9662L, 0x933eb0bbL, 0x97ffad0cL,
+ 0xafb010b1L, 0xab710d06L, 0xa6322bdfL, 0xa2f33668L,
+ 0xbcb4666dL, 0xb8757bdaL, 0xb5365d03L, 0xb1f740b4L
+};
+
+#define UPDATE_CRC(crcVar,cha) \
+{ \
+ crcVar = (crcVar << 8) ^ \
+ crc32Table[(crcVar >> 24) ^ \
+ ((UChar)cha)]; \
+}
+
+static UInt crcBytes ( UChar* bytes, UWord nBytes, UInt crcIn )
+{
+ UInt crc = crcIn;
+ while (nBytes >= 4) {
+ UPDATE_CRC(crc, bytes[0]);
+ UPDATE_CRC(crc, bytes[1]);
+ UPDATE_CRC(crc, bytes[2]);
+ UPDATE_CRC(crc, bytes[3]);
+ bytes += 4;
+ nBytes -= 4;
+ }
+ while (nBytes >= 1) {
+ UPDATE_CRC(crc, bytes[0]);
+ bytes += 1;
+ nBytes -= 1;
+ }
+ return crc;
+}
+
+static UInt crcFinalise ( UInt crc ) {
+ return ~crc;
+}
+
+////////
+
+static UInt theCRC = 0xFFFFFFFF;
+
+static HChar outBuf[1024];
+// take output that's in outBuf, length as specified, and
+// update the running crc.
+static void send ( int nbytes )
+{
+ assert( ((unsigned int)nbytes) < sizeof(outBuf)-1);
+ assert(outBuf[nbytes] == 0);
+ theCRC = crcBytes( (UChar*)&outBuf[0], nbytes, theCRC );
+ if (VERBOSE) printf("SEND %08x %s", theCRC, outBuf);
+}
+
+
+/////////////////////////////////////////////////////////////////
+// END crc32 stuff //
+/////////////////////////////////////////////////////////////////
+
+#if 0
+
+// full version
+#define NVALS 57
+
+static unsigned int val[NVALS]
+ = { 0x00, 0x01, 0x02, 0x03,
+ 0x3F, 0x40, 0x41,
+ 0x7E, 0x7F, 0x80, 0x81, 0x82,
+ 0xBF, 0xC0, 0xC1,
+ 0xFC, 0xFD, 0xFE, 0xFF,
+
+ 0xFF00, 0xFF01, 0xFF02, 0xFF03,
+ 0xFF3F, 0xFF40, 0xFF41,
+ 0xFF7E, 0xFF7F, 0xFF80, 0xFF81, 0xFF82,
+ 0xFFBF, 0xFFC0, 0xFFC1,
+ 0xFFFC, 0xFFFD, 0xFFFE, 0xFFFF,
+
+ 0xFFFFFF00, 0xFFFFFF01, 0xFFFFFF02, 0xFFFFFF03,
+ 0xFFFFFF3F, 0xFFFFFF40, 0xFFFFFF41,
+ 0xFFFFFF7E, 0xFFFFFF7F, 0xFFFFFF80, 0xFFFFFF81, 0xFFFFFF82,
+ 0xFFFFFFBF, 0xFFFFFFC0, 0xFFFFFFC1,
+ 0xFFFFFFFC, 0xFFFFFFFD, 0xFFFFFFFE, 0xFFFFFFFF
+ };
+
+#else
+
+// shortened version, for use as valgrind regtest
+#define NVALS 27
+
+static unsigned int val[NVALS]
+ = { 0x00, 0x01,
+ 0x3F, 0x40,
+ 0x7F, 0x80,
+ 0xBF, 0xC0,
+ 0xFF,
+
+ 0xFF00, 0xFF01,
+ 0xFF3F, 0xFF40,
+ 0xFF7F, 0xFF80,
+ 0xFFBF, 0xFFC0,
+ 0xFFFF,
+
+ 0xFFFFFF00, 0xFFFFFF01,
+ 0xFFFFFF3F, 0xFFFFFF40,
+ 0xFFFFFF7F, 0xFFFFFF80,
+ 0xFFFFFFBF, 0xFFFFFFC0,
+ 0xFFFFFFFF
+ };
+
+#endif
+
+/////////////////////////////////////
+
+#define CC_C 0x0001
+#define CC_P 0x0004
+#define CC_A 0x0010
+#define CC_Z 0x0040
+#define CC_S 0x0080
+#define CC_O 0x0800
+
+#define CC_MASK (CC_C | CC_P | CC_A | CC_Z | CC_S | CC_O)
+
+#define GEN_do_locked_G_E(_name,_eax) \
+ \
+ __attribute__((noinline)) void do_locked_G_E_##_name ( void ) \
+ { \
+ volatile int e_val, g_val, e_val_before; \
+ int o, s, z, a, c, p, v1, v2, flags_in; \
+ int block[4]; \
+ \
+ for (v1 = 0; v1 < NVALS; v1++) { \
+ for (v2 = 0; v2 < NVALS; v2++) { \
+ \
+ for (o = 0; o < 2; o++) { \
+ for (s = 0; s < 2; s++) { \
+ for (z = 0; z < 2; z++) { \
+ for (a = 0; a < 2; a++) { \
+ for (c = 0; c < 2; c++) { \
+ for (p = 0; p < 2; p++) { \
+ \
+ flags_in = (o ? CC_O : 0) \
+ | (s ? CC_S : 0) \
+ | (z ? CC_Z : 0) \
+ | (a ? CC_A : 0) \
+ | (c ? CC_C : 0) \
+ | (p ? CC_P : 0); \
+ \
+ g_val = val[v1]; \
+ e_val = val[v2]; \
+ e_val_before = e_val; \
+ \
+ block[0] = flags_in; \
+ block[1] = g_val; \
+ block[2] = (int)(long)&e_val; \
+ block[3] = 0; \
+ __asm__ __volatile__( \
+ "movl 0(%0), %%eax\n\t" \
+ "pushl %%eax\n\t" \
+ "popfl\n\t" \
+ "movl 4(%0), %%eax\n\t" \
+ "movl 8(%0), %%ebx\n\t" \
+ "lock; " #_name " %%" #_eax ",(%%ebx)\n\t" \
+ "pushfl\n\t" \
+ "popl %%eax\n\t" \
+ "movl %%eax, 12(%0)\n\t" \
+ : : "r"(&block[0]) : "eax","ebx","cc","memory" \
+ ); \
+ \
+ send( \
+ sprintf(outBuf, \
+ "%s G=%08x E=%08x CCIN=%08x -> E=%08x CCOUT=%08x\n", \
+ #_name, g_val, e_val_before, flags_in, \
+ e_val, block[3] & CC_MASK) ); \
+ \
+ }}}}}} \
+ \
+ }} \
+ }
+
+GEN_do_locked_G_E(addb,al)
+GEN_do_locked_G_E(addw,ax)
+GEN_do_locked_G_E(addl,eax)
+
+GEN_do_locked_G_E(orb, al)
+GEN_do_locked_G_E(orw, ax)
+GEN_do_locked_G_E(orl, eax)
+
+GEN_do_locked_G_E(adcb,al)
+GEN_do_locked_G_E(adcw,ax)
+GEN_do_locked_G_E(adcl,eax)
+
+GEN_do_locked_G_E(sbbb,al)
+GEN_do_locked_G_E(sbbw,ax)
+GEN_do_locked_G_E(sbbl,eax)
+
+GEN_do_locked_G_E(andb,al)
+GEN_do_locked_G_E(andw,ax)
+GEN_do_locked_G_E(andl,eax)
+
+GEN_do_locked_G_E(subb,al)
+GEN_do_locked_G_E(subw,ax)
+GEN_do_locked_G_E(subl,eax)
+
+GEN_do_locked_G_E(xorb,al)
+GEN_do_locked_G_E(xorw,ax)
+GEN_do_locked_G_E(xorl,eax)
+
+
+
+
+#define GEN_do_locked_imm_E(_name,_eax,_imm) \
+ \
+ __attribute__((noinline)) void do_locked_imm_E_##_name##_##_imm ( void ) \
+ { \
+ volatile int e_val, e_val_before; \
+ int o, s, z, a, c, p, v2, flags_in; \
+ int block[3]; \
+ \
+ for (v2 = 0; v2 < NVALS; v2++) { \
+ \
+ for (o = 0; o < 2; o++) { \
+ for (s = 0; s < 2; s++) { \
+ for (z = 0; z < 2; z++) { \
+ for (a = 0; a < 2; a++) { \
+ for (c = 0; c < 2; c++) { \
+ for (p = 0; p < 2; p++) { \
+ \
+ flags_in = (o ? CC_O : 0) \
+ | (s ? CC_S : 0) \
+ | (z ? CC_Z : 0) \
+ | (a ? CC_A : 0) \
+ | (c ? CC_C : 0) \
+ | (p ? CC_P : 0); \
+ \
+ e_val = val[v2]; \
+ e_val_before = e_val; \
+ \
+ block[0] = flags_in; \
+ block[1] = (int)(long)&e_val; \
+ block[2] = 0; \
+ __asm__ __volatile__( \
+ "movl 0(%0), %%eax\n\t" \
+ "pushl %%eax\n\t" \
+ "popfl\n\t" \
+ "movl 4(%0), %%ebx\n\t" \
+ "lock; " #_name " $" #_imm ",(%%ebx)\n\t" \
+ "pushfl\n\t" \
+ "popl %%eax\n\t" \
+ "movl %%eax, 8(%0)\n\t" \
+ : : "r"(&block[0]) : "eax","ebx","cc","memory" \
+ ); \
+ \
+ send( \
+ sprintf(outBuf, \
+ "%s I=%s E=%08x CCIN=%08x -> E=%08x CCOUT=%08x\n", \
+ #_name, #_imm, e_val_before, flags_in, \
+ e_val, block[2] & CC_MASK) ); \
+ \
+ }}}}}} \
+ \
+ } \
+ }
+
+GEN_do_locked_imm_E(addb,al,0x7F)
+GEN_do_locked_imm_E(addb,al,0xF1)
+GEN_do_locked_imm_E(addw,ax,0x7E)
+GEN_do_locked_imm_E(addw,ax,0x9325)
+GEN_do_locked_imm_E(addl,eax,0x7D)
+GEN_do_locked_imm_E(addl,eax,0x31415927)
+
+GEN_do_locked_imm_E(orb,al,0x7F)
+GEN_do_locked_imm_E(orb,al,0xF1)
+GEN_do_locked_imm_E(orw,ax,0x7E)
+GEN_do_locked_imm_E(orw,ax,0x9325)
+GEN_do_locked_imm_E(orl,eax,0x7D)
+GEN_do_locked_imm_E(orl,eax,0x31415927)
+
+GEN_do_locked_imm_E(adcb,al,0x7F)
+GEN_do_locked_imm_E(adcb,al,0xF1)
+GEN_do_locked_imm_E(adcw,ax,0x7E)
+GEN_do_locked_imm_E(adcw,ax,0x9325)
+GEN_do_locked_imm_E(adcl,eax,0x7D)
+GEN_do_locked_imm_E(adcl,eax,0x31415927)
+
+GEN_do_locked_imm_E(sbbb,al,0x7F)
+GEN_do_locked_imm_E(sbbb,al,0xF1)
+GEN_do_locked_imm_E(sbbw,ax,0x7E)
+GEN_do_locked_imm_E(sbbw,ax,0x9325)
+GEN_do_locked_imm_E(sbbl,eax,0x7D)
+GEN_do_locked_imm_E(sbbl,eax,0x31415927)
+
+GEN_do_locked_imm_E(andb,al,0x7F)
+GEN_do_locked_imm_E(andb,al,0xF1)
+GEN_do_locked_imm_E(andw,ax,0x7E)
+GEN_do_locked_imm_E(andw,ax,0x9325)
+GEN_do_locked_imm_E(andl,eax,0x7D)
+GEN_do_locked_imm_E(andl,eax,0x31415927)
+
+GEN_do_locked_imm_E(subb,al,0x7F)
+GEN_do_locked_imm_E(subb,al,0xF1)
+GEN_do_locked_imm_E(subw,ax,0x7E)
+GEN_do_locked_imm_E(subw,ax,0x9325)
+GEN_do_locked_imm_E(subl,eax,0x7D)
+GEN_do_locked_imm_E(subl,eax,0x31415927)
+
+GEN_do_locked_imm_E(xorb,al,0x7F)
+GEN_do_locked_imm_E(xorb,al,0xF1)
+GEN_do_locked_imm_E(xorw,ax,0x7E)
+GEN_do_locked_imm_E(xorw,ax,0x9325)
+GEN_do_locked_imm_E(xorl,eax,0x7D)
+GEN_do_locked_imm_E(xorl,eax,0x31415927)
+
+#define GEN_do_locked_unary_E(_name,_eax) \
+ \
+ __attribute__((noinline)) void do_locked_unary_E_##_name ( void ) \
+ { \
+ volatile int e_val, e_val_before; \
+ int o, s, z, a, c, p, v2, flags_in; \
+ int block[3]; \
+ \
+ for (v2 = 0; v2 < NVALS; v2++) { \
+ \
+ for (o = 0; o < 2; o++) { \
+ for (s = 0; s < 2; s++) { \
+ for (z = 0; z < 2; z++) { \
+ for (a = 0; a < 2; a++) { \
+ for (c = 0; c < 2; c++) { \
+ for (p = 0; p < 2; p++) { \
+ \
+ flags_in = (o ? CC_O : 0) \
+ | (s ? CC_S : 0) \
+ | (z ? CC_Z : 0) \
+ | (a ? CC_A : 0) \
+ | (c ? CC_C : 0) \
+ | (p ? CC_P : 0); \
+ \
+ e_val = val[v2]; \
+ e_val_before = e_val; \
+ \
+ block[0] = flags_in; \
+ block[1] = (int)(long)&e_val; \
+ block[2] = 0; \
+ __asm__ __volatile__( \
+ "movl 0(%0), %%eax\n\t" \
+ "pushl %%eax\n\t" \
+ "popfl\n\t" \
+ "movl 4(%0), %%ebx\n\t" \
+ "lock; " #_name " (%%ebx)\n\t" \
+ "pushfl\n\t" \
+ "popl %%eax\n\t" \
+ "movl %%eax, 8(%0)\n\t" \
+ : : "r"(&block[0]) : "eax","ebx","cc","memory" \
+ ); \
+ \
+ send( \
+ sprintf(outBuf, \
+ "%s E=%08x CCIN=%08x -> E=%08x CCOUT=%08x\n", \
+ #_name, e_val_before, flags_in, \
+ e_val, block[2] & CC_MASK)); \
+ \
+ }}}}}} \
+ \
+ } \
+ }
+
+GEN_do_locked_unary_E(decb,al)
+GEN_do_locked_unary_E(decw,ax)
+GEN_do_locked_unary_E(decl,eax)
+
+GEN_do_locked_unary_E(incb,al)
+GEN_do_locked_unary_E(incw,ax)
+GEN_do_locked_unary_E(incl,eax)
+
+GEN_do_locked_unary_E(negb,al)
+GEN_do_locked_unary_E(negw,ax)
+GEN_do_locked_unary_E(negl,eax)
+
+GEN_do_locked_unary_E(notb,al)
+GEN_do_locked_unary_E(notw,ax)
+GEN_do_locked_unary_E(notl,eax)
+
+
+/////////////////////////////////////////////////////////////////
+
+unsigned int btsl_mem ( UChar* base, int bitno )
+{
+ unsigned char res;
+ __asm__
+ __volatile__("lock; btsl\t%2, %0\n\t"
+ "setc\t%1"
+ : "=m" (*base), "=q" (res)
+ : "r" (bitno));
+ /* Pretty meaningless to dereference base here, but that's what you
+ have to do to get a btsl insn which refers to memory starting at
+ base. */
+ return res;
+}
+unsigned int btsw_mem ( UChar* base, int bitno )
+{
+ unsigned char res;
+ __asm__
+ __volatile__("lock; btsw\t%w2, %0\n\t"
+ "setc\t%1"
+ : "=m" (*base), "=q" (res)
+ : "r" (bitno));
+ return res;
+}
+
+unsigned int btrl_mem ( UChar* base, int bitno )
+{
+ unsigned char res;
+ __asm__
+ __volatile__("lock; btrl\t%2, %0\n\t"
+ "setc\t%1"
+ : "=m" (*base), "=q" (res)
+ : "r" (bitno));
+ return res;
+}
+unsigned int btrw_mem ( UChar* base, int bitno )
+{
+ unsigned char res;
+ __asm__
+ __volatile__("lock; btrw\t%w2, %0\n\t"
+ "setc\t%1"
+ : "=m" (*base), "=q" (res)
+ : "r" (bitno));
+ return res;
+}
+
+unsigned int btcl_mem ( UChar* base, int bitno )
+{
+ unsigned char res;
+ __asm__
+ __volatile__("lock; btcl\t%2, %0\n\t"
+ "setc\t%1"
+ : "=m" (*base), "=q" (res)
+ : "r" (bitno));
+ return res;
+}
+unsigned int btcw_mem ( UChar* base, int bitno )
+{
+ unsigned char res;
+ __asm__
+ __volatile__("lock; btcw\t%w2, %0\n\t"
+ "setc\t%1"
+ : "=m" (*base), "=q" (res)
+ : "r" (bitno));
+ return res;
+}
+
+unsigned int btl_mem ( UChar* base, int bitno )
+{
+ unsigned char res;
+ __asm__
+ __volatile__("btl\t%2, %0\n\t"
+ "setc\t%1"
+ : "=m" (*base), "=q" (res)
+ : "r" (bitno)
+ : "cc", "memory");
+ return res;
+}
+unsigned int btw_mem ( UChar* base, int bitno )
+{
+ unsigned char res;
+ __asm__
+ __volatile__("btw\t%w2, %0\n\t"
+ "setc\t%1"
+ : "=m" (*base), "=q" (res)
+ : "r" (bitno));
+ return res;
+}
+
+ULong rol1 ( ULong x )
+{
+ return (x << 1) | (x >> 63);
+}
+
+void do_bt_G_E_tests ( void )
+{
+ UInt n, bitoff, op;
+ UInt c;
+ UChar* block;
+ ULong carrydep, res;;
+
+ /*------------------------ MEM-L -----------------------*/
+
+ carrydep = 0;
+ block = calloc(200,1);
+ block += 100;
+ /* Valid bit offsets are -800 .. 799 inclusive. */
+
+ for (n = 0; n < 10000; n++) {
+ bitoff = (random() % 1600) - 800;
+ op = random() % 4;
+ c = 2;
+ switch (op) {
+ case 0: c = btsl_mem(block, bitoff); break;
+ case 1: c = btrl_mem(block, bitoff); break;
+ case 2: c = btcl_mem(bl...
[truncated message content] |
|
From: Bart V. A. <bar...@gm...> - 2009-07-04 07:44:01
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-07-04 02:13:13 EDT Ended at 2009-07-04 03:43:33 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 420 tests, 154 stderr failures, 49 stdout failures, 0 post failures == memcheck/tests/addressable (stdout) memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stdout) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stdout) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/deep_templates (stdout) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/erringfds (stdout) memcheck/tests/erringfds (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stdout) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/linux/brk (stderr) memcheck/tests/linux/capget (stderr) memcheck/tests/linux/stack_switch (stderr) memcheck/tests/linux/with-space (stdout) memcheck/tests/linux/with-space (stderr) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/linux-syslog-syscall (stderr) memcheck/tests/long_namespace_xml (stdout) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/lsframe1 (stderr) memcheck/tests/lsframe2 (stderr) memcheck/tests/mallinfo (stderr) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stdout) memcheck/tests/malloc3 (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/malloc_usable (stderr) memcheck/tests/manuel1 (stdout) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stdout) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign2 (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stdout) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/mmaptest (stderr) memcheck/tests/nanoleak2 (stderr) memcheck/tests/nanoleak_supp (stderr) memcheck/tests/new_nothrow (stderr) memcheck/tests/new_override (stdout) memcheck/tests/new_override (stderr) memcheck/tests/noisy_child (stderr) memcheck/tests/null_socket (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin2-not-quite (stderr) memcheck/tests/origin3-no (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/origin6-fp (stderr) memcheck/tests/overlap (stdout) memcheck/tests/overlap (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stdout) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pdb-realloc (stderr) memcheck/tests/pdb-realloc2 (stdout) memcheck/tests/pdb-realloc2 (stderr) memcheck/tests/pipe (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc1 (stderr) memcheck/tests/realloc2 (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/sh-mem-random (stdout) memcheck/tests/sh-mem-random (stderr) memcheck/tests/sh-mem (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/signal2 (stdout) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/stack_changes (stdout) memcheck/tests/stack_changes (stderr) memcheck/tests/str_tester (stderr) memcheck/tests/strchr (stderr) memcheck/tests/supp1 (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/supp_unknown (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/unit_libcbase (stderr) memcheck/tests/unit_oset (stdout) memcheck/tests/unit_oset (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stdout) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stdout) memcheck/tests/varinfo6 (stderr) memcheck/tests/vcpu_bz2 (stdout) memcheck/tests/vcpu_bz2 (stderr) memcheck/tests/vcpu_fbench (stdout) memcheck/tests/vcpu_fbench (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/vcpu_fnfns (stderr) memcheck/tests/wrap1 (stdout) memcheck/tests/wrap1 (stderr) memcheck/tests/wrap2 (stdout) memcheck/tests/wrap2 (stderr) memcheck/tests/wrap3 (stdout) memcheck/tests/wrap3 (stderr) memcheck/tests/wrap4 (stdout) memcheck/tests/wrap4 (stderr) memcheck/tests/wrap5 (stdout) memcheck/tests/wrap5 (stderr) memcheck/tests/wrap6 (stdout) memcheck/tests/wrap6 (stderr) memcheck/tests/wrap7 (stdout) memcheck/tests/wrap7 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) memcheck/tests/writev (stderr) memcheck/tests/xml1 (stdout) memcheck/tests/xml1 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) drd/tests/unit_bitmap (stderr) drd/tests/unit_vc (stderr) exp-ptrcheck/tests/bad_percentify (stdout) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stdout) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Tom H. <th...@cy...> - 2009-07-04 02:49:14
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-07-04 03:05:08 BST Ended at 2009-07-04 03:48:01 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 492 tests, 7 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) memcheck/tests/x86-linux/scalar_exit_group (stderr) memcheck/tests/x86-linux/scalar_supp (stderr) none/tests/amd64/bug127521-64 (stdout) none/tests/amd64/bug127521-64 (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) |
|
From: Tom H. <th...@cy...> - 2009-07-04 02:29:27
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-07-04 03:10:04 BST Ended at 2009-07-04 03:29:10 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 498 tests, 2 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) |
|
From: <sv...@va...> - 2009-07-04 01:17:17
|
Author: njn Date: 2009-07-04 01:38:11 +0100 (Sat, 04 Jul 2009) New Revision: 10405 Log: Include valgrind.spec in the tarball, as it makes things easier for packagers. Fixes bug 188560. Also updated the contents of valgrind.spec.in a bit. Modified: trunk/Makefile.am trunk/valgrind.spec.in Modified: trunk/Makefile.am =================================================================== --- trunk/Makefile.am 2009-07-02 20:47:53 UTC (rev 10404) +++ trunk/Makefile.am 2009-07-04 00:38:11 UTC (rev 10405) @@ -89,13 +89,16 @@ # Nb: no need to include any Makefile.am files here, or files included from # them, as automake includes them automatically. Also not COPYING, README # or NEWS. +# We include valgrind.spec as well as valgrind.spec.in to save packagers +# from having to run configure (bug 188560). EXTRA_DIST = \ COPYING.DOCS \ README_DEVELOPERS \ README_PACKAGERS \ README_MISSING_SYSCALL_OR_IOCTL \ valgrind.pc.in \ - valgrind.spec.in + valgrind.spec.in \ + valgrind.spec dist_noinst_SCRIPTS = \ vg-in-place Modified: trunk/valgrind.spec.in =================================================================== --- trunk/valgrind.spec.in 2009-07-02 20:47:53 UTC (rev 10404) +++ trunk/valgrind.spec.in 2009-07-04 00:38:11 UTC (rev 10405) @@ -6,23 +6,20 @@ License: GPL URL: http://www.valgrind.org/ Group: Development/Debuggers -Packager: Jeremy Fitzhardinge <je...@go...> +Packager: Julian Seward <js...@ac...> Source: @PACKAGE@-@VERSION@.tar.bz2 Buildroot: %{_tmppath}/%{name}-root %description -Valgrind is an award-winning suite of tools for debugging and profiling -Linux programs. With the tools that come with Valgrind, you can -automatically detect many memory management and threading bugs, avoiding -hours of frustrating bug-hunting, making your programs more stable. You can -also perform detailed profiling, to speed up and reduce memory use of your -programs. +Valgrind is an award-winning instrumentation framework for building dynamic +analysis tools. There are Valgrind tools that can automatically detect many +memory management and threading bugs, and profile your programs in detail. You +can also use Valgrind to build new tools. Valgrind runs on the following +platforms: x86/Linux, AMD64/Linux, PPC32/Linux, PPC64/Linux, x86/MacOSX, +AMD64/MacOSX. -The Valgrind distribution currently includes five tools: two memory error -detectors, a thread error detector, a cache profiler and a heap profiler. - %prep %setup -n @PACKAGE@-@VERSION@ @@ -39,7 +36,7 @@ %files %defattr(-,root,root) -%doc AUTHORS COPYING FAQ.txt INSTALL NEWS README* +%doc AUTHORS COPYING FAQ.txt NEWS README* %doc docs.installed/html/*.html docs.installed/html/images/*.png %{_bindir}/* %{_includedir}/valgrind |
|
From: Nicholas N. <n.n...@gm...> - 2009-07-03 17:19:10
|
Nightly build on ocean32 ( Ubuntu 9.04, x86_64 (32-bit only) )
Started at 2009-07-04 03:00:01 EST
Ended at 2009-07-04 03:19:00 EST
Results unchanged from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 460 tests, 11 stderr failures, 2 stdout failures, 0 post failures ==
memcheck/tests/linux/stack_switch (stderr)
memcheck/tests/origin1-yes (stderr)
memcheck/tests/origin5-bz2 (stderr)
none/tests/empty-exe (stderr)
none/tests/linux/mremap2 (stdout)
none/tests/shell (stdout)
none/tests/shell (stderr)
none/tests/shell_valid1 (stderr)
none/tests/shell_valid2 (stderr)
none/tests/shell_valid3 (stderr)
none/tests/shell_zerolength (stderr)
exp-ptrcheck/tests/pth_create (stderr)
exp-ptrcheck/tests/pth_specific (stderr)
=================================================
./valgrind-new/exp-ptrcheck/tests/pth_create.stderr.diff
=================================================
--- pth_create.stderr.exp 2009-07-04 03:10:02.000000000 +1000
+++ pth_create.stderr.out 2009-07-04 03:18:54.000000000 +1000
@@ -1,18 +1,31 @@
-Invalid write of size 4
+t8 = CASle(t22::t18->t1)
+exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened.
+ at 0x........: report_and_quit (m_libcassert.c:145)
+ by 0x........: vgPlain_assert_fail (m_libcassert.c:216)
+ by 0x........: h_instrument (h_main.c:4820)
+ by 0x........: LibVEX_Translate (main_main.c:500)
+ by 0x........: vgPlain_translate (m_translate.c:1517)
+ by 0x........: vgPlain_scheduler (scheduler.c:844)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:91)
+
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
at 0x........: pthread_key_create (in /...libpthread...)
by 0x........: main (pth_create.c:17)
- Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:14)
-Invalid write of size 4
- at 0x........: pthread_key_create (in /...libpthread...)
- by 0x........: main (pth_create.c:19)
- Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, a block of size 4 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:18)
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
+
=================================================
./valgrind-new/exp-ptrcheck/tests/pth_specific.stderr.diff
=================================================
--- pth_specific.stderr.exp 2009-07-04 03:10:02.000000000 +1000
+++ pth_specific.stderr.out 2009-07-04 03:18:55.000000000 +1000
@@ -5,12 +5,33 @@
legitimate range, a block of size 100 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (pth_specific.c:17)
+t8 = CASle(t22::t18->t1)
+exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened.
+ at 0x........: report_and_quit (m_libcassert.c:145)
+ by 0x........: vgPlain_assert_fail (m_libcassert.c:216)
+ by 0x........: h_instrument (h_main.c:4820)
+ by 0x........: LibVEX_Translate (main_main.c:500)
+ by 0x........: vgPlain_translate (m_translate.c:1517)
+ by 0x........: vgPlain_scheduler (scheduler.c:844)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:91)
-Invalid read of size 1
- at 0x........: main (pth_specific.c:27)
- Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, a block of size 100 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_specific.c:17)
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
+ at 0x........: pthread_key_create (in /...libpthread...)
+ by 0x........: main (pth_specific.c:22)
+
+
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2009-07-04 03:10:18.000000000 +1000
+++ stack_switch.stderr.out 2009-07-04 03:14:29.000000000 +1000
@@ -0,0 +1,2 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
=================================================
./valgrind-new/memcheck/tests/origin1-yes.stderr.diff
=================================================
--- origin1-yes.stderr.exp 2009-07-04 03:10:20.000000000 +1000
+++ origin1-yes.stderr.out 2009-07-04 03:14:46.000000000 +1000
@@ -47,7 +47,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin1-yes.c:101)
Uninitialised value was created
- at 0x........: brk (in /...libc...)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
by 0x........: sbrk (in /...libc...)
by 0x........: main (origin1-yes.c:98)
=================================================
./valgrind-new/memcheck/tests/origin1-yes.stderr.diff-darwin
=================================================
--- origin1-yes.stderr.exp-darwin 2009-07-04 03:10:20.000000000 +1000
+++ origin1-yes.stderr.out 2009-07-04 03:14:46.000000000 +1000
@@ -44,7 +44,12 @@
Undef 7 of 8 (brk)
-(no complaint; sbrk initialises memory on Darwin)
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (origin1-yes.c:101)
+ Uninitialised value was created
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: sbrk (in /...libc...)
+ by 0x........: main (origin1-yes.c:98)
Undef 8 of 8 (MAKE_MEM_UNDEFINED)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-07-04 03:10:20.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-04 03:14:50.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-07-04 03:10:20.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-04 03:14:50.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-new/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-07-04 03:10:20.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-04 03:14:50.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2009-07-04 03:10:47.000000000 +1000
+++ empty-exe.stderr.out 2009-07-04 03:16:01.000000000 +1000
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-07-04 03:10:44.000000000 +1000
+++ mremap2.stdout.out 2009-07-04 03:16:06.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,40 +173,40 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-07-04 03:10:44.000000000 +1000
+++ mremap2.stdout.out 2009-07-04 03:16:06.000000000 +1000
@@ -188,37 +188,37 @@
maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
maymv 1 fixed 0 newsz 31 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...................
..................................................
=================================================
./valgrind-new/none/tests/linux/mremap2.stdout.diff2
=================================================
--- mremap2.stdout.exp2 2009-07-04 03:10:44.000000000 +1000
+++ mremap2.stdout.out 2009-07-04 03:16:06.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,52 +173,52 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
=================================================
./valgrind-new/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-07-04 03:10:47.000000000 +1000
+++ shell.stderr.out 2009-07-04 03:16:20.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: ./x86/: is a directory
-./shell: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell: ./shell_binaryfile: cannot execute binary file
-./shell: ./shell_nosuchfile: No such file or directory
-./shell: shell_nosuchfile: command not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-07-04 03:10:47.000000000 +1000
+++ shell.stderr.out 2009-07-04 03:16:20.000000000 +1000
@@ -1,8 +1,3 @@
-./shell: 10: ./x86/: Permission denied
-./shell: 13: ./shell.vgtest: Permission denied
-execve(0x........(./shell_badinterp), 0x........, 0x........) failed, errno 2
-EXEC FAILED: I can't recover from execve() failing, so I'm dying.
-Add more stringent tests in PRE(sys_execve), or work out how to recover.
-./shell_binaryfile: 4: Syntax error: ")" unexpected
-./shell: 22: ./shell_nosuchfile: not found
-./shell: 25: shell_nosuchfile: not found
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-07-04 03:10:47.000000000 +1000
+++ shell.stdout.out 2009-07-04 03:16:20.000000000 +1000
@@ -1,10 +0,0 @@
-Execute a directory
-Execute a non-executable file
-Execute a script with a bad interpreter name
-Execute a binary file
-Execute a non-existent file
-Execute a non-existent file (2)
-Execute a valid script with a #! line
-Execute a valid script without a #! line
-Execute a valid script with #! but no interpname
-Execute a zero-length file
=================================================
./valgrind-new/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-07-04 03:10:47.000000000 +1000
+++ shell_valid1.stderr.out 2009-07-04 03:16:20.000000000 +1000
@@ -0,0 +1,3 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid1: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-07-04 03:10:47.000000000 +1000
+++ shell_valid2.stderr.out 2009-07-04 03:16:20.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid2: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-07-04 03:10:47.000000000 +1000
+++ shell_valid3.stderr.out 2009-07-04 03:16:20.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_valid3: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff
=================================================
--- shell_zerolength.stderr.exp 2009-07-04 03:10:47.000000000 +1000
+++ shell_zerolength.stderr.out 2009-07-04 03:16:20.000000000 +1000
@@ -0,0 +1,2 @@
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-new/none/tests/shell_zerolength.stderr.diff-dash
=================================================
--- shell_zerolength.stderr.exp-dash 2009-07-04 03:10:47.000000000 +1000
+++ shell_zerolength.stderr.out 2009-07-04 03:16:20.000000000 +1000
@@ -1 +1,2 @@
-Bus error
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./shell_zerolength: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/exp-ptrcheck/tests/pth_create.stderr.diff
=================================================
--- pth_create.stderr.exp 2009-07-04 03:00:37.000000000 +1000
+++ pth_create.stderr.out 2009-07-04 03:09:33.000000000 +1000
@@ -1,18 +1,31 @@
-Invalid write of size 4
+t8 = CASle(t22::t18->t1)
+exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened.
+ at 0x........: report_and_quit (m_libcassert.c:145)
+ by 0x........: vgPlain_assert_fail (m_libcassert.c:216)
+ by 0x........: h_instrument (h_main.c:4820)
+ by 0x........: LibVEX_Translate (main_main.c:500)
+ by 0x........: vgPlain_translate (m_translate.c:1517)
+ by 0x........: vgPlain_scheduler (scheduler.c:844)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:91)
+
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
at 0x........: pthread_key_create (in /...libpthread...)
by 0x........: main (pth_create.c:17)
- Address 0x........ is 1 bytes inside the accessing pointer's
- legitimate range, a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:14)
-Invalid write of size 4
- at 0x........: pthread_key_create (in /...libpthread...)
- by 0x........: main (pth_create.c:19)
- Address 0x........ is 0 bytes inside the accessing pointer's
- once-legitimate range, a block of size 4 free'd
- at 0x........: free (vg_replace_malloc.c:...)
- by 0x........: main (pth_create.c:18)
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
+
=================================================
./valgrind-old/exp-ptrcheck/tests/pth_specific.stderr.diff
=================================================
--- pth_specific.stderr.exp 2009-07-04 03:00:37.000000000 +1000
+++ pth_specific.stderr.out 2009-07-04 03:09:34.000000000 +1000
@@ -5,12 +5,33 @@
legitimate range, a block of size 100 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: main (pth_specific.c:17)
+t8 = CASle(t22::t18->t1)
+exp-ptrcheck: h_main.c:4820 (schemeS): the 'impossible' happened.
+ at 0x........: report_and_quit (m_libcassert.c:145)
+ by 0x........: vgPlain_assert_fail (m_libcassert.c:216)
+ by 0x........: h_instrument (h_main.c:4820)
+ by 0x........: LibVEX_Translate (main_main.c:500)
+ by 0x........: vgPlain_translate (m_translate.c:1517)
+ by 0x........: vgPlain_scheduler (scheduler.c:844)
+ by 0x........: run_a_thread_NORETURN (syswrap-linux.c:91)
-Invalid read of size 1
- at 0x........: main (pth_specific.c:27)
- Address 0x........ is 1 bytes before the accessing pointer's
- legitimate range, a block of size 100 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: main (pth_specific.c:17)
+sched status:
+ running_tid=1
+
+Thread 1: status = VgTs_Runnable
+ at 0x........: pthread_key_create (in /...libpthread...)
+ by 0x........: main (pth_specific.c:22)
+
+
+Note: see also the FAQ in the source distribution.
+It contains workarounds to several common problems.
+In particular, if Valgrind aborted or crashed after
+identifying problems in your program, there's a good chance
+that fixing those problems will prevent Valgrind aborting or
+crashing, especially if it happened in m_mallocfree.c.
+
+If that doesn't help, please report this bug to: www.valgrind.org
+
+In the bug report, send all the above text, the valgrind
+version, and what OS and version you are using. Thanks.
-ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2009-07-04 03:00:52.000000000 +1000
+++ stack_switch.stderr.out 2009-07-04 03:05:08.000000000 +1000
@@ -0,0 +1,2 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
=================================================
./valgrind-old/memcheck/tests/origin1-yes.stderr.diff
=================================================
--- origin1-yes.stderr.exp 2009-07-04 03:00:54.000000000 +1000
+++ origin1-yes.stderr.out 2009-07-04 03:05:26.000000000 +1000
@@ -47,7 +47,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin1-yes.c:101)
Uninitialised value was created
- at 0x........: brk (in /...libc...)
+ at 0x........: ??? (in /lib32/ld-2.9.so)
by 0x........: sbrk (in /...libc...)
by 0x........: main (origin1-yes.c:98)
=================================================
./valgrind-old/memcheck/tests/origin1-yes.stderr.diff-darwin
=================================================
--- origin1-yes.stderr.exp-darwin 2009-07-04 03:00:54.000000000 +1000
+++ origin1-yes.stderr.out 2009-07-04 03:05:26.000000000 +1000
@@ -44,7 +44,12 @@
Undef 7 of 8 (brk)
-(no complaint; sbrk initialises memory on Darwin)
+Conditional jump or move depends on uninitialised value(s)
+ at 0x........: main (origin1-yes.c:101)
+ Uninitialised value was created
+ at 0x........: ??? (in /lib32/ld-2.9.so)
+ by 0x........: sbrk (in /...libc...)
+ by 0x........: main (origin1-yes.c:98)
Undef 8 of 8 (MAKE_MEM_UNDEFINED)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-07-04 03:00:54.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-04 03:05:29.000000000 +1000
@@ -11,7 +11,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -19,7 +19,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
@@ -27,7 +27,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2820)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -38,7 +38,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2823)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -49,7 +49,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2854)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -60,7 +60,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2858)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -71,7 +71,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2963)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -82,7 +82,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: mainSort (origin5-bz2.c:2964)
by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -93,7 +93,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2269)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
@@ -104,7 +104,7 @@
Uninitialised value was created by a client request
at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: fallbackSort (origin5-bz2.c:2275)
by 0x........: BZ2_blockSort (origin5-bz2.c:3116)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-07-04 03:00:54.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-04 03:05:29.000000000 +1000
@@ -28,7 +28,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -38,7 +39,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -48,7 +50,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2855)
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -58,7 +61,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2859)
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -68,7 +72,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
@@ -78,7 +83,8 @@
at 0x........: main (origin5-bz2.c:6479)
Use of uninitialised value of size 4
- at 0x........: BZ2_blockSort (origin5-bz2.c:2964)
+ at 0x........: mainSort (origin5-bz2.c:2964)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
=================================================
./valgrind-old/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-07-04 03:00:54.000000000 +1000
+++ origin5-bz2.stderr.out 2009-07-04 03:05:29.000000000 +1000
@@ -1,7 +1,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin5-bz2.c:6481)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
Conditional jump or move depends on uninitialised value(s)
at 0x........: handle_compress (origin5-bz2.c:4686)
@@ -9,85 +9,91 @@
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
+Use of uninitialised value of size 4
at 0x........: handle_compress (origin5-bz2.c:4686)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2820)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2820)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2823)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2823)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2854)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2854)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2858)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2858)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
by 0x........: handle_compress (origin5-bz2.c:4753)
by 0x........: BZ2_bzCompress (origin5-bz2.c:4822)
by 0x........: BZ2_bzBuffToBuffCompress (origin5-bz2.c:5630)
by 0x........: main (origin5-bz2.c:6484)
Uninitialised value was created by a client request
- at 0x........: main (origin5-bz2.c:6481)
+ at 0x........: main (origin5-bz2.c:6479)
-Use of uninitialised value of size 8
- at 0x........: BZ2_blockSort (origin5-bz2.c:2963)
+Use of uninitialised value of size 4
+ at 0x........: mainSort (origin5-bz2.c:2963)
+ by 0x........: BZ2_blockSort (origin5-bz2.c:3105)
by 0x........: BZ2_compressBlock (origin5-bz2.c:4034)
<truncated beyond 100 lines>
=================================================
./valgrind-old/none/tests/empty-exe.stderr.diff
=================================================
--- empty-exe.stderr.exp 2009-07-04 03:01:21.000000000 +1000
+++ empty-exe.stderr.out 2009-07-04 03:06:40.000000000 +1000
@@ -1,2 +1,2 @@
-
-
+valgrind: wrong ELF executable class (eg. 32-bit instead of 64-bit)
+valgrind: ./empty-exe: bad interpreter (/bin/sh): VG_(strerror): unknown error
=================================================
./valgrind-old/none/tests/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-07-04 03:01:18.000000000 +1000
+++ mremap2.stdout.out 2009-07-04 03:06:45.000000000 +1000
@@ -27,38 +27,38 @@
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 0 fixed 0 newsz 21 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 0 fixed 0 newsz 29 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 0 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 0 fixed 0 newsz 30 dstpo 1 dst 0x........ -> error 12
+XXXXXXXXX.XXXXXXXXXXXXXXXXXXXX..........XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
@@ -173,40 +173,40 @@
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXX.........XXXXXXXXXX
+maymv 1 fixed 0 newsz 21 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
..................................................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.XXXXXXXXXX
+maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
-maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== src)
-XXXXXXXXX.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+maymv 1 fixed 0 newsz 30 dstpo 0 dst 0x........ -> 0x........ (== other)
+XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX....................
..................................................
<truncated beyond 100 lines>
=================================================
./valgrind-old/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-07-04 03:01:18.000000000 +1000
+++ mremap2.stdout.out 2009-07-04 03:06:45.000000000 +1000
@@ -188,37 +188,37 @@
maymv 1 fixed 0 newsz 29 dstpo 0 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-..................................................
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....................
..................................................
maymv 1 fixed 0 newsz 29 dstpo 1 dst 0x........ -> 0x........ (== other)
XXXXXXXXX...............................XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-......................
[truncated message content] |
|
From: <sv...@va...> - 2009-07-03 08:46:10
|
Author: sewardj Date: 2009-07-02 17:51:09 +0100 (Thu, 02 Jul 2009) New Revision: 10403 Log: Fix missing backslash, which was causing serious weirdness during 'make install' for Massif. Modified: trunk/massif/Makefile.am Modified: trunk/massif/Makefile.am =================================================================== --- trunk/massif/Makefile.am 2009-07-02 13:02:12 UTC (rev 10402) +++ trunk/massif/Makefile.am 2009-07-02 16:51:09 UTC (rev 10403) @@ -67,7 +67,7 @@ vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_SOURCES = vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CPPFLAGS = \ $(AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) -vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = +vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_CFLAGS = \ $(AM_CFLAGS_@VGCONF_PLATFORM_SEC_CAPS@) $(AM_CFLAGS_PIC) vgpreload_massif_@VGCONF_ARCH_SEC@_@VGCONF_OS@_so_DEPENDENCIES = \ $(LIBREPLACEMALLOC_@VGCONF_PLATFORM_SEC_CAPS@) |
|
From: Bart V. A. <bar...@gm...> - 2009-07-03 07:11:08
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-07-03 02:00:05 EDT Ended at 2009-07-03 03:10:54 EDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 420 tests, 154 stderr failures, 49 stdout failures, 0 post failures == memcheck/tests/addressable (stdout) memcheck/tests/addressable (stderr) memcheck/tests/badaddrvalue (stdout) memcheck/tests/badaddrvalue (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badfree (stderr) memcheck/tests/badjump (stderr) memcheck/tests/badjump2 (stderr) memcheck/tests/badloop (stderr) memcheck/tests/badpoll (stderr) memcheck/tests/badrw (stderr) memcheck/tests/brk2 (stderr) memcheck/tests/buflen_check (stderr) memcheck/tests/clientperm (stdout) memcheck/tests/clientperm (stderr) memcheck/tests/custom_alloc (stderr) memcheck/tests/deep_templates (stdout) memcheck/tests/describe-block (stderr) memcheck/tests/doublefree (stderr) memcheck/tests/erringfds (stdout) memcheck/tests/erringfds (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/errs1 (stderr) memcheck/tests/execve (stderr) memcheck/tests/execve2 (stderr) memcheck/tests/exitprog (stderr) memcheck/tests/file_locking (stderr) memcheck/tests/fprw (stderr) memcheck/tests/fwrite (stderr) memcheck/tests/inits (stderr) memcheck/tests/inline (stdout) memcheck/tests/inline (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/linux/brk (stderr) memcheck/tests/linux/capget (stderr) memcheck/tests/linux/stack_switch (stderr) memcheck/tests/linux/with-space (stdout) memcheck/tests/linux/with-space (stderr) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/linux-syslog-syscall (stderr) memcheck/tests/long_namespace_xml (stdout) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/lsframe1 (stderr) memcheck/tests/lsframe2 (stderr) memcheck/tests/mallinfo (stderr) memcheck/tests/malloc1 (stderr) memcheck/tests/malloc2 (stderr) memcheck/tests/malloc3 (stdout) memcheck/tests/malloc3 (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/malloc_usable (stderr) memcheck/tests/manuel1 (stdout) memcheck/tests/manuel1 (stderr) memcheck/tests/manuel2 (stdout) memcheck/tests/manuel2 (stderr) memcheck/tests/manuel3 (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/memalign2 (stderr) memcheck/tests/memalign_test (stderr) memcheck/tests/memcmptest (stdout) memcheck/tests/memcmptest (stderr) memcheck/tests/mempool (stderr) memcheck/tests/metadata (stdout) memcheck/tests/metadata (stderr) memcheck/tests/mismatches (stderr) memcheck/tests/mmaptest (stderr) memcheck/tests/nanoleak2 (stderr) memcheck/tests/nanoleak_supp (stderr) memcheck/tests/new_nothrow (stderr) memcheck/tests/new_override (stdout) memcheck/tests/new_override (stderr) memcheck/tests/noisy_child (stderr) memcheck/tests/null_socket (stderr) memcheck/tests/origin1-yes (stderr) memcheck/tests/origin2-not-quite (stderr) memcheck/tests/origin3-no (stderr) memcheck/tests/origin4-many (stderr) memcheck/tests/origin5-bz2 (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/origin6-fp (stderr) memcheck/tests/overlap (stdout) memcheck/tests/overlap (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stdout) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pdb-realloc (stderr) memcheck/tests/pdb-realloc2 (stdout) memcheck/tests/pdb-realloc2 (stderr) memcheck/tests/pipe (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/post-syscall (stderr) memcheck/tests/realloc1 (stderr) memcheck/tests/realloc2 (stderr) memcheck/tests/realloc3 (stderr) memcheck/tests/sh-mem-random (stdout) memcheck/tests/sh-mem-random (stderr) memcheck/tests/sh-mem (stderr) memcheck/tests/sigaltstack (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/signal2 (stdout) memcheck/tests/signal2 (stderr) memcheck/tests/sigprocmask (stderr) memcheck/tests/stack_changes (stdout) memcheck/tests/stack_changes (stderr) memcheck/tests/str_tester (stderr) memcheck/tests/strchr (stderr) memcheck/tests/supp1 (stderr) memcheck/tests/supp2 (stderr) memcheck/tests/supp_unknown (stderr) memcheck/tests/suppfree (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/unit_libcbase (stderr) memcheck/tests/unit_oset (stdout) memcheck/tests/unit_oset (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stdout) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stdout) memcheck/tests/varinfo6 (stderr) memcheck/tests/vcpu_bz2 (stdout) memcheck/tests/vcpu_bz2 (stderr) memcheck/tests/vcpu_fbench (stdout) memcheck/tests/vcpu_fbench (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/vcpu_fnfns (stderr) memcheck/tests/wrap1 (stdout) memcheck/tests/wrap1 (stderr) memcheck/tests/wrap2 (stdout) memcheck/tests/wrap2 (stderr) memcheck/tests/wrap3 (stdout) memcheck/tests/wrap3 (stderr) memcheck/tests/wrap4 (stdout) memcheck/tests/wrap4 (stderr) memcheck/tests/wrap5 (stdout) memcheck/tests/wrap5 (stderr) memcheck/tests/wrap6 (stdout) memcheck/tests/wrap6 (stderr) memcheck/tests/wrap7 (stdout) memcheck/tests/wrap7 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) memcheck/tests/writev (stderr) memcheck/tests/xml1 (stdout) memcheck/tests/xml1 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) drd/tests/unit_bitmap (stderr) drd/tests/unit_vc (stderr) exp-ptrcheck/tests/bad_percentify (stdout) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stdout) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Last 20 lines of verbose log follow echo make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/include' make[2]: Nothing to be done for `check'. make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/include' Making check in VEX make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' cat quote.txt > ../vex_svnversion.h svnversion -n . >> ../vex_svnversion.h cat quote.txt >> ../vex_svnversion.h cat newline.txt >> ../vex_svnversion.h if [ ! -f priv/main/vex_svnversion.h ] ; then \ mv ../vex_svnversion.h ./priv/main/; \ else \ rm -f ../vex_svnversion.h; \ fi mv: cannot move `../vex_svnversion.h' to `./priv/main/': Not a directory make[2]: *** [priv/main/vex_svnversion.h] Error 1 make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old' make: *** [check] Error 2 ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Jul 3 02:27:31 2009 --- new.short Fri Jul 3 03:10:54 2009 *************** *** 6,27 **** ! Last 20 lines of verbose log follow echo ! make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/include' ! make[2]: Nothing to be done for `check'. ! make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/include' ! Making check in VEX ! make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' ! cat quote.txt > ../vex_svnversion.h ! svnversion -n . >> ../vex_svnversion.h ! cat quote.txt >> ../vex_svnversion.h ! cat newline.txt >> ../vex_svnversion.h ! if [ ! -f priv/main/vex_svnversion.h ] ; then \ ! mv ../vex_svnversion.h ./priv/main/; \ ! else \ ! rm -f ../vex_svnversion.h; \ ! fi ! mv: cannot move `../vex_svnversion.h' to `./priv/main/': Not a directory ! make[2]: *** [priv/main/vex_svnversion.h] Error 1 ! make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old/VEX' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-old' ! make: *** [check] Error 2 --- 6,213 ---- ! Regression test results follow ! ! == 420 tests, 154 stderr failures, 49 stdout failures, 0 post failures == ! memcheck/tests/addressable (stdout) ! memcheck/tests/addressable (stderr) ! memcheck/tests/badaddrvalue (stdout) ! memcheck/tests/badaddrvalue (stderr) ! memcheck/tests/badfree-2trace (stderr) ! memcheck/tests/badfree (stderr) ! memcheck/tests/badjump (stderr) ! memcheck/tests/badjump2 (stderr) ! memcheck/tests/badloop (stderr) ! memcheck/tests/badpoll (stderr) ! memcheck/tests/badrw (stderr) ! memcheck/tests/brk2 (stderr) ! memcheck/tests/buflen_check (stderr) ! memcheck/tests/clientperm (stdout) ! memcheck/tests/clientperm (stderr) ! memcheck/tests/custom_alloc (stderr) ! memcheck/tests/deep_templates (stdout) ! memcheck/tests/describe-block (stderr) ! memcheck/tests/doublefree (stderr) ! memcheck/tests/erringfds (stdout) ! memcheck/tests/erringfds (stderr) ! memcheck/tests/error_counts (stdout) ! memcheck/tests/errs1 (stderr) ! memcheck/tests/execve (stderr) ! memcheck/tests/execve2 (stderr) ! memcheck/tests/exitprog (stderr) ! memcheck/tests/file_locking (stderr) ! memcheck/tests/fprw (stderr) ! memcheck/tests/fwrite (stderr) ! memcheck/tests/inits (stderr) ! memcheck/tests/inline (stdout) ! memcheck/tests/inline (stderr) ! memcheck/tests/leak-0 (stderr) ! memcheck/tests/leak-cases-full (stderr) ! memcheck/tests/leak-cases-summary (stderr) ! memcheck/tests/leak-cycle (stderr) ! memcheck/tests/leak-pool-0 (stderr) ! memcheck/tests/leak-pool-1 (stderr) ! memcheck/tests/leak-pool-2 (stderr) ! memcheck/tests/leak-pool-3 (stderr) ! memcheck/tests/leak-pool-4 (stderr) ! memcheck/tests/leak-pool-5 (stderr) ! memcheck/tests/leak-tree (stderr) ! memcheck/tests/linux/brk (stderr) ! memcheck/tests/linux/capget (stderr) ! memcheck/tests/linux/stack_switch (stderr) ! memcheck/tests/linux/with-space (stdout) ! memcheck/tests/linux/with-space (stderr) ! memcheck/tests/linux-syscalls-2007 (stderr) ! memcheck/tests/linux-syslog-syscall (stderr) ! memcheck/tests/long_namespace_xml (stdout) ! memcheck/tests/long_namespace_xml (stderr) ! memcheck/tests/lsframe1 (stderr) ! memcheck/tests/lsframe2 (stderr) ! memcheck/tests/mallinfo (stderr) ! memcheck/tests/malloc1 (stderr) ! memcheck/tests/malloc2 (stderr) ! memcheck/tests/malloc3 (stdout) ! memcheck/tests/malloc3 (stderr) ! memcheck/tests/malloc_free_fill (stderr) ! memcheck/tests/malloc_usable (stderr) ! memcheck/tests/manuel1 (stdout) ! memcheck/tests/manuel1 (stderr) ! memcheck/tests/manuel2 (stdout) ! memcheck/tests/manuel2 (stderr) ! memcheck/tests/manuel3 (stderr) ! memcheck/tests/match-overrun (stderr) ! memcheck/tests/memalign2 (stderr) ! memcheck/tests/memalign_test (stderr) ! memcheck/tests/memcmptest (stdout) ! memcheck/tests/memcmptest (stderr) ! memcheck/tests/mempool (stderr) ! memcheck/tests/metadata (stdout) ! memcheck/tests/metadata (stderr) ! memcheck/tests/mismatches (stderr) ! memcheck/tests/mmaptest (stderr) ! memcheck/tests/nanoleak2 (stderr) ! memcheck/tests/nanoleak_supp (stderr) ! memcheck/tests/new_nothrow (stderr) ! memcheck/tests/new_override (stdout) ! memcheck/tests/new_override (stderr) ! memcheck/tests/noisy_child (stderr) ! memcheck/tests/null_socket (stderr) ! memcheck/tests/origin1-yes (stderr) ! memcheck/tests/origin2-not-quite (stderr) ! memcheck/tests/origin3-no (stderr) ! memcheck/tests/origin4-many (stderr) ! memcheck/tests/origin5-bz2 (stdout) ! memcheck/tests/origin5-bz2 (stderr) ! memcheck/tests/origin6-fp (stderr) ! memcheck/tests/overlap (stdout) ! memcheck/tests/overlap (stderr) ! memcheck/tests/partial_load_dflt (stderr) ! memcheck/tests/partial_load_ok (stderr) ! memcheck/tests/partiallydefinedeq (stdout) ! memcheck/tests/partiallydefinedeq (stderr) ! memcheck/tests/pdb-realloc (stderr) ! memcheck/tests/pdb-realloc2 (stdout) ! memcheck/tests/pdb-realloc2 (stderr) ! memcheck/tests/pipe (stderr) ! memcheck/tests/pointer-trace (stderr) ! memcheck/tests/post-syscall (stderr) ! memcheck/tests/realloc1 (stderr) ! memcheck/tests/realloc2 (stderr) ! memcheck/tests/realloc3 (stderr) ! memcheck/tests/sh-mem-random (stdout) ! memcheck/tests/sh-mem-random (stderr) ! memcheck/tests/sh-mem (stderr) ! memcheck/tests/sigaltstack (stderr) ! memcheck/tests/sigkill (stderr) ! memcheck/tests/signal2 (stdout) ! memcheck/tests/signal2 (stderr) ! memcheck/tests/sigprocmask (stderr) ! memcheck/tests/stack_changes (stdout) ! memcheck/tests/stack_changes (stderr) ! memcheck/tests/str_tester (stderr) ! memcheck/tests/strchr (stderr) ! memcheck/tests/supp1 (stderr) ! memcheck/tests/supp2 (stderr) ! memcheck/tests/supp_unknown (stderr) ! memcheck/tests/suppfree (stderr) ! memcheck/tests/trivialleak (stderr) ! memcheck/tests/unit_libcbase (stderr) ! memcheck/tests/unit_oset (stdout) ! memcheck/tests/unit_oset (stderr) ! memcheck/tests/varinfo1 (stderr) ! memcheck/tests/varinfo2 (stderr) ! memcheck/tests/varinfo3 (stderr) ! memcheck/tests/varinfo4 (stdout) ! memcheck/tests/varinfo4 (stderr) ! memcheck/tests/varinfo5 (stderr) ! memcheck/tests/varinfo6 (stdout) ! memcheck/tests/varinfo6 (stderr) ! memcheck/tests/vcpu_bz2 (stdout) ! memcheck/tests/vcpu_bz2 (stderr) ! memcheck/tests/vcpu_fbench (stdout) ! memcheck/tests/vcpu_fbench (stderr) ! memcheck/tests/vcpu_fnfns (stdout) ! memcheck/tests/vcpu_fnfns (stderr) ! memcheck/tests/wrap1 (stdout) ! memcheck/tests/wrap1 (stderr) ! memcheck/tests/wrap2 (stdout) ! memcheck/tests/wrap2 (stderr) ! memcheck/tests/wrap3 (stdout) ! memcheck/tests/wrap3 (stderr) ! memcheck/tests/wrap4 (stdout) ! memcheck/tests/wrap4 (stderr) ! memcheck/tests/wrap5 (stdout) ! memcheck/tests/wrap5 (stderr) ! memcheck/tests/wrap6 (stdout) ! memcheck/tests/wrap6 (stderr) ! memcheck/tests/wrap7 (stdout) ! memcheck/tests/wrap7 (stderr) ! memcheck/tests/wrap8 (stdout) ! memcheck/tests/wrap8 (stderr) ! memcheck/tests/writev (stderr) ! memcheck/tests/xml1 (stdout) ! memcheck/tests/xml1 (stderr) ! none/tests/empty-exe (stderr) ! none/tests/linux/mremap (stderr) ! none/tests/linux/mremap2 (stdout) ! none/tests/ppc32/jm-fp (stdout) ! none/tests/ppc32/jm-vmx (stdout) ! none/tests/ppc32/round (stdout) ! none/tests/ppc32/test_gx (stdout) ! none/tests/ppc64/jm-fp (stdout) ! none/tests/ppc64/jm-vmx (stdout) ! none/tests/ppc64/round (stdout) ! none/tests/shell (stdout) ! none/tests/shell (stderr) ! none/tests/shell_valid1 (stderr) ! none/tests/shell_valid2 (stderr) ! none/tests/shell_valid3 (stderr) ! none/tests/shell_zerolength (stderr) ! helgrind/tests/hg05_race2 (stderr) ! helgrind/tests/tc23_bogus_condwait (stderr) ! drd/tests/tc23_bogus_condwait (stderr) ! drd/tests/unit_bitmap (stderr) ! drd/tests/unit_vc (stderr) ! exp-ptrcheck/tests/bad_percentify (stdout) ! exp-ptrcheck/tests/bad_percentify (stderr) ! exp-ptrcheck/tests/base (stderr) ! exp-ptrcheck/tests/ccc (stderr) ! exp-ptrcheck/tests/fp (stderr) ! exp-ptrcheck/tests/globalerr (stderr) ! exp-ptrcheck/tests/hackedbz2 (stdout) ! exp-ptrcheck/tests/hackedbz2 (stderr) ! exp-ptrcheck/tests/hp_bounds (stderr) ! exp-ptrcheck/tests/hp_dangle (stderr) ! exp-ptrcheck/tests/justify (stderr) ! exp-ptrcheck/tests/partial_bad (stderr) ! exp-ptrcheck/tests/partial_good (stderr) ! exp-ptrcheck/tests/preen_invars (stdout) ! exp-ptrcheck/tests/preen_invars (stderr) ! exp-ptrcheck/tests/pth_create (stderr) ! exp-ptrcheck/tests/pth_specific (stderr) ! exp-ptrcheck/tests/realloc (stderr) ! exp-ptrcheck/tests/stackerr (stderr) ! exp-ptrcheck/tests/strcpy (stderr) ! exp-ptrcheck/tests/supp (stderr) ! exp-ptrcheck/tests/tricky (stderr) ! exp-ptrcheck/tests/unaligned (stderr) ! exp-ptrcheck/tests/zero (stderr) ! |
|
From: Tom H. <th...@cy...> - 2009-07-03 02:27:40
|
Nightly build on lloyd ( x86_64, Fedora 7 )
Started at 2009-07-03 03:05:07 BST
Ended at 2009-07-03 03:27:22 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 492 tests, 7 stderr failures, 1 stdout failure, 0 post failures ==
memcheck/tests/x86-linux/scalar (stderr)
memcheck/tests/x86-linux/scalar_exit_group (stderr)
memcheck/tests/x86-linux/scalar_supp (stderr)
none/tests/amd64/bug127521-64 (stdout)
none/tests/amd64/bug127521-64 (stderr)
exp-ptrcheck/tests/ccc (stderr)
exp-ptrcheck/tests/pth_create (stderr)
exp-ptrcheck/tests/pth_specific (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
auxprogs/genoffsets.c
grep xyzzy auxprogs/genoffsets.s | grep define \
| sed "s/xyzzy\\$//g" | sed "s/xyzzy//g" \
> pub/libvex_guest_offsets.h
rm -f auxprogs/genoffsets.s
cat quote.txt > ../vex_svnversion.h
svnversion -n . >> ../vex_svnversion.h
cat quote.txt >> ../vex_svnversion.h
cat newline.txt >> ../vex_svnversion.h
if [ ! -f priv/main/vex_svnversion.h ] ; then \
mv ../vex_svnversion.h ./priv/main/; \
else \
rm -f ../vex_svnversion.h; \
fi
mv: cannot move `../vex_svnversion.h' to `./priv/main/': Not a directory
make[2]: *** [priv/main/vex_svnversion.h] Error 1
make[2]: Leaving directory `/tmp/vgtest/2009-07-03/valgrind-old/VEX'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/vgtest/2009-07-03/valgrind-old'
make: *** [all] Error 2
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Fri Jul 3 03:06:19 2009
--- new.short Fri Jul 3 03:27:22 2009
***************
*** 3,26 ****
Configuring valgrind ... done
! Building valgrind ... failed
- Last 20 lines of verbose log follow echo
- auxprogs/genoffsets.c
- grep xyzzy auxprogs/genoffsets.s | grep define \
- | sed "s/xyzzy\\$//g" | sed "s/xyzzy//g" \
- > pub/libvex_guest_offsets.h
- rm -f auxprogs/genoffsets.s
- cat quote.txt > ../vex_svnversion.h
- svnversion -n . >> ../vex_svnversion.h
- cat quote.txt >> ../vex_svnversion.h
- cat newline.txt >> ../vex_svnversion.h
- if [ ! -f priv/main/vex_svnversion.h ] ; then \
- mv ../vex_svnversion.h ./priv/main/; \
- else \
- rm -f ../vex_svnversion.h; \
- fi
- mv: cannot move `../vex_svnversion.h' to `./priv/main/': Not a directory
- make[2]: *** [priv/main/vex_svnversion.h] Error 1
- make[2]: Leaving directory `/tmp/vgtest/2009-07-03/valgrind-old/VEX'
- make[1]: *** [all-recursive] Error 1
- make[1]: Leaving directory `/tmp/vgtest/2009-07-03/valgrind-old'
- make: *** [all] Error 2
--- 3,18 ----
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 492 tests, 7 stderr failures, 1 stdout failure, 0 post failures ==
! memcheck/tests/x86-linux/scalar (stderr)
! memcheck/tests/x86-linux/scalar_exit_group (stderr)
! memcheck/tests/x86-linux/scalar_supp (stderr)
! none/tests/amd64/bug127521-64 (stdout)
! none/tests/amd64/bug127521-64 (stderr)
! exp-ptrcheck/tests/ccc (stderr)
! exp-ptrcheck/tests/pth_create (stderr)
! exp-ptrcheck/tests/pth_specific (stderr)
|
|
From: Tom H. <th...@cy...> - 2009-07-03 02:20:28
|
Nightly build on mg ( x86_64, Fedora 9 )
Started at 2009-07-03 03:10:04 BST
Ended at 2009-07-03 03:20:15 BST
Results differ from 24 hours ago
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... done
Running regression tests ... failed
Regression test results follow
== 498 tests, 2 stderr failures, 1 stdout failure, 0 post failures ==
none/tests/linux/mremap2 (stdout)
exp-ptrcheck/tests/pth_create (stderr)
exp-ptrcheck/tests/pth_specific (stderr)
=================================================
== Results from 24 hours ago ==
=================================================
Checking out valgrind source tree ... done
Configuring valgrind ... done
Building valgrind ... failed
Last 20 lines of verbose log follow echo
auxprogs/genoffsets.c
grep xyzzy auxprogs/genoffsets.s | grep define \
| sed "s/xyzzy\\$//g" | sed "s/xyzzy//g" \
> pub/libvex_guest_offsets.h
rm -f auxprogs/genoffsets.s
cat quote.txt > ../vex_svnversion.h
svnversion -n . >> ../vex_svnversion.h
cat quote.txt >> ../vex_svnversion.h
cat newline.txt >> ../vex_svnversion.h
if [ ! -f priv/main/vex_svnversion.h ] ; then \
mv ../vex_svnversion.h ./priv/main/; \
else \
rm -f ../vex_svnversion.h; \
fi
mv: cannot move `../vex_svnversion.h' to `./priv/main/': Not a directory
make[2]: *** [priv/main/vex_svnversion.h] Error 1
make[2]: Leaving directory `/tmp/vgtest/2009-07-03/valgrind-old/VEX'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/vgtest/2009-07-03/valgrind-old'
make: *** [all] Error 2
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short Fri Jul 3 03:10:53 2009
--- new.short Fri Jul 3 03:20:15 2009
***************
*** 3,26 ****
Configuring valgrind ... done
! Building valgrind ... failed
- Last 20 lines of verbose log follow echo
- auxprogs/genoffsets.c
- grep xyzzy auxprogs/genoffsets.s | grep define \
- | sed "s/xyzzy\\$//g" | sed "s/xyzzy//g" \
- > pub/libvex_guest_offsets.h
- rm -f auxprogs/genoffsets.s
- cat quote.txt > ../vex_svnversion.h
- svnversion -n . >> ../vex_svnversion.h
- cat quote.txt >> ../vex_svnversion.h
- cat newline.txt >> ../vex_svnversion.h
- if [ ! -f priv/main/vex_svnversion.h ] ; then \
- mv ../vex_svnversion.h ./priv/main/; \
- else \
- rm -f ../vex_svnversion.h; \
- fi
- mv: cannot move `../vex_svnversion.h' to `./priv/main/': Not a directory
- make[2]: *** [priv/main/vex_svnversion.h] Error 1
- make[2]: Leaving directory `/tmp/vgtest/2009-07-03/valgrind-old/VEX'
- make[1]: *** [all-recursive] Error 1
- make[1]: Leaving directory `/tmp/vgtest/2009-07-03/valgrind-old'
- make: *** [all] Error 2
--- 3,13 ----
Configuring valgrind ... done
! Building valgrind ... done
! Running regression tests ... failed
!
! Regression test results follow
!
! == 498 tests, 2 stderr failures, 1 stdout failure, 0 post failures ==
! none/tests/linux/mremap2 (stdout)
! exp-ptrcheck/tests/pth_create (stderr)
! exp-ptrcheck/tests/pth_specific (stderr)
|
|
From: Nicholas N. <n.n...@gm...> - 2009-07-02 21:08:38
|
On Fri, Jul 3, 2009 at 6:43 AM, Josef Weidendorfer<Jos...@gm...> wrote: > On Thursday 02 July 2009, Nicholas Nethercote wrote: >> contribute to, please feel free to do so. Nominations for >> blocking/wanted bugs are also welcome. > > wanted3.5.0: wish 194162: Enable branch profiling in callgrind > > I'll see whether I can make it. Sounds fine... adding wanted3.5.0 just about anywhere should be no problem, it's the blocking3.5.0 tags that might be worth more discussion :) Nick |