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
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
|
|
1
(13) |
2
(15) |
|
3
(16) |
4
(42) |
5
(9) |
6
(20) |
7
(22) |
8
(24) |
9
(12) |
|
10
(24) |
11
(11) |
12
(2) |
13
(13) |
14
(8) |
15
|
16
(16) |
|
17
(24) |
18
(36) |
19
(100) |
20
(94) |
21
(50) |
22
(39) |
23
(10) |
|
24
(14) |
25
(19) |
26
(2) |
27
(6) |
28
(17) |
29
(9) |
30
(8) |
|
31
(21) |
|
|
|
|
|
|
|
From: Tom H. <th...@cy...> - 2009-05-28 02:44:14
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-05-28 03:05:06 BST 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 == 481 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-05-28 02:28:13
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-05-28 03:10:04 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 == 487 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |
|
From: <sv...@va...> - 2009-05-28 02:24:43
|
Author: njn Date: 2009-05-28 03:24:28 +0100 (Thu, 28 May 2009) New Revision: 10158 Log: Make this file executable too. Modified: trunk/none/tests/darwin/filter_stderr Property changes on: trunk/none/tests/darwin/filter_stderr ___________________________________________________________________ Name: svn:executable + * |
|
From: <sv...@va...> - 2009-05-28 02:21:10
|
Author: njn Date: 2009-05-28 03:20:59 +0100 (Thu, 28 May 2009) New Revision: 10157 Log: Make this file executable. Modified: trunk/memcheck/tests/darwin/filter_stderr Property changes on: trunk/memcheck/tests/darwin/filter_stderr ___________________________________________________________________ Name: svn:executable + * |
Author: njn Date: 2009-05-28 02:53:07 +0100 (Thu, 28 May 2009) New Revision: 10156 Log: Merge the DARWIN branch onto the trunk. I tried using 'svn merge' to do the merge but it did a terrible job and there were bazillions of conflicts. So instead I just took the diff between the branch and trunk at r10155, applied the diff to the trunk, 'svn add'ed the added files (no files needed to be 'svn remove'd) and committed. Added: trunk/coregrind/launcher-darwin.c trunk/coregrind/m_coredump/coredump-amd64-darwin.c trunk/coregrind/m_coredump/coredump-x86-darwin.c trunk/coregrind/m_debuginfo/priv_readmacho.h trunk/coregrind/m_debuginfo/readmacho.c trunk/coregrind/m_dispatch/dispatch-amd64-darwin.S trunk/coregrind/m_dispatch/dispatch-x86-darwin.S trunk/coregrind/m_initimg/initimg-darwin.c trunk/coregrind/m_mach/ trunk/coregrind/m_mach/mach_basics.c trunk/coregrind/m_mach/mach_msg.c trunk/coregrind/m_mach/mach_traps-amd64-darwin.S trunk/coregrind/m_mach/mach_traps-x86-darwin.S trunk/coregrind/m_sigframe/sigframe-amd64-darwin.c trunk/coregrind/m_sigframe/sigframe-x86-darwin.c trunk/coregrind/m_start-amd64-darwin.S trunk/coregrind/m_start-x86-darwin.S trunk/coregrind/m_syswrap/priv_syswrap-darwin.h trunk/coregrind/m_syswrap/syscall-amd64-darwin.S trunk/coregrind/m_syswrap/syscall-x86-darwin.S trunk/coregrind/m_syswrap/syswrap-amd64-darwin.c trunk/coregrind/m_syswrap/syswrap-darwin.c trunk/coregrind/m_syswrap/syswrap-x86-darwin.c trunk/coregrind/m_ume/macho.c trunk/coregrind/pub_core_mach.h trunk/darwin9.supp trunk/docs/internals/Darwin-notes.txt trunk/include/vki/vki-darwin.h trunk/include/vki/vki-scnums-darwin.h trunk/memcheck/tests/darwin/ trunk/memcheck/tests/darwin/Makefile.am trunk/memcheck/tests/darwin/filter_stderr trunk/memcheck/tests/darwin/scalar.c trunk/memcheck/tests/darwin/scalar.h trunk/memcheck/tests/darwin/scalar.stderr.exp trunk/memcheck/tests/darwin/scalar.vgtest trunk/memcheck/tests/darwin/scalar_fork.c trunk/memcheck/tests/darwin/scalar_fork.stderr.exp trunk/memcheck/tests/darwin/scalar_fork.vgtest trunk/memcheck/tests/darwin/scalar_vfork.c trunk/memcheck/tests/darwin/scalar_vfork.stderr.exp trunk/memcheck/tests/darwin/scalar_vfork.vgtest trunk/memcheck/tests/origin1-yes.stderr.exp-darwin trunk/memcheck/tests/sigkill.stderr.exp-darwin trunk/memcheck/tests/strchr.stderr.exp-darwin trunk/none/tests/darwin/ trunk/none/tests/darwin/Makefile.am trunk/none/tests/darwin/apple-main-arg.c trunk/none/tests/darwin/apple-main-arg.stderr.exp trunk/none/tests/darwin/apple-main-arg.vgtest trunk/none/tests/darwin/filter_stderr trunk/none/tests/darwin/rlimit.c trunk/none/tests/darwin/rlimit.stderr.exp trunk/none/tests/darwin/rlimit.vgtest Modified: trunk/Makefile.am trunk/Makefile.core-tool.am trunk/Makefile.flags.am trunk/Makefile.tool-tests.am trunk/Makefile.tool.am trunk/NEWS trunk/auxprogs/Makefile.am trunk/cachegrind/Makefile.am trunk/cachegrind/cg_main.c trunk/cachegrind/tests/Makefile.am trunk/callgrind/Makefile.am trunk/configure.in trunk/coregrind/Makefile.am trunk/coregrind/m_aspacemgr/aspacemgr-common.c trunk/coregrind/m_aspacemgr/aspacemgr-linux.c trunk/coregrind/m_debugger.c trunk/coregrind/m_debuginfo/d3basics.c trunk/coregrind/m_debuginfo/debuginfo.c trunk/coregrind/m_debuginfo/priv_storage.h trunk/coregrind/m_debuginfo/readdwarf.c trunk/coregrind/m_debuginfo/readdwarf3.c trunk/coregrind/m_debuginfo/readstabs.c trunk/coregrind/m_debuginfo/storage.c trunk/coregrind/m_debuglog.c trunk/coregrind/m_libcassert.c trunk/coregrind/m_libcbase.c trunk/coregrind/m_libcfile.c trunk/coregrind/m_libcproc.c trunk/coregrind/m_libcsignal.c trunk/coregrind/m_machine.c trunk/coregrind/m_main.c trunk/coregrind/m_options.c trunk/coregrind/m_redir.c trunk/coregrind/m_replacemalloc/vg_replace_malloc.c trunk/coregrind/m_scheduler/priv_sema.h trunk/coregrind/m_scheduler/scheduler.c trunk/coregrind/m_scheduler/sema.c trunk/coregrind/m_signals.c trunk/coregrind/m_stacktrace.c trunk/coregrind/m_syscall.c trunk/coregrind/m_syswrap/priv_syswrap-main.h trunk/coregrind/m_syswrap/priv_types_n_macros.h trunk/coregrind/m_syswrap/syswrap-generic.c trunk/coregrind/m_syswrap/syswrap-main.c trunk/coregrind/m_trampoline.S trunk/coregrind/m_translate.c trunk/coregrind/m_ume/elf.c trunk/coregrind/m_ume/main.c trunk/coregrind/m_ume/priv_ume.h trunk/coregrind/m_vki.c trunk/coregrind/pub_core_aspacemgr.h trunk/coregrind/pub_core_debuginfo.h trunk/coregrind/pub_core_initimg.h trunk/coregrind/pub_core_machine.h trunk/coregrind/pub_core_mallocfree.h trunk/coregrind/pub_core_options.h trunk/coregrind/pub_core_scheduler.h trunk/coregrind/pub_core_syscall.h trunk/coregrind/pub_core_syswrap.h trunk/coregrind/pub_core_threadstate.h trunk/coregrind/pub_core_trampoline.h trunk/coregrind/pub_core_ume.h trunk/coregrind/pub_core_vkiscnums.h trunk/coregrind/vg_preloaded.c trunk/docs/internals/Makefile.am trunk/drd/Makefile.am trunk/drd/drd_main.c trunk/drd/drd_pthread_intercepts.c trunk/drd/tests/recursive_mutex.c trunk/exp-omega/Makefile.am trunk/exp-ptrcheck/Makefile.am trunk/exp-ptrcheck/h_main.c trunk/exp-ptrcheck/pc_main.c trunk/exp-ptrcheck/tests/Makefile.am trunk/glibc-2.34567-NPTL-helgrind.supp trunk/helgrind/Makefile.am trunk/helgrind/hg_intercepts.c trunk/helgrind/hg_main.c trunk/helgrind/tests/Makefile.am trunk/helgrind/tests/tc20_verifywrap.c trunk/include/pub_tool_basics.h trunk/include/pub_tool_basics_asm.h trunk/include/pub_tool_libcbase.h trunk/include/pub_tool_libcfile.h trunk/include/pub_tool_machine.h trunk/include/pub_tool_redir.h trunk/include/pub_tool_tooliface.h trunk/include/pub_tool_vki.h trunk/include/pub_tool_vkiscnums.h trunk/include/valgrind.h trunk/include/vki/Makefile.am trunk/lackey/Makefile.am trunk/massif/Makefile.am trunk/massif/ms_main.c trunk/massif/tests/malloc_usable.c trunk/memcheck/Makefile.am trunk/memcheck/mc_errors.c trunk/memcheck/mc_machine.c trunk/memcheck/mc_main.c trunk/memcheck/mc_replace_strmem.c trunk/memcheck/tests/Makefile.am trunk/memcheck/tests/amd64/Makefile.am trunk/memcheck/tests/badjump2.c trunk/memcheck/tests/linux/Makefile.am trunk/memcheck/tests/malloc_usable.c trunk/memcheck/tests/memalign2.c trunk/memcheck/tests/origin1-yes.c trunk/memcheck/tests/origin1-yes.stderr.exp trunk/memcheck/tests/stack_changes.c trunk/memcheck/tests/str_tester.c trunk/memcheck/tests/x86/Makefile.am trunk/none/Makefile.am trunk/none/tests/Makefile.am trunk/none/tests/amd64/Makefile.am trunk/none/tests/pth_atfork1.c trunk/none/tests/x86/Makefile.am trunk/tests/Makefile.am trunk/tests/arch_test.c trunk/tests/asm.h trunk/tests/filter_libc trunk/tests/malloc.h trunk/tests/os_test.c trunk/tests/platform_test trunk/tests/sys_mman.h trunk/tests/x86_amd64_features.c [... diff too large to include ...] |
|
From: <sv...@va...> - 2009-05-27 23:49:37
|
Author: njn
Date: 2009-05-28 00:49:29 +0100 (Thu, 28 May 2009)
New Revision: 10155
Log:
Remove Dwarf3 fnname reading, it duplicates the fnname reading from the
symbol table.
Modified:
branches/DARWIN/coregrind/m_debuginfo/priv_readdwarf3.h
branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c
branches/DARWIN/coregrind/m_debuginfo/readmacho.c
branches/DARWIN/coregrind/m_debuginfo/storage.c
branches/DARWIN/docs/internals/Darwin-notes.txt
Modified: branches/DARWIN/coregrind/m_debuginfo/priv_readdwarf3.h
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/priv_readdwarf3.h 2009-05-27 23:14:00 UTC (rev 10154)
+++ branches/DARWIN/coregrind/m_debuginfo/priv_readdwarf3.h 2009-05-27 23:49:29 UTC (rev 10155)
@@ -50,20 +50,6 @@
UChar* debug_loc_img, SizeT debug_loc_sz
);
-
-/* Read function names and ranges from DWARF3 debuginfo sections. */
-void
-ML_(read_fnnames_dwarf3) (
- struct _DebugInfo* di,
- UChar* debug_info_img, SizeT debug_info_sz,
- UChar* debug_abbv_img, SizeT debug_abbv_sz,
- UChar* debug_line_img, SizeT debug_line_sz,
- UChar* debug_str_img, SizeT debug_str_sz,
- UChar* debug_ranges_img, SizeT debug_ranges_sz,
- UChar* debug_loc_img, SizeT debug_loc_sz,
- UChar* debug_name_img, SizeT debug_name_sz
-);
-
#endif /* ndef __PRIV_READDWARF3_H */
/*--------------------------------------------------------------------*/
Modified: branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c 2009-05-27 23:14:00 UTC (rev 10154)
+++ branches/DARWIN/coregrind/m_debuginfo/readdwarf3.c 2009-05-27 23:49:29 UTC (rev 10155)
@@ -3784,170 +3784,6 @@
}
-
-static
-void read_fnnames_dwarf3_wrk (
- struct _DebugInfo* di,
- __attribute__((noreturn))
- void (*barf)( HChar* ),
- UChar* debug_info_img, SizeT debug_info_sz,
- UChar* debug_abbv_img, SizeT debug_abbv_sz,
- UChar* debug_line_img, SizeT debug_line_sz,
- UChar* debug_str_img, SizeT debug_str_sz,
- UChar* debug_ranges_img, SizeT debug_ranges_sz,
- UChar* debug_loc_img, SizeT debug_loc_sz,
- UChar* debug_name_img, SizeT debug_name_sz
-)
-{
- Cursor pubnames, info;
- Bool td3 = di->trace_symtab;
-
- /* Read the pubnames table */
- TRACE_SYMTAB("\n");
- TRACE_SYMTAB("\n------ The contents of .debug_pubnames ------\n");
- init_Cursor( &pubnames, debug_name_img,
- debug_name_sz, 0, barf,
- "Overrun whilst reading .debug_pubnames section" );
- init_Cursor( &info, debug_info_img, debug_info_sz, 0, barf,
- "Overrun whilst reading .debug_info section" );
-
- while (True) {
- ULong len, d_i_offset, d_i_length;
- Bool is64;
- UShort version;
- CUConst cc = {0};
-
- if (is_at_end_Cursor( &pubnames ))
- break;
- /* Read one pubnames group */
- len = get_Initial_Length( &is64, &pubnames,
- "in .debug_pubnames: invalid initial-length field" );
- version = get_UShort( &pubnames );
- d_i_offset = get_Dwarfish_UWord( &pubnames, is64 );
- d_i_length = get_Dwarfish_UWord( &pubnames, is64 );
- TRACE_D3("\n");
- TRACE_D3("\n");
- TRACE_D3(" Length: %llu\n", len);
- TRACE_D3(" Version: %d\n", (Int)version);
- TRACE_D3(" Offset into .debug_info: %llx\n", d_i_offset);
- TRACE_D3(" Length in .debug_info: %llx\n", d_i_length);
-
- /* Read the compilation unit for this group. */
- TRACE_D3(" Compilation Unit @ offset 0x%llx:\n", d_i_offset);
- set_position_of_Cursor(&info, d_i_offset);
- parse_CU_Header(&cc, td3, &info, debug_abbv_img, debug_abbv_sz);
- cc.debug_str_img = debug_str_img;
- cc.debug_str_sz = debug_str_sz;
- cc.debug_ranges_img = debug_ranges_img;
- cc.debug_ranges_sz = debug_ranges_sz;
- cc.debug_loc_img = debug_loc_img;
- cc.debug_loc_sz = debug_loc_sz;
- cc.debug_line_img = debug_line_img;
- cc.debug_line_sz = debug_line_sz;
- cc.cu_start_offset = d_i_offset;
- cc.di = di;
-
- /* Read all pubnames in this group. */
- TRACE_D3("\n");
- TRACE_D3(" Offset Pubname\n");
-
- while (True) {
- UChar *pubname;
- ULong offset = get_Dwarfish_UWord( &pubnames, is64 );
- if (offset == 0) break;
- pubname = get_AsciiZ( &pubnames );
- TRACE_D3(" 0x%016llx \"%s\"\n", offset, pubname);
-
- /* Read the DIE for this pubname */
- if (offset > d_i_length) {
- barf("debug_info offset from debug_pubnames out of range");
- }
-
- {
- Cursor c, abbv;
- ULong atag, abbv_code;
- UWord posn;
- ULong cts;
- Int ctsSzB;
- UWord ctsMemSzB;
- Bool have_lo = False;
- Bool have_hi1 = False;
- Bool have_range = False;
- Addr ip_lo = 0;
- Addr ip_hi1 = 0;
- Addr rangeoff = 0;
-
- init_Cursor(&c, debug_info_img + d_i_offset + offset,
- d_i_length, 0, barf,
- "Overrun whilst reading DIE for pubname");
-
- posn = 0;
- abbv_code = get_ULEB128( &c );
- set_abbv_Cursor( &abbv, td3, &cc, abbv_code );
- atag = get_ULEB128( &abbv );
-
- if (atag == 0)
- barf("read_DIE: invalid zero tag on DIE");
- if (atag != DW_TAG_subprogram) {
- VG_(message)(Vg_DebugMsg, "UNKNOWN debuginfo: pubname '%s' "
- "is not a subprogram!", pubname);
- continue;
- }
- (void)get_UChar( &abbv ); /* has_children */
-
- /* Scan DW_TAG_subprogram for PC range */
-
- while (True) {
- DW_AT attr = (DW_AT) get_ULEB128( &abbv );
- DW_FORM form = (DW_FORM)get_ULEB128( &abbv );
- if (attr == 0 && form == 0) break;
- get_Form_contents( &cts, &ctsSzB, &ctsMemSzB,
- &cc, &c, False/*td3*/, form );
- if (attr == DW_AT_low_pc && ctsSzB > 0) {
- ip_lo = cts;
- have_lo = True;
- }
- if (attr == DW_AT_high_pc && ctsSzB > 0) {
- ip_hi1 = cts;
- have_hi1 = True;
- }
- if (attr == DW_AT_ranges && ctsSzB > 0) {
- rangeoff = cts;
- have_range = True;
- }
- }
- /* Do we have something that looks sane? */
- if ((!have_lo) && (!have_hi1) && (!have_range)) {
- /* No range available. */
- } else if (have_lo && have_hi1 && (!have_range)) {
- /* This scope supplies just a single address range. */
- if (ip_lo < ip_hi1) {
- DiSym sym;
- sym.tocptr = 0;
- sym.addr = ip_lo + di->text_bias; // GrP fixme correct bias?
- sym.size = ip_hi1 - ip_lo;
- sym.name =
- ML_(dinfo_strdup)("di.readdwarf3.symname", pubname);
- sym.isText = True;
- TRACE_D3(" Recording symbol '%s' at 0x%lx..0x%lx\n",
- sym.name, sym.addr, sym.addr+sym.size);
- // GrP fixme check c++ mangling
- ML_(addSym)(di, &sym);
- }
- } else if ((!have_lo) && (!have_hi1) && have_range) {
- /* This scope supplies multiple address ranges via the use of
- a range list. */
- // GrP fixme
- VG_(message)(Vg_DebugMsg, "UNKNOWN debuginfo: pubname '%s' "
- "has multiple PC ranges", pubname);
- }
- }
- }
- }
- TRACE_SYMTAB("\n");
-}
-
-
/*------------------------------------------------------------*/
/*--- ---*/
/*--- The "new" DWARF3 reader -- top level control logic ---*/
@@ -4069,56 +3905,6 @@
#endif
-void ML_(read_fnnames_dwarf3) (
- struct _DebugInfo* di,
- UChar* debug_info_img, SizeT debug_info_sz,
- UChar* debug_abbv_img, SizeT debug_abbv_sz,
- UChar* debug_line_img, SizeT debug_line_sz,
- UChar* debug_str_img, SizeT debug_str_sz,
- UChar* debug_ranges_img, SizeT debug_ranges_sz,
- UChar* debug_loc_img, SizeT debug_loc_sz,
- UChar* debug_name_img, SizeT debug_name_sz
-)
-{
- volatile Int jumped;
- volatile Bool td3 = di->trace_symtab;
-
- /* Run the _wrk function to read the dwarf3. If it succeeds, it
- just returns normally. If there is any failure, it longjmp's
- back here, having first set d3rd_jmpbuf_reason to something
- useful. */
- vg_assert(d3rd_jmpbuf_valid == False);
- vg_assert(d3rd_jmpbuf_reason == NULL);
-
- d3rd_jmpbuf_valid = True;
- jumped = __builtin_setjmp(&d3rd_jmpbuf);
- if (jumped == 0) {
- /* try this ... */
- read_fnnames_dwarf3_wrk( di, barf,
- debug_info_img, debug_info_sz,
- debug_abbv_img, debug_abbv_sz,
- debug_line_img, debug_line_sz,
- debug_str_img, debug_str_sz,
- debug_ranges_img, debug_ranges_sz,
- debug_loc_img, debug_loc_sz,
- debug_name_img, debug_name_sz );
- d3rd_jmpbuf_valid = False;
- TRACE_D3("\n------ .debug_pubnames reading was successful ------\n");
- } else {
- /* It longjmp'd. */
- d3rd_jmpbuf_valid = False;
- /* Can't longjump without giving some sort of reason. */
- vg_assert(d3rd_jmpbuf_reason != NULL);
-
- TRACE_D3("\n------ .debug_pubnames reading failed ------\n");
-
- ML_(symerr)(di, True, d3rd_jmpbuf_reason);
- }
-
- d3rd_jmpbuf_valid = False;
- d3rd_jmpbuf_reason = NULL;
-}
-
/*--------------------------------------------------------------------*/
/*--- end readdwarf3.c ---*/
/*--------------------------------------------------------------------*/
Modified: branches/DARWIN/coregrind/m_debuginfo/readmacho.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/readmacho.c 2009-05-27 23:14:00 UTC (rev 10154)
+++ branches/DARWIN/coregrind/m_debuginfo/readmacho.c 2009-05-27 23:49:29 UTC (rev 10155)
@@ -1051,15 +1051,6 @@
debug_abbv_img, debug_abbv_sz,
debug_line_img, debug_line_sz,
debug_str_img, debug_str_sz );
- /* Function names and ranges from debug_pubnames */
- ML_(read_fnnames_dwarf3) ( di,
- debug_info_img, debug_info_sz,
- debug_abbv_img, debug_abbv_sz,
- debug_line_img, debug_line_sz,
- debug_str_img, debug_str_sz,
- debug_ranges_img, debug_ranges_sz,
- debug_loc_img, debug_loc_sz,
- debug_name_img, debug_name_sz);
/* The new reader: read the DIEs in .debug_info to acquire
information on variable types and locations. But only if
Modified: branches/DARWIN/coregrind/m_debuginfo/storage.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/storage.c 2009-05-27 23:14:00 UTC (rev 10154)
+++ branches/DARWIN/coregrind/m_debuginfo/storage.c 2009-05-27 23:49:29 UTC (rev 10155)
@@ -1234,15 +1234,7 @@
for (i = 0; i < j; i++) {
if (i < j-1
&& di->symtab[i].addr == di->symtab[i+1].addr
-#if !defined(VGO_darwin)
&& di->symtab[i].size == di->symtab[i+1].size
-#else
- // DDD: this can be removed if DWARF3 symbol reading is disabled.
- // It's unclear why DWARF3 symbol reading is currently enabled
- // alongside normal symbol table reading. --njn
- /* darwin: use prefersym to resolve same-address but
- different-size */
-#endif
) {
n_merged++;
/* merge the two into one */
Modified: branches/DARWIN/docs/internals/Darwin-notes.txt
===================================================================
--- branches/DARWIN/docs/internals/Darwin-notes.txt 2009-05-27 23:14:00 UTC (rev 10154)
+++ branches/DARWIN/docs/internals/Darwin-notes.txt 2009-05-27 23:49:29 UTC (rev 10155)
@@ -51,6 +51,11 @@
commits: r9477, which removed most of it, and r9711, r9759, and r10012,
which cleaned up remaining bits.
+There was machinery to read function names from Dwarf3 debug info. But we
+already read function names from the symbol tables, so this was duplicated
+functionality. Furthermore, a Darwin-specific hack was required in
+storage.c to choose between symbol table names vs. Dwarf3 names. So this
+machinery was removed in r10155.
Valgrind-developer notes, todos re the MacOSX port
|
|
From: Timo J. L. <tim...@ik...> - 2009-05-27 23:48:31
|
Hi, in http://valgrind.org/docs/manual/tech-docs.html there's a link to "1. The Design and Implementation of Valgrind" -- http://valgrind.org/docs/manual/new-tech-docs.html but the file does not seem to exist (404). I see docs/xml/new-tech-docs.xml in the source -- any idea why it's not on the web server? best regards, Timo Lindfors |
|
From: <sv...@va...> - 2009-05-27 23:14:07
|
Author: njn
Date: 2009-05-28 00:14:00 +0100 (Thu, 28 May 2009)
New Revision: 10154
Log:
Remove the debugstub removal diffs, just note the revisions they were
removed in Darwin-notes.txt.
Removed:
branches/DARWIN/docs/internals/debugstub_removed_at_r10012.diff
branches/DARWIN/docs/internals/debugstub_removed_at_r9477.diff
branches/DARWIN/docs/internals/debugstub_removed_at_r9711.diff
branches/DARWIN/docs/internals/debugstub_removed_at_r9759.diff
Modified:
branches/DARWIN/docs/internals/Darwin-notes.txt
branches/DARWIN/docs/internals/Makefile.am
Modified: branches/DARWIN/docs/internals/Darwin-notes.txt
===================================================================
--- branches/DARWIN/docs/internals/Darwin-notes.txt 2009-05-26 19:05:11 UTC (rev 10153)
+++ branches/DARWIN/docs/internals/Darwin-notes.txt 2009-05-27 23:14:00 UTC (rev 10154)
@@ -45,6 +45,14 @@
+Valgrind-developer notes, things removed from the original MacOSX port
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+There was a broken debugstub implementation. It was removed over several
+commits: r9477, which removed most of it, and r9711, r9759, and r10012,
+which cleaned up remaining bits.
+
+
+
Valgrind-developer notes, todos re the MacOSX port
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Modified: branches/DARWIN/docs/internals/Makefile.am
===================================================================
--- branches/DARWIN/docs/internals/Makefile.am 2009-05-26 19:05:11 UTC (rev 10153)
+++ branches/DARWIN/docs/internals/Makefile.am 2009-05-27 23:14:00 UTC (rev 10154)
@@ -4,10 +4,6 @@
3_4_BUGSTATUS.txt \
BIG_APP_NOTES.txt \
Darwin-notes.txt \
- debugstub_removed_at_r9477.diff \
- debugstub_removed_at_r9711.diff \
- debugstub_removed_at_r9759.diff \
- debugstub_removed_at_r10012.diff \
directory-structure.txt \
howto_BUILD_KDE42.txt \
howto_oprofile.txt \
Deleted: branches/DARWIN/docs/internals/debugstub_removed_at_r10012.diff
===================================================================
--- branches/DARWIN/docs/internals/debugstub_removed_at_r10012.diff 2009-05-26 19:05:11 UTC (rev 10153)
+++ branches/DARWIN/docs/internals/debugstub_removed_at_r10012.diff 2009-05-27 23:14:00 UTC (rev 10154)
@@ -1,16 +0,0 @@
-Index: include/vki/vki-linux.h
-===================================================================
---- include/vki/vki-linux.h (revision 10011)
-+++ include/vki/vki-linux.h (working copy)
-@@ -157,11 +157,6 @@
-
- typedef unsigned int vki_uint;
-
--// [[Other OSes (eg. Darwin) have a socklen_t type used in bind(), accept(),
--// etc, but Linux just uses 'int'. So we use this typedef, which is *not*
--// present in the Linux kernel. --njn]]
--typedef int vki_socklen_t;
--
- //----------------------------------------------------------------------
- // Now the rest of the arch-specific stuff
- //----------------------------------------------------------------------
Deleted: branches/DARWIN/docs/internals/debugstub_removed_at_r9477.diff
===================================================================
--- branches/DARWIN/docs/internals/debugstub_removed_at_r9477.diff 2009-05-26 19:05:11 UTC (rev 10153)
+++ branches/DARWIN/docs/internals/debugstub_removed_at_r9477.diff 2009-05-27 23:14:00 UTC (rev 10154)
@@ -1,2218 +0,0 @@
-Index: memcheck/mc_main.c
-===================================================================
---- memcheck/mc_main.c (revision 9475)
-+++ memcheck/mc_main.c (working copy)
-@@ -43,7 +43,6 @@
- #include "pub_tool_replacemalloc.h"
- #include "pub_tool_tooliface.h"
- #include "pub_tool_threadstate.h"
--#include "pub_tool_debugstub.h"
-
- #include "mc_include.h"
- #include "memcheck.h" /* for client requests */
-@@ -5131,106 +5130,6 @@
-
-
- /*------------------------------------------------------------*/
--/*--- Remote debugger commands ---*/
--/*------------------------------------------------------------*/
--
--
--// qvalgrind.Memcheck.defined:<addr>,<len> => XX..
--// like gdb protocol's "m" command, but reads V bits instead of memory
--// fixme should be qXfer command (mac os x gdb doesn't have qXfer)
--static Bool handle_defined_command(Int sock, Char *cmd)
--{
-- Long addr, len;
-- Char *vbits;
-- Char *outbuf;
-- Long i;
--
-- addr = VG_(strtoll16)(cmd, NULL);
-- cmd = VG_(strchr)(cmd, ',');
-- if (!cmd) return False;
--
-- len = VG_(strtoll16)(cmd+1, NULL);
-- if (len > 65536) len = 65536; // sanity
--
-- vbits = VG_(malloc)("mc.gdb.vbits", len);
-- outbuf = VG_(malloc)("mc.gdb.outbuf", 2*len+1);
--
-- tl_assert(V_BIT_DEFINED == 0);
-- for (i = 0; i < len; i++) {
-- UChar v;
-- if (get_vbits8(addr+i, &v)) {
-- // Invert returned bits: uninitialized=0, initialized=1
-- vbits[i] = ~v;
-- } else {
-- // Report unaddressable memory as undefined (unlike get_vbits8)
-- vbits[i] = 0;
-- }
-- }
--
-- VG_(debugstub_tohex)(outbuf, vbits, len);
-- VG_(free)(vbits);
--
-- VG_(debugstub_write_reply)(sock, outbuf);
-- VG_(free)(outbuf);
--
-- return True;
--}
--
--
--// qvalgrind.Memcheck.register-defined:<regnum> => XX..
--// like gdb protocol's "p" command, but reads V bits instead of register value
--// fixme should be qXfer command (mac os x gdb doesn't have qXfer)
--static Bool handle_register_defined_command(Int sock, Char *cmd)
--{
-- Char vbits[16];
-- Char outbuf[16*2+1];
-- Long i;
-- Int size, regnum;
--
-- regnum = VG_(strtoll16)(cmd, NULL);
--
-- size = VG_(reg_for_regnum)(regnum, vbits, 1); // GrP fixme shadow1 or 2?
-- if (size < 0) {
-- VG_(debugstub_write_reply)(sock, "x");
-- return True;
-- }
--
-- // Invert returned bits: uninitialized=0, initialized=1
-- tl_assert(V_BIT_DEFINED == 0);
-- for (i = 0; i < size; i++) {
-- vbits[i] = ~vbits[i];
-- }
--
-- VG_(debugstub_tohex)(outbuf, vbits, size);
-- VG_(debugstub_write_reply)(sock, outbuf);
--
-- return True;
--}
--
--static Bool mc_handle_debugger_query(Int sock, Char* cmd)
--{
-- Bool handled = True;
--
-- if (0 == VG_(strncmp)(cmd, "defined:", 8)) {
-- handled = handle_defined_command(sock, cmd+8);
-- }
-- else if (0 == VG_(strncmp)(cmd, "register-defined:", 17)) {
-- handled = handle_register_defined_command(sock, cmd+17);
-- }
-- else {
-- handled = False;
-- }
--
-- return handled;
--}
--
--static Bool mc_handle_debugger_action(Int sock, Char* cmd)
--{
-- return False;
--}
--
--
--/*------------------------------------------------------------*/
- /*--- Crude profiling machinery. ---*/
- /*------------------------------------------------------------*/
-
-@@ -5821,8 +5720,6 @@
- mc_print_usage,
- mc_print_debug_usage);
- VG_(needs_client_requests) (mc_handle_client_request);
-- VG_(needs_debugger_commands) (mc_handle_debugger_query,
-- mc_handle_debugger_action);
- VG_(needs_sanity_checks) (mc_cheap_sanity_check,
- mc_expensive_sanity_check);
- VG_(needs_malloc_replacement) (MC_(malloc),
-@@ -5942,34 +5839,6 @@
-
- VG_DETERMINE_INTERFACE_VERSION(mc_pre_clo_init)
-
--
--// GrP for debugging
--static void mc_print_word(Addr a)
--{
-- UChar abit[4] = {0,0,0,0};
-- UChar vbyte[4] = {0,0,0,0};
-- abit[0] = get_vbits8(a+0, vbyte+0);
-- abit[1] = get_vbits8(a+1, vbyte+1);
-- abit[2] = get_vbits8(a+2, vbyte+2);
-- abit[3] = get_vbits8(a+3, vbyte+3);
-- tl_assert(V_BIT_DEFINED == 0);
-- VG_(printf)("%#lx: a %d%d%d%d, v 0x%02x%02x%02x%02x\n",
-- a,
-- abit[0], abit[1], abit[2], abit[3],
-- ~vbyte[0], ~vbyte[1], ~vbyte[2], ~vbyte[3]);
--}
--
--// GrP for debugging
--__attribute__((unused))
--static void mc_describe_memory(Addr addr, SizeT size)
--{
-- Addr a;
-- for (a = addr; a < addr+size; a += 4) {
-- mc_print_word(a);
-- }
--}
--
--
- /*--------------------------------------------------------------------*/
- /*--- end mc_main.c ---*/
- /*--------------------------------------------------------------------*/
-Index: include/pub_tool_tooliface.h
-===================================================================
---- include/pub_tool_tooliface.h (revision 9475)
-+++ include/pub_tool_tooliface.h (working copy)
-@@ -383,23 +383,6 @@
- Bool (*handle_client_request)(ThreadId tid, UWord* arg_block, UWord* ret)
- );
-
--/* Tool defines its own debugger commands? */
--extern void VG_(needs_debugger_commands) (
-- // Debugger query command started with: "qvalgrind.<toolname>.".
-- // `arg` points to the rest of the query, if any. These commands
-- // should be used for data queries and the like.
-- // Return True if option was recognised. A reply must be sent using
-- // using VG_(debugger_write_command).
-- // Return False if the option was not recognized. Do not send a reply.
-- // See the GDB remote serial protocol for more command details.
-- Bool (*process_debugger_query)(Int sock, Char* arg),
--
-- // Like process_debugger_query, but prefix was "Qvalgrind.<toolname>.".
-- // These commands should be used for memory modifications and other
-- // process-manipulating actions.
-- Bool (*process_debugger_action)(Int sock, Char* arg)
--);
--
- /* Tool does stuff before and/or after system calls? */
- // Nb: If either of the pre_ functions malloc() something to return, the
- // corresponding post_ function had better free() it!
-Index: include/pub_tool_debugstub.h
-===================================================================
---- include/pub_tool_debugstub.h (revision 9476)
-+++ include/pub_tool_debugstub.h (working copy)
-@@ -1,52 +0,0 @@
--
--/*--------------------------------------------------------------------*/
--/*--- gdb remote debugging pub_tool_debugstub.h ---*/
--/*--------------------------------------------------------------------*/
--
--/*
-- This file is part of Valgrind, a dynamic binary instrumentation
-- framework.
--
-- Copyright (C) 2007 Apple Inc.
-- Greg Parker gp...@ap...
--
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful, but
-- WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-- 02111-1307, USA.
--
-- The GNU General Public License is contained in the file COPYING.
--*/
--
--#ifndef __PUB_TOOL_DEBUGSTUB_H
--#define __PUB_TOOL_DEBUGSTUB_H
--
--// Send a reply packet to the gdb remote debugger.
--// Use this inside your handlers for VG_(needs_debugger_commands).
--extern void VG_(debugstub_write_reply)(Int sock, const Char* contents);
--
--// Encode binary data in gdb's hex format, with nul terminator.
--// len is the number of bytes in SRC; dst must be 2*len+1 bytes.
--extern void VG_(debugstub_tohex)(Char *dst, const void *src, Int len);
--
--// Decode binary data from gdb's hex format.
--// len is the number of bytes in DST; src must be 2*len bytes.
--extern void VG_(debugstub_fromhex)(void *dst, const Char *src, Int len);
--
--// Retrieve register contents (from the "current thread" as designated
--// by the remote debugger). Stores the register or vex_shadowN value in
--// *rbuf, and returns the number of bytes written.
--extern Int VG_(reg_for_regnum)(Int regnum, void *rbuf, Int shadow);
--
--#endif
--
-Index: include/vki/vki-darwin.h
-===================================================================
---- include/vki/vki-darwin.h (revision 9475)
-+++ include/vki/vki-darwin.h (working copy)
-@@ -778,6 +778,12 @@
- typedef struct eventreq vki_eventreq;
-
-
-+#include <sys/ptrace.h>
-+
-+#define VKI_PTRACE_TRACEME PT_TRACE_ME
-+#define VKI_PTRACE_DETACH PT_DETACH
-+
-+
- // sqlite/src/os_unix.c
-
- struct ByteRangeLockPB2
-Index: include/Makefile.am
-===================================================================
---- include/Makefile.am (revision 9475)
-+++ include/Makefile.am (working copy)
-@@ -11,7 +11,6 @@
- pub_tool_clreq.h \
- pub_tool_cpuid.h \
- pub_tool_debuginfo.h \
-- pub_tool_debugstub.h \
- pub_tool_errormgr.h \
- pub_tool_execontext.h \
- pub_tool_hashtable.h \
-Index: coregrind/pub_core_scheduler.h
-===================================================================
---- coregrind/pub_core_scheduler.h (revision 9475)
-+++ coregrind/pub_core_scheduler.h (working copy)
-@@ -104,11 +104,6 @@
- /* Sanity checks which may be done at any time. The scheduler decides when. */
- extern void VG_(sanity_check_general) ( Bool force_expensive );
-
--/* GrP fixme scheduler hacks for debugger */
--extern void VG_(lock)(void);
--extern void VG_(unlock)(void);
--extern void VG_(unlock_lwpid)(Int lwpid);
--
- #endif // __PUB_CORE_SCHEDULER_H
-
- /*--------------------------------------------------------------------*/
-Index: coregrind/pub_core_debugstub.h
-===================================================================
---- coregrind/pub_core_debugstub.h (revision 9476)
-+++ coregrind/pub_core_debugstub.h (working copy)
-@@ -1,44 +0,0 @@
--
--/*--------------------------------------------------------------------*/
--/*--- gdb remote debugging pub_core_debugstub.h ---*/
--/*--------------------------------------------------------------------*/
--
--/*
-- This file is part of Valgrind, a dynamic binary instrumentation
-- framework.
--
-- Copyright (C) 2007 Apple Inc.
-- Greg Parker gp...@ap...
--
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful, but
-- WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-- 02111-1307, USA.
--
-- The GNU General Public License is contained in the file COPYING.
--*/
--
--#ifndef __PUB_CORE_DEBUGSTUB_H
--#define __PUB_CORE_DEBUGSTUB_H
--
--extern void VG_(debugstub_init) ( void );
--extern void VG_(debugstub_write_reply) ( Int sock, const Char* contents );
--extern void VG_(debugstub_tohex) ( Char *dst, const void *src, Int len );
--extern void VG_(debugstub_fromhex) ( void *dst, const Char *src, Int len );
--extern Int VG_(reg_for_regnum) ( Int regnum, void *rbuf, Int shadow );
--
--#endif // __PUB_CORE_DEBUGSTUB_H
--
--/*--------------------------------------------------------------------*/
--/*--- end ---*/
--/*--------------------------------------------------------------------*/
-Index: coregrind/m_tooliface.c
-===================================================================
---- coregrind/m_tooliface.c (revision 9475)
-+++ coregrind/m_tooliface.c (working copy)
-@@ -268,16 +268,6 @@
- VG_(tdict).tool_handle_client_request = handle;
- }
-
--void VG_(needs_debugger_commands)(
-- Bool (*query)(Int, Char*),
-- Bool (*action)(Int, Char*)
--)
--{
-- VG_(needs).debugger_commands = True;
-- VG_(tdict).tool_handle_debugger_query = query;
-- VG_(tdict).tool_handle_debugger_action = action;
--}
--
- void VG_(needs_syscall_wrapper)(
- void(*pre) (ThreadId, UInt),
- void(*post)(ThreadId, UInt, SysRes res)
-Index: coregrind/pub_core_tooliface.h
-===================================================================
---- coregrind/pub_core_tooliface.h (revision 9475)
-+++ coregrind/pub_core_tooliface.h (working copy)
-@@ -138,10 +138,6 @@
- // VG_(needs).client_requests
- Bool (*tool_handle_client_request)(ThreadId, UWord*, UWord*);
-
-- // VG_(needs).debugger_commands
-- Bool (*tool_handle_debugger_query)(Int, Char*);
-- Bool (*tool_handle_debugger_action)(Int, Char*);
--
- // VG_(needs).syscall_wrapper
- void (*tool_pre_syscall) (ThreadId, UInt);
- void (*tool_post_syscall)(ThreadId, UInt, SysRes);
-Index: coregrind/m_debugger.c
-===================================================================
---- coregrind/m_debugger.c (revision 9475)
-+++ coregrind/m_debugger.c (working copy)
-@@ -41,15 +41,7 @@
- #include "pub_core_libcassert.h"
- #include "pub_core_options.h"
-
--#if VGO_darwin
-
--/* External debugger not supported. Use gdb remote debug instead.
-- VG_(start_debugger) is in m_debugstub.c. */
-- // DDD: ugh, that's horrible. Should fix, probably by having
-- // VG_(start_debugger) and VG_(start_remote_debugger).
--
--#else
--
- #define WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
- #define WSTOPSIG(status) (((status) & 0xff00) >> 8)
-
-@@ -219,6 +211,12 @@
- #elif defined(VGP_ppc64_aix5)
- I_die_here;
-
-+#elif defined(VGP_x86_darwin)
-+ I_die_here;
-+
-+#elif defined(VGP_amd64_darwin)
-+ I_die_here;
-+
- #else
- # error Unknown arch
- #endif
-@@ -322,8 +320,8 @@
- # undef N_BUF
- }
-
--#endif
-
-+
- /*--------------------------------------------------------------------*/
- /*--- end ---*/
- /*--------------------------------------------------------------------*/
-Index: coregrind/m_main.c
-===================================================================
---- coregrind/m_main.c (revision 9475)
-+++ coregrind/m_main.c (working copy)
-@@ -37,7 +37,6 @@
- #include "pub_core_aspacemgr.h"
- #include "pub_core_commandline.h"
- #include "pub_core_debuglog.h"
--#include "pub_core_debugstub.h"
- #include "pub_core_errormgr.h"
- #include "pub_core_execontext.h"
- #include "pub_core_initimg.h"
-@@ -2031,22 +2030,6 @@
- VG_(sigstartup_actions)();
-
- //--------------------------------------------------------------
-- // Listen for remote debugger
-- // p: scheduler, process_cmd_line_options()
-- //--------------------------------------------------------------
--#if defined(VGO_darwin)
--#if 0
-- if (VG_(clo_db_listen) && VG_(clo_verbosity) > 0) {
-- VG_(debugLog)(1, "main", "Listening for debugger on port %d\n",
-- VG_(clo_db_listen_port));
-- VG_(debugstub_init)();
-- }
--#endif
--#else
-- // DDD: Only Darwin does this for the moment.
--#endif
--
-- //--------------------------------------------------------------
- // Read suppression file
- // p: main_process_cmd_line_options() [for VG_(clo_suppressions)]
- //--------------------------------------------------------------
-Index: coregrind/m_scheduler/scheduler.c
-===================================================================
---- coregrind/m_scheduler/scheduler.c (revision 9475)
-+++ coregrind/m_scheduler/scheduler.c (working copy)
-@@ -228,7 +228,6 @@
- VG_(printf)("tid %d found %d running\n", tid, VG_(running_tid));
- vg_assert(VG_(running_tid) == VG_INVALID_THREADID);
- VG_(running_tid) = tid;
-- VG_(last_running_tid) = tid;
-
- { Addr gsp = VG_(get_SP)(tid);
- VG_(unknown_SP_update)(gsp, gsp, 0/*unknown origin*/);
-@@ -289,28 +288,6 @@
- }
-
-
--void VG_(lock)(void)
--{
-- ML_(sema_down)(&the_BigLock);
-- if (VG_(clo_trace_sched)) {
-- print_sched_event(0, " acquired lock (DEBUGGER)");
-- }
--}
--
--void VG_(unlock)(void)
--{
-- if (VG_(clo_trace_sched)) {
-- print_sched_event(0, " releasing lock (DEBUGGER)");
-- }
-- ML_(sema_up)(&the_BigLock);
--}
--
--void VG_(unlock_lwpid)(Int lwpid)
--{
-- while (! ML_(sema_handoff)(&the_BigLock, lwpid))
-- ;
--}
--
- /* Clear out the ThreadState and release the semaphore. Leaves the
- ThreadState in VgTs_Zombie state, so that it doesn't get
- reallocated until the caller is really ready. */
-Index: coregrind/m_scheduler/sema.c
-===================================================================
---- coregrind/m_scheduler/sema.c (revision 9475)
-+++ coregrind/m_scheduler/sema.c (working copy)
-@@ -147,13 +147,6 @@
- ML_(sema_down)(sema);
- }
-
--Bool ML_(sema_handoff)(vg_sema_t *sema, Int lwpid)
--{
-- // XXX: This function is currently only used by VG_(unlock_lwpid), which
-- // is only used in debugstub-darwin.c.
-- I_die_here;
--}
--
- #elif defined(VGO_darwin)
-
- #include <mach/mach.h>
-@@ -201,11 +194,6 @@
- ML_(sema_down)(sema);
- }
-
--Bool ML_(sema_handoff)(vg_sema_t *sema, Int lwpid)
--{
-- return semaphore_signal_thread(sema->lock, (thread_act_t)lwpid) ? False : True;
--}
--
- #else
- # error Unknown OS
- #endif
-Index: coregrind/m_scheduler/priv_sema.h
-===================================================================
---- coregrind/m_scheduler/priv_sema.h (revision 9475)
-+++ coregrind/m_scheduler/priv_sema.h (working copy)
-@@ -54,7 +54,6 @@
- void ML_(sema_down) ( vg_sema_t *sema );
- void ML_(sema_up) ( vg_sema_t *sema );
- void ML_(sema_fork_child)(vg_sema_t *sema);
--Bool ML_(sema_handoff)( vg_sema_t *sema, Int lwpid );
-
- #endif // __PRIV_SEMA_H
-
-Index: coregrind/m_debugstub/debugstub-linux.c
-===================================================================
---- coregrind/m_debugstub/debugstub-linux.c (revision 9476)
-+++ coregrind/m_debugstub/debugstub-linux.c (working copy)
-@@ -1,60 +0,0 @@
--/*--------------------------------------------------------------------*/
--/*--- gdb remote debugging m_debugstub.c ---*/
--/*--------------------------------------------------------------------*/
--
--/*
-- This file is part of Valgrind, a dynamic binary instrumentation
-- framework.
--
-- Copyright (C) 2009 Nicholas Nethercote
-- nj...@va...
--
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful, but
-- WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-- 02111-1307, USA.
--
-- The GNU General Public License is contained in the file COPYING.
--*/
--
--#include "pub_core_basics.h"
--#include "pub_core_libcassert.h"
--
--#include "pub_core_debugstub.h"
--
--
--void VG_(debugstub_init)(void)
--{
-- I_die_here;
--}
--
--void VG_(debugstub_write_reply)(Int sock, const Char* contents)
--{
-- I_die_here;
--}
--
--void VG_(debugstub_tohex)(Char *dst, const void *src, Int len)
--{
-- I_die_here;
--}
--
--void VG_(debugstub_fromhex)(void *dst, const Char *src, Int len)
--{
-- I_die_here;
--}
--
--Int VG_(reg_for_regnum)(Int regnum, void *rbuf, Int shadow)
--{
-- I_die_here;
--}
--
-Index: coregrind/m_debugstub/debugstub-darwin.c
-===================================================================
---- coregrind/m_debugstub/debugstub-darwin.c (revision 9476)
-+++ coregrind/m_debugstub/debugstub-darwin.c (working copy)
-@@ -1,1478 +0,0 @@
--/*--------------------------------------------------------------------*/
--/*--- gdb remote debugging m_debugstub.c ---*/
--/*--------------------------------------------------------------------*/
--
--/*
-- This file is part of Valgrind, a dynamic binary instrumentation
-- framework.
--
-- Copyright (C) 2007 Apple Inc.
-- Greg Parker gp...@ap...
--
-- This program is free software; you can redistribute it and/or
-- modify it under the terms of the GNU General Public License as
-- published by the Free Software Foundation; either version 2 of the
-- License, or (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful, but
-- WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-- General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program; if not, write to the Free Software
-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
-- 02111-1307, USA.
--
-- The GNU General Public License is contained in the file COPYING.
--*/
--
--#include "pub_core_basics.h"
--#include "pub_core_vki.h"
--#include "pub_core_aspacemgr.h"
--#include "pub_core_threadstate.h"
--#include "pub_core_libcbase.h"
--#include "pub_core_libcassert.h"
--#include "pub_core_libcfile.h"
--#include "pub_core_libcprint.h"
--#include "pub_core_xarray.h"
--#include "pub_core_clientstate.h"
--#include "pub_core_libcproc.h"
--#include "pub_core_mallocfree.h"
--#include "pub_core_options.h"
--#include "pub_core_tooliface.h"
--#include "pub_core_transtab.h"
--#include "pub_core_scheduler.h"
--#include "pub_core_debugger.h"
--#include "pub_core_debugstub.h"
--
--#include <mach/mach.h>
--#include <mach/mach_vm.h>
--
--#define msgbufsize 4096
--static char msgbuf[msgbufsize];
--static char outbuf[msgbufsize];
--static const char xdigit[] = "0123456789abcdef";
--
--static ThreadId query_tid = VG_INVALID_THREADID;
--static ThreadId control_tid = VG_INVALID_THREADID;
--
--static Bool debugger_running = False;
--static Int debugger_lwpid;
--static Int debugger_notify[2];
--static ThreadId stop_tid;
--static Int stop_sig;
--
--// GDB's register numbers for 'g', in order
--#if defined(VGA_x86)
--enum { rEAX = 0, rECX, rEDX, rEBX, rESP, rEBP, rESI, rEDI,
-- rEIP, rEFLAGS, rCS, rSS, rDS, rES, rFS, rGS,
-- rST0, rST1, rST2, rST3, rST4, rST5, rST6, rST7,
-- rFCTRL, rFSTAT, rFTAG, rFISEG, rFIOFF, rFOSEG, rFOOFF, rFOP,
-- rXMM0, rXMM1, rXMM2, rXMM3, rXMM4, rXMM5, rXMM6, rXMM7,
-- rMXCSR,
-- rcount, grcount = rST0 };
--#define rPC rEIP
--#define guest_PC guest_EIP
--
--#elif defined(VGA_amd64)
--// fixme check
--enum { rRAX = 0, rRBX, rRCX, rRDX, rRSI, rRDI, rRBP, rRSP,
-- rR8, rR9, rR10, rR11, rR12, rR13, rR14, rR15,
-- rRIP, rRFLAGS, rCS, rSS, rDS, rES, rFS, rGS,
-- rST0, rST1, rST2, rST3, rST4, rST5, rST6, rST7,
-- rFCTRL, rFSTAT, rFTAG, rFISEG, rFIOFF, rFOSEG, rFOOFF, rFOP,
-- rXMM0, rXMM1, rXMM2, rXMM3, rXMM4, rXMM5, rXMM6, rXMM7,
-- rXMM8, rXMM9, rXMM10, rXMM11, rXMM12, rXMM13, rXMM14, rXMM15,
-- rMXCSR,
-- rcount, grcount = rST0 };
--#define rPC rRIP
--#define guest_PC guest_RIP
--
--#else
--#error unknown architecture
--#endif
--
--#if defined(VGA_x86) || defined(VGA_amd64)
--// hack - functions from vex
--extern void convert_f64le_to_f80le ( const void *f64, void *f80 );
--extern void convert_f80le_to_f64le ( const void *f80, void *f64 );
--#endif
--
--static void debuglog(const HChar *format, ...)
--{
-- if (VG_(clo_verbosity) > 1) {
-- va_list vargs;
-- va_start(vargs,format);
-- VG_(vmessage) ( Vg_DebugMsg, format, vargs );
-- va_end(vargs);
-- }
--}
--
--static ThreadId first_valid_tid(void)
--{
-- ThreadId tid;
-- for (tid = 0; tid < VG_N_THREADS; tid++) {
-- if (VG_(is_valid_tid)(tid)) return tid;
-- }
-- return VG_INVALID_THREADID;
--}
--
--static void debugger_lock(Int sock)
--{
-- VG_(lock)();
--
-- if (stop_tid) {
-- query_tid = stop_tid;
-- control_tid = stop_tid;
-- } else {
-- if (! VG_(is_valid_tid)(query_tid)) {
-- query_tid = first_valid_tid();
-- }
-- if (! VG_(is_valid_tid)(control_tid)) {
-- control_tid = first_valid_tid();
-- }
-- }
--
-- // Flush commands already sent by gdb - it may have given up on
-- // them already and will be confused if we reply
-- // This should only happen on initial connect, where we may accept the
-- // connection but not reply until the user answers "Attach to debugger ?"
-- // On control-C or error report entry, gdb shouldn't say anything
-- // further until we send a stop reply.
-- {
-- int flags;
-- char c;
-- flags = VG_(fcntl)(sock, VKI_F_GETFL, 0);
-- VG_(fcntl)(sock, VKI_F_SETFL, flags | VKI_O_NONBLOCK);
-- while (1 == VG_(read)(sock, &c, 1))
-- ;
-- VG_(fcntl)(sock, VKI_F_SETFL, flags);
-- }
--}
--
--static void debugger_unlock(void)
--{
-- if (stop_tid) {
-- Int lwpid = VG_(threads)[stop_tid].os_state.lwpid;
-- stop_tid = 0;
-- stop_sig = 0;
-- VG_(unlock_lwpid)(lwpid);
-- } else {
-- VG_(unlock)();
-- }
--}
--
--static int reg_from_vex(ThreadId tid, Int regnum, void *rbuf, Int shadow)
--{
-- ThreadState *tst = &VG_(threads)[tid];
--
--#if defined(VGA_x86)
-- Addr w;
-- VexGuestX86State *state;
-- switch (shadow) {
-- case 0: state = &tst->arch.vex; break;
-- case 1: state = &tst->arch.vex_shadow1; break;
-- case 2: state = &tst->arch.vex_shadow2; break;
-- default: vg_assert(0);
-- }
--
-- switch (regnum) {
-- case rEAX: VG_(memcpy)(rbuf, &state->guest_EAX, 4); return 4;
-- case rECX: VG_(memcpy)(rbuf, &state->guest_ECX, 4); return 4;
-- case rEDX: VG_(memcpy)(rbuf, &state->guest_EDX, 4); return 4;
-- case rEBX: VG_(memcpy)(rbuf, &state->guest_EBX, 4); return 4;
-- case rESP: VG_(memcpy)(rbuf, &state->guest_ESP, 4); return 4;
-- case rEBP: VG_(memcpy)(rbuf, &state->guest_EBP, 4); return 4;
-- case rESI: VG_(memcpy)(rbuf, &state->guest_ESI, 4); return 4;
-- case rEDI: VG_(memcpy)(rbuf, &state->guest_EDI, 4); return 4;
--
-- case rEIP: VG_(memcpy)(rbuf, &state->guest_EIP, 4); return 4;
-- case rEFLAGS:
-- if (shadow) return 0; // fixme
-- w = LibVEX_GuestX86_get_eflags(state);
-- VG_(memcpy)(rbuf, &w, 4);
-- return 4;
-- case rCS: VG_(memcpy)(rbuf, &state->guest_CS, 2); return 2;
-- case rSS: VG_(memcpy)(rbuf, &state->guest_SS, 2); return 2;
-- case rDS: VG_(memcpy)(rbuf, &state->guest_DS, 2); return 2;
-- case rES: VG_(memcpy)(rbuf, &state->guest_ES, 2); return 2;
-- case rFS: VG_(memcpy)(rbuf, &state->guest_FS, 2); return 2;
-- case rGS: VG_(memcpy)(rbuf, &state->guest_GS, 2); return 2;
--
-- // vex does not simulate 80-bit precision
-- // fixme shift by FTOP?
-- case rST0:
-- case rST1:
-- case rST2:
-- case rST3:
-- case rST4:
-- case rST5:
-- case rST6:
-- case rST7:
-- convert_f64le_to_f80le(&state->guest_FPREG[regnum-rST0], rbuf);
-- return 10;
--
-- case rFCTRL: {
-- // vex only models the rounding bits (see libvex_guest_x86.h)
-- UWord value = 0x037f;
-- value |= state->guest_FPROUND << 10;
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
-- case rFSTAT: {
-- UWord value = state->guest_FC3210;
-- value |= (state->guest_FTOP & 7) << 11;
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
-- case rFTAG: {
-- // vex doesn't model these precisely
-- UWord value =
-- ((state->guest_FPTAG[0] ? 0 : 3) << 0) |
-- ((state->guest_FPTAG[1] ? 0 : 3) << 2) |
-- ((state->guest_FPTAG[2] ? 0 : 3) << 4) |
-- ((state->guest_FPTAG[3] ? 0 : 3) << 6) |
-- ((state->guest_FPTAG[4] ? 0 : 3) << 8) |
-- ((state->guest_FPTAG[5] ? 0 : 3) << 10) |
-- ((state->guest_FPTAG[6] ? 0 : 3) << 12) |
-- ((state->guest_FPTAG[7] ? 0 : 3) << 14);
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
-- case rFISEG:
-- case rFIOFF:
-- case rFOSEG:
-- case rFOOFF:
-- case rFOP: {
-- // fixme lie
-- UWord value = 0;
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
--
-- case rXMM0: VG_(memcpy)(rbuf, &state->guest_XMM0, 16); return 16;
-- case rXMM1: VG_(memcpy)(rbuf, &state->guest_XMM1, 16); return 16;
-- case rXMM2: VG_(memcpy)(rbuf, &state->guest_XMM2, 16); return 16;
-- case rXMM3: VG_(memcpy)(rbuf, &state->guest_XMM3, 16); return 16;
-- case rXMM4: VG_(memcpy)(rbuf, &state->guest_XMM4, 16); return 16;
-- case rXMM5: VG_(memcpy)(rbuf, &state->guest_XMM5, 16); return 16;
-- case rXMM6: VG_(memcpy)(rbuf, &state->guest_XMM6, 16); return 16;
-- case rXMM7: VG_(memcpy)(rbuf, &state->guest_XMM7, 16); return 16;
--
-- case rMXCSR: {
-- // vex only models the rounding bits (see libvex_guest_x86.h)
-- UWord value = 0x1f80;
-- value |= state->guest_SSEROUND << 13;
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
--
-- default: vg_assert(0);
-- }
--
--#elif defined(VGA_amd64)
-- Addr w;
-- VexGuestAMD64State *state;
-- switch (shadow) {
-- case 0: state = &tst->arch.vex; break;
-- case 1: state = &tst->arch.vex_shadow1; break;
-- case 2: state = &tst->arch.vex_shadow2; break;
-- default: vg_assert(0);
-- }
--
-- switch (regnum) {
-- case rRAX: VG_(memcpy)(rbuf, &state->guest_RAX, 8); return 8;
-- case rRCX: VG_(memcpy)(rbuf, &state->guest_RCX, 8); return 8;
-- case rRDX: VG_(memcpy)(rbuf, &state->guest_RDX, 8); return 8;
-- case rRBX: VG_(memcpy)(rbuf, &state->guest_RBX, 8); return 8;
-- case rRSP: VG_(memcpy)(rbuf, &state->guest_RSP, 8); return 8;
-- case rRBP: VG_(memcpy)(rbuf, &state->guest_RBP, 8); return 8;
-- case rRSI: VG_(memcpy)(rbuf, &state->guest_RSI, 8); return 8;
-- case rRDI: VG_(memcpy)(rbuf, &state->guest_RDI, 8); return 8;
--
-- case rR8: VG_(memcpy)(rbuf, &state->guest_R8, 8); return 8;
-- case rR9: VG_(memcpy)(rbuf, &state->guest_R9, 8); return 8;
-- case rR10: VG_(memcpy)(rbuf, &state->guest_R10, 8); return 8;
-- case rR11: VG_(memcpy)(rbuf, &state->guest_R11, 8); return 8;
-- case rR12: VG_(memcpy)(rbuf, &state->guest_R12, 8); return 8;
-- case rR13: VG_(memcpy)(rbuf, &state->guest_R13, 8); return 8;
-- case rR14: VG_(memcpy)(rbuf, &state->guest_R14, 8); return 8;
-- case rR15: VG_(memcpy)(rbuf, &state->guest_R15, 8); return 8;
--
-- case rRIP: VG_(memcpy)(rbuf, &state->guest_RIP, 8); return 8;
-- case rRFLAGS:
-- if (shadow) return 0; // fixme
-- w = LibVEX_GuestAMD64_get_rflags(state);
-- VG_(memcpy)(rbuf, &w, 8);
-- return 8;
-- case rCS: return 0; // fixme state->guest_CS;
-- case rSS: return 0; // fixme state->guest_SS;
-- case rDS: return 0; // fixme state->guest_DS;
-- case rES: return 0; // fixme state->guest_ES;
-- case rFS: return 0; // fixme state->guest_FS;
-- case rGS:
-- VG_(memcpy)(rbuf, &state->guest_GS_0x60, 8); return 8; // fixme state->guest_GS;
--
-- // vex does not simulate 80-bit precision
-- // fixme shift by FTOP?
-- case rST0:
-- case rST1:
-- case rST2:
-- case rST3:
-- case rST4:
-- case rST5:
-- case rST6:
-- case rST7:
-- convert_f64le_to_f80le(&state->guest_FPREG[regnum-rST0], rbuf);
-- return 10;
--
-- case rFCTRL: {
-- // vex only models the rounding bits (see libvex_guest_x86.h)
-- UWord value = 0x037f;
-- value |= state->guest_FPROUND << 10;
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
-- case rFSTAT: {
-- UWord value = state->guest_FC3210;
-- value |= (state->guest_FTOP & 7) << 11;
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
-- case rFTAG: {
-- // vex doesn't model these precisely
-- UWord value =
-- ((state->guest_FPTAG[0] ? 0 : 3) << 0) |
-- ((state->guest_FPTAG[1] ? 0 : 3) << 2) |
-- ((state->guest_FPTAG[2] ? 0 : 3) << 4) |
-- ((state->guest_FPTAG[3] ? 0 : 3) << 6) |
-- ((state->guest_FPTAG[4] ? 0 : 3) << 8) |
-- ((state->guest_FPTAG[5] ? 0 : 3) << 10) |
-- ((state->guest_FPTAG[6] ? 0 : 3) << 12) |
-- ((state->guest_FPTAG[7] ? 0 : 3) << 14);
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
-- case rFISEG:
-- case rFIOFF:
-- case rFOSEG:
-- case rFOOFF:
-- case rFOP: {
-- // fixme lie
-- UWord value = 0;
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
--
-- case rXMM0: VG_(memcpy)(rbuf, &state->guest_XMM0, 16); return 16;
-- case rXMM1: VG_(memcpy)(rbuf, &state->guest_XMM1, 16); return 16;
-- case rXMM2: VG_(memcpy)(rbuf, &state->guest_XMM2, 16); return 16;
-- case rXMM3: VG_(memcpy)(rbuf, &state->guest_XMM3, 16); return 16;
-- case rXMM4: VG_(memcpy)(rbuf, &state->guest_XMM4, 16); return 16;
-- case rXMM5: VG_(memcpy)(rbuf, &state->guest_XMM5, 16); return 16;
-- case rXMM6: VG_(memcpy)(rbuf, &state->guest_XMM6, 16); return 16;
-- case rXMM7: VG_(memcpy)(rbuf, &state->guest_XMM7, 16); return 16;
-- case rXMM8: VG_(memcpy)(rbuf, &state->guest_XMM8, 16); return 16;
-- case rXMM9: VG_(memcpy)(rbuf, &state->guest_XMM9, 16); return 16;
-- case rXMM10: VG_(memcpy)(rbuf, &state->guest_XMM10, 16); return 16;
-- case rXMM11: VG_(memcpy)(rbuf, &state->guest_XMM11, 16); return 16;
-- case rXMM12: VG_(memcpy)(rbuf, &state->guest_XMM12, 16); return 16;
-- case rXMM13: VG_(memcpy)(rbuf, &state->guest_XMM13, 16); return 16;
-- case rXMM14: VG_(memcpy)(rbuf, &state->guest_XMM14, 16); return 16;
-- case rXMM15: VG_(memcpy)(rbuf, &state->guest_XMM15, 16); return 16;
--
-- case rMXCSR: {
-- // vex only models the rounding bits (see libvex_guest_x86.h)
-- UWord value = 0x1f80;
-- value |= state->guest_SSEROUND << 13;
-- VG_(memcpy)(rbuf, &value, 4);
-- return 4;
-- }
--
-- default: vg_assert(0);
-- }
--
--#else
--#error unknown architecture
--#endif
--}
--
--
--static void reg_to_vex(ThreadId tid, Int regnum, const void *rbuf)
--{
--#if defined(VGA_x86)
-- VexGuestX86State *state = &VG_(threads)[tid].arch.vex;
--
-- switch (regnum) {
-- case rEAX: VG_(memcpy)(&state->guest_EAX, rbuf, 4); break;
-- case rECX: VG_(memcpy)(&state->guest_ECX, rbuf, 4); break;
-- case rEDX: VG_(memcpy)(&state->guest_EDX, rbuf, 4); break;
-- case rEBX: VG_(memcpy)(&state->guest_EBX, rbuf, 4); break;
-- case rESP: VG_(memcpy)(&state->guest_ESP, rbuf, 4); break;
-- case rEBP: VG_(memcpy)(&state->guest_EBP, rbuf, 4); break;
-- case rESI: VG_(memcpy)(&state->guest_ESI, rbuf, 4); break;
-- case rEDI: VG_(memcpy)(&state->guest_EDI, rbuf, 4); break;
--
-- case rEIP: VG_(memcpy)(&state->guest_EIP, rbuf, 4); break;
-- case rEFLAGS: break;// fixme LibVEX_GuestX86_put_eflags(state, value);
-- case rCS: VG_(memcpy)(&state->guest_CS, rbuf, 2); break;
-- case rSS: VG_(memcpy)(&state->guest_SS, rbuf, 2); break;
-- case rDS: VG_(memcpy)(&state->guest_DS, rbuf, 2); break;
-- case rES: VG_(memcpy)(&state->guest_ES, rbuf, 2); break;
-- case rFS: VG_(memcpy)(&state->guest_FS, rbuf, 2); break;
-- case rGS: VG_(memcpy)(&state->guest_GS, rbuf, 2); break;
--
-- // vex does not simulate 80-bit precision
-- // fixme shift by FTOP?
-- case rST0:
-- case rST1:
-- case rST2:
-- case rST3:
-- case rST4:
-- case rST5:
-- case rST6:
-- case rST7:
-- convert_f80le_to_f64le(rbuf, &state->guest_FPREG[regnum-rST0]);
-- break;
--
-- case rXMM0: VG_(memcpy)(&state->guest_XMM0, rbuf, 16); break;
-- case rXMM1: VG_(memcpy)(&state->guest_XMM1, rbuf, 16); break;
-- case rXMM2: VG_(memcpy)(&state->guest_XMM2, rbuf, 16); break;
-- case rXMM3: VG_(memcpy)(&state->guest_XMM3, rbuf, 16); break;
-- case rXMM4: VG_(memcpy)(&state->guest_XMM4, rbuf, 16); break;
-- case rXMM5: VG_(memcpy)(&state->guest_XMM5, rbuf, 16); break;
-- case rXMM6: VG_(memcpy)(&state->guest_XMM6, rbuf, 16); break;
-- case rXMM7: VG_(memcpy)(&state->guest_XMM7, rbuf, 16); break;
--
-- default: vg_assert(0);
-- }
--
--#elif defined(VGA_amd64)
-- VexGuestAMD64State *state = &VG_(threads)[tid].arch.vex;
--
-- switch (regnum) {
-- case rRAX: VG_(memcpy)(&state->guest_RAX, rbuf, 8); break;
-- case rRCX: VG_(memcpy)(&state->guest_RCX, rbuf, 8); break;
-- case rRDX: VG_(memcpy)(&state->guest_RDX, rbuf, 8); break;
-- case rRBX: VG_(memcpy)(&state->guest_RBX, rbuf, 8); break;
-- case rRSP: VG_(memcpy)(&state->guest_RSP, rbuf, 8); break;
-- case rRBP: VG_(memcpy)(&state->guest_RBP, rbuf, 8); break;
-- case rRSI: VG_(memcpy)(&state->guest_RSI, rbuf, 8); break;
-- case rRDI: VG_(memcpy)(&state->guest_RDI, rbuf, 8); break;
--
-- case rR8: VG_(memcpy)(&state->guest_R8, rbuf, 8); break;
-- case rR9: VG_(memcpy)(&state->guest_R9, rbuf, 8); break;
-- case rR10: VG_(memcpy)(&state->guest_R10, rbuf, 8); break;
-- case rR11: VG_(memcpy)(&state->guest_R11, rbuf, 8); break;
-- case rR12: VG_(memcpy)(&state->guest_R12, rbuf, 8); break;
-- case rR13: VG_(memcpy)(&state->guest_R13, rbuf, 8); break;
-- case rR14: VG_(memcpy)(&state->guest_R14, rbuf, 8); break;
-- case rR15: VG_(memcpy)(&state->guest_R15, rbuf, 8); break;
--
-- case rRIP: VG_(memcpy)(&state->guest_RIP, rbuf, 8); break;
-- case rRFLAGS: break;// fixme LibVEX_GuestX86_put_eflags(state, value);
-- case rCS: /* fixme state->guest_CS = value; */ break;
-- case rSS: /* fixme state->guest_SS = value; */ break;
-- case rDS: /* fixme state->guest_DS = value; */ break;
-- case rES: /* fixme state->guest_ES = value; */ break;
-- case rFS: /* fixme state->guest_FS = value; */ break;
-- case rGS: /* fixme state->guest_GS = value; */ break;
--
-- // vex does not simulate 80-bit precision
-- // fixme shift by FTOP?
-- case rST0:
-- case rST1:
-- case rST2:
-- case rST3:
-- case rST4:
-- case rST5:
-- case rST6:
-- case rST7:
-- convert_f80le_to_f64le(rbuf, &state->guest_FPREG[regnum-rST0]);
-- break;
--
-- case rXMM0: VG_(memcpy)(&state->guest_XMM0, rbuf, 16); break;
-- case rXMM1: VG_(memcpy)(&state->guest_XMM1, rbuf, 16); break;
-- case rXMM2: VG_(memcpy)(&state->guest_XMM2, rbuf, 16); break;
-- case rXMM3: VG_(memcpy)(&state->guest_XMM3, rbuf, 16); break;
-- case rXMM4: VG_(memcpy)(&state->guest_XMM4, rbuf, 16); break;
-- case rXMM5: VG_(memcpy)(&state->guest_XMM5, rbuf, 16); break;
-- case rXMM6: VG_(memcpy)(&state->guest_XMM6, rbuf, 16); break;
-- case rXMM7: VG_(memcpy)(&state->guest_XMM7, rbuf, 16); break;
-- case rXMM8: VG_(memcpy)(&state->guest_XMM8, rbuf, 16); break;
-- case rXMM9: VG_(memcpy)(&state->guest_XMM9, rbuf, 16); break;
-- case rXMM10: VG_(memcpy)(&state->guest_XMM10, rbuf, 16); break;
-- case rXMM11: VG_(memcpy)(&state->guest_XMM11, rbuf, 16); break;
-- case rXMM12: VG_(memcpy)(&state->guest_XMM12, rbuf, 16); break;
-- case rXMM13: VG_(memcpy)(&state->guest_XMM13, rbuf, 16); break;
-- case rXMM14: VG_(memcpy)(&state->guest_XMM14, rbuf, 16); break;
-- case rXMM15: VG_(memcpy)(&state->guest_XMM15, rbuf, 16); break;
--
-- default: vg_assert(0);
-- }
--
--#else
--#error unknown architecture
--#endif
--}
--
--
--Int VG_(reg_for_regnum)(Int regnum, void *rbuf, Int shadow)
--{
-- // fixme sanitize tid?
-- return reg_from_vex(query_tid, regnum, rbuf, shadow);
--}
--
--
--// DDD: this should be in m_libc somewhere
--static Bool VG_(isxdigit)(int c)
--{
-- if (c >= '0' && c <= '9') return True;
-- if (c >= 'a' && c <= 'f') return True;
-- if (c >= 'A' && c <= 'F') return True;
-- return False;
--}
--
--static Int fromhex(char c)
--{
-- if (c >= '0' && c <= '9') return c - '0';
-- if (c >= 'a' && c <= 'z') return c - 'a' + 10;
-- if (c >= 'A' && c <= 'F') return c - 'A' + 10;
-- return -1;
--}
--
--// len is in BINARY BYTES (sizeof bin, not dst)
--static void hexify(char *dst, const void *bin, Int len)
--{
-- const UChar *src = (const UChar *)bin;
-- const UChar *end = src + len;
--
-- for ( ; src < end; src++) {
-- *dst++ = xdigit[*src >> 4];
-- *dst++ = xdigit[*src & 0xf];
-- }
-- *dst++ = 0;
--}
--
--// len is in BINARY BYTES (sizeof bin, not src)
--static void binify(void *bin, const char *src, Int len)
--{
-- UChar *dst = (UChar *)bin;
-- UChar *end = dst + len;
--
-- for ( ; dst < end; dst++) {
-- *dst = fromhex(*src++) * 16;
-- *dst += fromhex(*src++);
-- }
--}
--
--// like binify, but can write to read-only memory
--static void binify_force(void *bin, unsigned char *src, Int len)
--{
-- mach_vm_address_t vmaddr = (mach_vm_address_t)(uintptr_t)bin;
-- mach_vm_size_t vmsize = len;
-- vm_region_flavor_t flavor = VM_REGION_BASIC_INFO_64;
-- mach_msg_type_number_t count = VM_REGION_BASIC_INFO_COUNT_64;
-- vm_region_basic_info_data_64_t data;
-- mach_port_t unused;
-- kern_return_t kr;
--
-- kr = mach_vm_region(mach_task_self(), &vmaddr, &vmsize,
-- flavor, (vm_region_info_t)&data, &count, &unused);
-- if (kr) debuglog("debugger: mach_vm_region failed (%d)", kr);
-- kr = mach_vm_protect(mach_task_self(), vmaddr, vmsize,
-- 0, VM_PROT_READ|VM_PROT_WRITE);
-- if (kr) debuglog("debugger: mach_vm_protect failed (%d)", kr);
--
-- binify(bin, src, len);
--
-- kr = mach_vm_protect(mach_task_self(), vmaddr, vmsize, 0, data.protection);
-- if (kr) debuglog("debugger: mach_vm_protect failed (%d)", kr);
--}
--
--static ThreadId current_tid(void)
--{
-- ThreadId tid = VG_(last_running_tid);
-- if (VG_(is_valid_tid)(tid)) {
-- return tid;
-- }
--
-- // find a new thread
-- for (tid = 1; tid < VG_N_THREADS; tid++) {
-- if (VG_(is_valid_tid)(tid)) {
-- return tid;
-- }
-- }
--
-- return 0;
--}
--
--
--static Int listen_to(Int port)
--{
-- Int opt;
-- Int serv;
-- Int err;
-- vki_socklen_t size;
-- struct vki_sockaddr_in addr = { sizeof(struct vki_sockaddr_in), VKI_AF_INET, VG_(htons)(port), {VG_(htonl)(VKI_INADDR_LOOPBACK)} };
--
-- serv = VG_(socket)(VKI_AF_INET, VKI_SOCK_STREAM, 0);
-- if (serv < 0) {
-- return -1;
-- }
-- serv = VG_(safe_fd)(serv);
-- if (serv < 0) {
-- return -1;
-- }
--
-- // set SO_REUSEADDR to help prevent "address already in use" errors
-- opt = 1;
-- VG_(setsockopt)(serv, VKI_SOL_SOCKET, VKI_SO_REUSEADDR, &opt, sizeof(opt));
--
-- size = sizeof(addr);
-- err = VG_(bind)(serv, (struct vki_sockaddr *)&addr, size);
-- if (err < 0) {
-- VG_(close)(serv);
-- return -1;
-- }
--
-- err = VG_(listen)(serv, 1);
-- if (err < 0) {
-- VG_(close)(serv);
-- return -1;
-- }
--
-- return serv;
--}
--
--
--static Int accept_from(Int serv)
--{
-- Int sock;
-- struct vki_sockaddr_in addr;
-- vki_socklen_t size;
--
-- size = sizeof(addr);
-- sock = VG_(accept)(serv, (struct vki_sockaddr *)&addr, &size);
-- if (sock < 0) {
-- return -1;
-- }
-- sock = VG_(safe_fd)(sock);
-- if (sock < 0) {
-- return -1;
-- }
--
-- return sock;
--}
--
--
--static char *read_command(Int sock)
--{
-- char checksum[2];
-- char *p = msgbuf;
-- Int count;
-- char c;
--
-- // read '$'
-- do {
-- count = VG_(read)(sock, &c, 1);
-- } while (count == 1 && c != '$');
-- if (count != 1) {
-- debuglog("debugger: failed while looking for '$'");
-- return NULL;
-- }
--
-- // read through '#'
-- do {
-- count = VG_(read)(sock, &c, 1);
-- *p++ = c;
-- if (p == msgbuf+msgbufsize) {
-- debuglog("debugger: command too large");
-- return NULL;
-- }
-- } while (count == 1 && c != '#');
-- if (count != 1) {
-- debuglog("debugger: failed while looking for '#'");
-- return NULL;
-- }
-- vg_assert(p > msgbuf && p < msgbuf+msgbufsize);
-- p[-1] = 0; // overwrite '#'
--
-- // read checksum
-- do {
-- count = VG_(read)(sock, &checksum[0], 1);
-- } while (count != 1);
-- if (count != 1) {
-- debuglog("debugger: failed while looking for checksum digit");
-- return NULL;
-- }
-- do {
-- count = VG_(read)(sock, &checksum[1], 1);
-- } while (count != 1);
-- if (count != 1) {
-- debuglog("debugger: failed while looking for checksum digit");
-- return NULL;
-- }
--
-- // check checksum
-- // fixme actually do the sum
-- if (!VG_(isxdigit)(checksum[0]) || !VG_(isxdigit)(checksum[1])) {
-- debuglog("bad checksum digits %c%c", checksum[0], checksum[1]);
-- }
--
-- // acknoledge
-- VG_(write)(sock, "+", 1);
--
-- debuglog("debugger: received command '%s'", msgbuf);
--
-- return VG_(arena_strdup)(VG_AR_CORE, "debugstub.msg", msgbuf);
--}
--
--
--static void write_command(Int sock, const char *cmd)
--{
-- const char *p;
-- unsigned int sum = 0;
-- char suffix[3];
-- // Int count;
-- // char c;
--
-- // compute checksum
-- for (p = cmd; *p; p++) {
-- sum += (unsigned char)*p;
-- }
-- sum &= 0xff;
--
-- suffix[0] = '#';
-- suffix[1] = xdigit[sum >> 4];
-- suffix[2] = xdigit[sum & 0x0f];
--
-- // write $cmd#ck
-- VG_(write)(sock, "$", 1);
-- VG_(write)(sock, cmd, VG_(strlen)(cmd));
-- VG_(write)(sock, suffix, sizeof(suffix));
-- debuglog("debugger: sent command '%s'", cmd);
--
-- // read '+'
-- /*
-- do {
-- count = read(sock, &c, 1);
-- } while (count == 1);
-- if (count != 1 || c != '+') return fail("packet not acknowledged");
-- */
--}
--
--static void list_threads(Int sock)
--{
-- ThreadId tid;
-- char *p;
-- char prefix;
--
-- prefix = 'm'; // first thread starts with 'm'
-- p = outbuf;
-- for (tid = 1; tid < VG_N_THREADS; tid++) {
-- if (VG_(is_valid_tid)(tid)) {
-- p += VG_(sprintf)(p, "%c%08x", prefix, tid);
-- prefix = ','; // comma-separated after first
-- }
-- }
-- write_command(sock, outbuf);
--}
--
--static void handle_m(Int sock, char *cmd)
--{
-- Long addr, len;
--
-- addr = VG_(strtoll16)(cmd, NULL);
-- cmd = VG_(strchr)(cmd, ',');
-- if (!cmd) {
-- write_command(sock, "E01"); // fixme errno
-- return;
-- }
-- len = VG_(strtoll16)(cmd+1, NULL);
-- if (len > (sizeof(outbuf)-1) / 2) len = (sizeof(outbuf)-1) / 2;
--
-- if (! VG_(am_is_valid_for_client)((Addr)addr, (SizeT)len, VKI_PROT_READ)) {
-- write_command(sock, "E14"); // fixme EFAULT
-- return;
-- }
--
-- hexify(outbuf, (char *)(Addr)addr, len);
-- write_command(sock, outbuf);
--}
--
--static void handle_M(Int sock, char *cmd)
--{
-- Long addr, len;
-- unsigned char *inbuf;
--
-- addr = VG_(strtoll16)(cmd, NULL);
--
-- cmd = VG_(strchr)(cmd, ',');
-- if (!cmd) {
-- write_command(sock, "E01"); // fixme errno
-- return;
-- }
-- len = VG_(strtoll16)(cmd+1, NULL);
--
-- if (! VG_(am_is_valid_for_client)((Addr)addr, (SizeT)len, VKI_PROT_READ)) {
-- write_command(sock, "E14"); // fixme EFAULT
-- return;
-- }
--
-- inbuf = VG_(strchr)(cmd, ':');
-- if (!inbuf) {
-- write_command(sock, "E01");
-- return;
-- }
-- inbuf++;
--
-- binify_force((char *)(Addr)addr, inbuf, len);
-- VG_TRACK( post_mem_write, Vg_CoreClientReq/*fixme?*/, 1/*fixme*/, addr, len);
-- VG_(discard_translations)(addr, len, "debugger(M)");
--
-- write_command(sock, "OK");
--}
--
--
--
--static Bool handle_q_valgrind(Int sock, char *cmd)
--{
-- Bool handled = True; // False means unknown valgrind query command
-- Char *toolname = VG_(details).name;
-- Int toollen = VG_(strlen)(VG_(details).name);
--
-- debuglog("qvalgrind command %s", cmd);
--
-- if (VG_(needs).debugger_commands &&
-- VG_(tdict).tool_handle_debugger_query &&
-- 0 == VG_(strncmp)(cmd, toolname, toollen) &&
-- cmd[toollen] == '.')
-- {
-- debuglog("forwarding %s to tool", cmd);
-- handled = VG_(tdict).tool_handle_debugger_query(sock, cmd+toollen+1);
-- }
-- /*
-- else if (0 == VG_(strncmp)(cmd, "core.", 5)) {
-- // any core-provided commands go here
-- }
-- */
-- else {
-- handled = False;
-- }
--
-- return handled;
--}
--
--static Bool handle_q(Int sock, char *cmd)
--{
-- Bool handled = True; // False means unknown query command
--
-- debuglog("q command %s", cmd);
--
-- if (0 == VG_(strcmp)(cmd, "C")) {
-- // current thread
-- VG_(sprintf)(outbuf, "QC%04x", current_tid());
-- write_command(sock, outbuf);
-- }
-- else if (0 == VG_(strcmp)(cmd, "fThreadInfo")) {
-- // thread list
-- list_threads(sock);
-- }
-- else if (0 == VG_(strcmp)(cmd, "sThreadInfo")) {
-- // fThreadInfo continuation - we did it all the first time
-- write_command(sock, "l");
-- }
-- else if (0 == VG_(strcmp)(cmd, "Offsets")) {
-- // text and data offsets
-- // fixme hack
-- write_command(sock, "Text=0;Data=0;Bss=0");
-- }
-- else if (0 == VG_(strcmp)(cmd, "valgrind")) {
-- // valgrind existence query - reply with tool name
-- write_command(sock, VG_(details).name);
-- }
-- else if (0 == VG_(strncmp)(cmd, "valgrind.", 9)) {
-- // valgrind subcommand
-- handled = handle_q_valgrind(sock, cmd+9);
-- }
-- else {
-- // unknown query
-- handled = False;
-- }
--
-- return handled;
--}
--
--
--static Bool handle_Q_valgrind(Int sock, char *cmd)
--{
-- Bool handled = True; // False means unknown valgrind action command
-- Char *toolname = VG_(details).name;
-- Int toollen = VG_(strlen)(VG_(details).name);
--
-- if (VG_(needs).debugger_commands &&
-- VG_(tdict).tool_handle_debugger_action &&
-- 0 == VG_(strncmp)(cmd, toolname, toollen) &&
-- cmd[toollen] == '.')
-- {
-- debuglog("forwarding %s to tool", cmd);
-- handled = VG_(tdict).tool_handle_debugger_action(sock, cmd+toollen+1);
-- }
-- /*
-- else if (0 == VG_(strncmp)(cmd, "core.", 5)) {
-- // any core-provided commands go here
-- }
-- */
-- else {
-- handled = False;
-- }
--
-- return handled;
--}
--
--static Bool handle_Q(Int sock, char *cmd)
--{
-- Bool handled = True; // False means unknown action command
--
-- if (0 == VG_(strncmp)(cmd, "valgrind.", 10)) {
-- // valgrind subcommand
-- handled = handle_Q_valgrind(sock, cmd+10);
-- }
-- else {
-- // unknown query
-- handled = False;
-- }
--
-- return handled;
--}
--
--
--__attribute__((unused))
--static Bool handle_v(Int sock, char *cmd)
--{
-- if (0 == VG_(strncmp)(cmd, "Cont", 4)) {
-- // vCont
-- if (0 == VG_(strcmp)(cmd, "Cont?")) {
-- // capability query
-- // fixme can't really handle C/s/S, but gdb won't use c otherwise
-- write_command(sock, "vCont;c;C;s;S");
-- return True;
-- }
-- else if (0 == VG_(strncmp)(cmd, "Cont;", 5)) {
-- // continue command
-- ThreadId tid = -1;
-- Bool continueOthers = True;
--
-- cmd += 5;
-- // fixme this only handles a subset of possible vCont commands,
-- // but gdb only generates a subset anyway
-- // fixme incorrect C/S/s handling
-- switch (cmd[0]) {
-- case 'c':
-- case 's':
-- cmd++;
-- break;
-- case 'C':
-- case 'S':
-- cmd += 3; // skip signal number
-- break;
-- default:
-- return False;
-- }
-- if (cmd[0] == ':') {
-- // target thread ID
-- tid = VG_(strtoll16)(cmd+1, NULL);
-- continueOthers = False;
-- }
--
-- // command for other threads - assume 'c' or empty
-- cmd = VG_(strchr)(cmd, ';');
-- if (cmd) {
-- if (cmd[0] == 'c') continueOthers = True;
-- }
--
-- if (tid != -1 && !continueOthers) {
-- // Run tid only
-- } else if (tid) {
-- // Run all threads, tid first
-- } else {
-- // Run all threads
-- }
--
-- return True;
-- }
-- }
--
-- return False;
--}
--
--
--static void handle_p(Int sock, char *cmd)
--{
-- char rbuf[16];
-- int rsize;
-- Long reg = VG_(strtoll16)(cmd, NULL);
-- if (!VG_(is_valid_tid)(query_tid)) {
-- write_command(sock, "E01"); // fixme errno
-- } else if (reg < 0 || reg >= rcount) {
-- write_command(sock, "E01");
-- } else {
-- rsize = reg_from_vex(query_tid, reg, rbuf, 0);
-- hexify(outbuf, rbuf, rsize);
-- write_command(sock, outbuf);
-- }
--}
--
--static void handle_P(Int sock, char *cmd)
--{
-- uint8_t rbuf[16] = {0};
-- int rsize;
--
-- Long reg = VG_(strtoll16)(cmd, NULL);
-- cmd = VG_(strchr)(cmd, '=');
-- if (!cmd) {
-- write_command(sock, "E01");
-- return;
-- }
-- cmd++;
--
-- rsize = VG_(strlen)(cmd) / 2;
-- vg_assert(rsize <= 16);
-- binify(rbuf, cmd, rsize);
-- /*
-- char oldbuf[16];
-- int oldsize = reg_from_vex(query_tid, reg, oldbuf, 0);
-- if (rsize == oldsize && 0 == VG_(memcmp)(rbuf, oldbuf, rsize)) {
-- // no change - ok for any register
-- write_command(sock, "OK");
-- return;
-- }
-- */
-- // fixme can't change all registers all the time
-- // - can't change PC during error report
-- // - other registers during error report?
-- if (reg == rPC && stop_sig != 5) {
-- write_command(sock, "E01");
-- return;
-- }
-- reg_to_vex(query_tid, reg, rbuf);
-- debuglog("pc %p", VG_(threads)[query_tid].arch.vex.guest_PC);
-- write_command(sock, "OK");
--}
--
--static void handle_T(Int sock, char *cmd)
--{
-- Long tid = VG_(strtoll16)(cmd, NULL);
-- if (VG_(is_valid_tid)(tid)) {
-- write_command(sock, "OK");
-- } else {
-- write_command(sock, "E01");
-- }
--}
--
--static void handle_g(Int sock)
--{
-- Addr regs[grcount];
-- Int r;
--
-- if (!VG_(is_valid_tid)(query_tid)) {
-- write_command(sock, "E01"); // fixme errno
-- return;
-- }
--
-- for (r = 0; r < grcount; r++) {
-- reg_from_vex(query_tid, r, ®s[r], 0);
-- }
--
-- hexify(outbuf, (char *)regs, sizeof(regs));
-- write_command(sock, outbuf);
--}
--
--
--static void handle_G(Int sock, char *cmd)
--{
-- Addr regs[grcount];
-- Int r;
--
-- if (!VG_(is_valid_tid)(query_tid)) {
-- write_command(sock, "E01"); // fixme errno
-- return;
-- }
--
-- if (VG_(strlen)(cmd) != 2 * sizeof(regs)) {
-- write_command(sock, "E01"); // fixme errno
-- return;
-- }
--
-- binify((char *)regs, cmd, sizeof(regs));
--
-- for (r = 0; r < grcount; r++) {
-- reg_to_vex(query_tid, r, ®s[r]);
-- }
--
-- write_command(sock, "OK");
--}
--
--
--static Bool handle_why(Int sock)
--{
-- if (stop_tid) {
-- VG_(sprintf)(outbuf, "T%02xthread:%x;", stop_sig, stop_tid);
-- } else {
-- VG_(sprintf)(outbuf, "T%02xthread:%x;", 0, query_tid);
-- }
-- write_command(sock, outbuf);
-- return True;
--}
--
--// run until remote debugger or local tools asks us to stop
--// return False if debugger disconnects
--static Bool do_continue(Int sock)
--{
-- Bool halt = False;
--
-- VG_(message)(Vg_UserMsg, "Continuing.");
--
-- debugger_unlock();
--
-- while (1) {
-- int selected;
-- int nfds = 1 + (sock > debugger_notify[0] ? sock : debugger_notify[0]);
-- fd_set fds;
-- FD_ZERO(&fds);
-- FD_SET(sock, &fds);
-- FD_SET(debugger_notify[0], &fds);
-- selected = VG_(select)(nfds, &fds, NULL, NULL, NULL);
--
-- if (FD_ISSET(sock, &fds)) {
-- char c;
-- Int count = VG_(read)(sock, &c, 1);
-- if (count != 1) {
-- halt = True;
-- break;
-- } else if (c == 0x03) {
-- break;
-- }
-- }
-- if (FD_ISSET(debugger_notify[0], &fds)) {
-- Int count = VG_(read)(debugger_notify[0], &stop_tid, sizeof(stop_tid));
-- count += VG_(read)(debugger_notify[0], &stop_sig, sizeof(stop_sig));
-- if (count == sizeof(stop_tid)+sizeof(stop_sig)) {
-- break;
-- } else {
-- stop_tid = 0;
-- stop_sig = 0;
-- }
-- }
-- }
--
-- debugger_lock(sock);
--
-- if (halt) {
-- ...
[truncated message content] |
|
From: Nicholas N. <n.n...@gm...> - 2009-05-27 17:19:55
|
Nightly build on ocean32 ( Ubuntu 9.04, Intel x86-64 (32-bit only) ) started at 2009-05-28 03:00:01 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
== 449 tests, 7 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/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)
=================================================
./valgrind/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2009-05-28 03:10:36.000000000 +1000
+++ stack_switch.stderr.out 2009-05-28 03:17:38.000000000 +1000
@@ -0,0 +1,2 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
=================================================
./valgrind/memcheck/tests/origin1-yes.stderr.diff
=================================================
--- origin1-yes.stderr.exp 2009-05-28 03:10:38.000000000 +1000
+++ origin1-yes.stderr.out 2009-05-28 03:17:55.000000000 +1000
@@ -47,7 +47,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin1-yes.c:93)
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:90)
=================================================
./valgrind/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-05-28 03:10:38.000000000 +1000
+++ origin5-bz2.stderr.out 2009-05-28 03:17:59.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/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-05-28 03:10:38.000000000 +1000
+++ origin5-bz2.stderr.out 2009-05-28 03:17:59.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/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-05-28 03:10:38.000000000 +1000
+++ origin5-bz2.stderr.out 2009-05-28 03:17:59.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/none/tests/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-05-28 03:11:07.000000000 +1000
+++ mremap2.stdout.out 2009-05-28 03:19: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/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-05-28 03:11:07.000000000 +1000
+++ mremap2.stdout.out 2009-05-28 03:19: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/none/tests/linux/mremap2.stdout.diff2
=================================================
--- mremap2.stdout.exp2 2009-05-28 03:11:07.000000000 +1000
+++ mremap2.stdout.out 2009-05-28 03:19: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/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-05-28 03:11:09.000000000 +1000
+++ shell.stderr.out 2009-05-28 03:19:22.000000000 +1000
@@ -1,8 +1 @@
-./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: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-05-28 03:11:09.000000000 +1000
+++ shell.stderr.out 2009-05-28 03:19:22.000000000 +1000
@@ -1,8 +1 @@
-./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: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-05-28 03:11:09.000000000 +1000
+++ shell.stdout.out 2009-05-28 03:19:22.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/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-05-28 03:11:09.000000000 +1000
+++ shell_valid1.stderr.out 2009-05-28 03:19:22.000000000 +1000
@@ -0,0 +1 @@
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-05-28 03:11:09.000000000 +1000
+++ shell_valid2.stderr.out 2009-05-28 03:19:22.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/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-05-28 03:11:09.000000000 +1000
+++ shell_valid3.stderr.out 2009-05-28 03:19:22.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
|
|
From: Tom H. <th...@cy...> - 2009-05-27 02:43:46
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-05-27 03:05:05 BST 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 == 481 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-05-27 02:27:50
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-05-27 03:10:06 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 == 487 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |
|
From: <sv...@va...> - 2009-05-26 19:06:21
|
Author: bart
Date: 2009-05-26 20:05:11 +0100 (Tue, 26 May 2009)
New Revision: 10153
Log:
- Renamed into DRD_(thread_update_cs_after_sync)() into
DRD_(thread_update_conflict_set)().
- Optimized DRD_(thread_new_segment)().
Modified:
branches/DRDDEV/drd/drd_barrier.c
branches/DRDDEV/drd/drd_rwlock.c
branches/DRDDEV/drd/drd_thread.c
branches/DRDDEV/drd/drd_thread.h
Modified: branches/DRDDEV/drd/drd_barrier.c
===================================================================
--- branches/DRDDEV/drd/drd_barrier.c 2009-05-25 01:58:02 UTC (rev 10152)
+++ branches/DRDDEV/drd/drd_barrier.c 2009-05-26 19:05:11 UTC (rev 10153)
@@ -480,7 +480,7 @@
&r->sg[p->post_iteration]->vc);
}
}
- DRD_(thread_update_cs_after_sync)(tid, &old_vc);
+ DRD_(thread_update_conflict_set)(tid, &old_vc);
DRD_(vc_cleanup)(&old_vc);
}
Modified: branches/DRDDEV/drd/drd_rwlock.c
===================================================================
--- branches/DRDDEV/drd/drd_rwlock.c 2009-05-25 01:58:02 UTC (rev 10152)
+++ branches/DRDDEV/drd/drd_rwlock.c 2009-05-26 19:05:11 UTC (rev 10153)
@@ -180,7 +180,7 @@
&q->last_unlock_segment->vc);
}
}
- DRD_(thread_update_cs_after_sync)(tid, &old_vc);
+ DRD_(thread_update_conflict_set)(tid, &old_vc);
DRD_(vc_cleanup)(&old_vc);
}
Modified: branches/DRDDEV/drd/drd_thread.c
===================================================================
--- branches/DRDDEV/drd/drd_thread.c 2009-05-25 01:58:02 UTC (rev 10152)
+++ branches/DRDDEV/drd/drd_thread.c 2009-05-26 19:05:11 UTC (rev 10153)
@@ -954,17 +954,13 @@
new_sg = DRD_(sg_new)(tid, tid);
thread_append_segment(tid, new_sg);
- if (new_sg->prev == NULL
- || conflict_set_update_needed(tid, &new_sg->prev->vc, &new_sg->vc))
- {
- thread_compute_conflict_set(&DRD_(g_conflict_set),
- DRD_(g_drd_running_tid));
- s_conflict_set_new_segment_count++;
- }
- else if (tid == DRD_(g_drd_running_tid))
- {
- tl_assert(thread_conflict_set_up_to_date(DRD_(g_drd_running_tid)));
- }
+ /*
+ * Note: after creation of a new segment and before the conflict set has
+ * been updated the conflict set can be temporarily out of sync. The
+ * following assert statement would fail when enabled:
+ *
+ * tl_assert(thread_conflict_set_up_to_date(DRD_(g_drd_running_tid)));
+ */
thread_discard_ordered_segments();
@@ -1017,7 +1013,8 @@
DRD_(vc_copy)(&old_vc, &DRD_(g_threadinfo)[tid].last->vc);
DRD_(vc_combine)(&DRD_(g_threadinfo)[tid].last->vc, vc);
- DRD_(thread_update_cs_after_sync)(tid, &old_vc);
+ thread_discard_ordered_segments();
+ DRD_(thread_update_conflict_set)(tid, &old_vc);
DRD_(vc_cleanup)(&old_vc);
}
else
@@ -1027,26 +1024,6 @@
}
/**
- * Update the conflict set after the vector clock of thread tid has been updated
- * from old_vc to DRD_(g_threadinfo)[tid].last->vc.
- */
-void DRD_(thread_update_cs_after_sync)(DrdThreadId tid, VectorClock* old_vc)
-{
- tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
- && tid != DRD_INVALID_THREADID);
- tl_assert(old_vc);
-
- thread_discard_ordered_segments();
-
- if (conflict_set_update_needed(tid, old_vc,
- &DRD_(g_threadinfo)[tid].last->vc))
- {
- thread_compute_conflict_set(&DRD_(g_conflict_set), tid);
- s_conflict_set_combine_vc_count++;
- }
-}
-
-/**
* Call this function whenever a thread is no longer using the memory
* [ a1, a2 [, e.g. because of a call to free() or a stack pointer
* increase.
@@ -1266,8 +1243,9 @@
}
/**
- * Compute a bitmap that represents the union of all memory accesses of all
- * segments that are unordered to the current segment of the thread tid.
+ * Compute the conflict set: a bitmap that represents the union of all memory
+ * accesses of all segments that are unordered to the current segment of the
+ * thread tid.
*/
static void thread_compute_conflict_set(struct bitmap** conflict_set,
const DrdThreadId tid)
@@ -1375,6 +1353,32 @@
}
}
+/**
+ * Update the conflict set after the vector clock of thread tid has been
+ * updated from old_vc to its current value, either because a new segment has
+ * been created or because of a synchronization operation.
+ */
+void DRD_(thread_update_conflict_set)(const DrdThreadId tid,
+ const VectorClock* const old_vc)
+{
+ const VectorClock* new_vc;
+
+ tl_assert(0 <= (int)tid && tid < DRD_N_THREADS
+ && tid != DRD_INVALID_THREADID);
+ tl_assert(old_vc);
+
+
+ new_vc = &DRD_(g_threadinfo)[tid].last->vc;
+
+ if (conflict_set_update_needed(tid, old_vc, new_vc))
+ {
+ thread_compute_conflict_set(&DRD_(g_conflict_set), tid);
+ s_conflict_set_combine_vc_count++;
+ }
+
+ tl_assert(thread_conflict_set_up_to_date(DRD_(g_drd_running_tid)));
+}
+
/** Report the number of context switches performed. */
ULong DRD_(thread_get_context_switch_count)(void)
{
Modified: branches/DRDDEV/drd/drd_thread.h
===================================================================
--- branches/DRDDEV/drd/drd_thread.h 2009-05-25 01:58:02 UTC (rev 10152)
+++ branches/DRDDEV/drd/drd_thread.h 2009-05-26 19:05:11 UTC (rev 10153)
@@ -151,7 +151,8 @@
void DRD_(thread_combine_vc_join)(const DrdThreadId joiner,
const DrdThreadId joinee);
void DRD_(thread_combine_vc_sync)(const DrdThreadId tid, const Segment* sg);
-void DRD_(thread_update_cs_after_sync)(DrdThreadId tid, VectorClock* old_vc);
+void DRD_(thread_update_conflict_set)(const DrdThreadId tid,
+ const VectorClock* const old_vc);
void DRD_(thread_stop_using_mem)(const Addr a1, const Addr a2);
void DRD_(thread_start_recording)(const DrdThreadId tid);
|
|
From: Nicholas N. <n.n...@gm...> - 2009-05-26 00:59:50
|
Hi, I think the DARWIN branch is in a good enough state that it's ready to be merged with the trunk. Excluding Helgrind, DRD and Ptrcheck, I get only 11 regtest failures on my MacBook Pro, which is better than the result for some Linux systems. (I haven't made much of an effort to get Helgrind, DRD and Ptrcheck working on Darwin yet because they are the least-used tools. That's future work.) The Darwin-specific code still requires some cleaning up -- look for comments containing "DDD" and/or "GrP" if you want an idea -- but it's in a good enough state that maintaining a separate branch for it is no longer worth the effort. I've recently done a lot of commits to synchronise the branch with the trunk. The net result is that the branch/trunk diff now contains mostly new, Darwin-specific code; there's only a small amount of trunk code that is modified. The 31,102 line diff is available at www.valgrind.org/njn/trunk-DARWIN-r10152.diff.bz2, it's from r10152. I propose doing the merge in two day's time, ie. some time Thursday (Melbourne time). If interested people could look over the diff, that would be helpful. It would also be very helpful if we could avoid making commits to the trunk or the DARWIN branch in the meantime. Any comments? Nick |
|
From: Nicholas N. <n.n...@gm...> - 2009-05-25 17:29:35
|
Nightly build on ocean32 ( Ubuntu 9.04, Intel x86-64 (32-bit only) ) started at 2009-05-26 03:00:01 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
== 449 tests, 7 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/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)
=================================================
./valgrind/memcheck/tests/linux/stack_switch.stderr.diff
=================================================
--- stack_switch.stderr.exp 2009-05-26 03:17:14.000000000 +1000
+++ stack_switch.stderr.out 2009-05-26 03:27:17.000000000 +1000
@@ -0,0 +1,2 @@
+Syscall param clone(child_tidptr) contains uninitialised byte(s)
+ ...
=================================================
./valgrind/memcheck/tests/origin1-yes.stderr.diff
=================================================
--- origin1-yes.stderr.exp 2009-05-26 03:17:23.000000000 +1000
+++ origin1-yes.stderr.out 2009-05-26 03:27:35.000000000 +1000
@@ -47,7 +47,7 @@
Conditional jump or move depends on uninitialised value(s)
at 0x........: main (origin1-yes.c:93)
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:90)
=================================================
./valgrind/memcheck/tests/origin5-bz2.stderr.diff-glibc25-amd64
=================================================
--- origin5-bz2.stderr.exp-glibc25-amd64 2009-05-26 03:17:23.000000000 +1000
+++ origin5-bz2.stderr.out 2009-05-26 03:27:39.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/memcheck/tests/origin5-bz2.stderr.diff-glibc25-x86
=================================================
--- origin5-bz2.stderr.exp-glibc25-x86 2009-05-26 03:17:23.000000000 +1000
+++ origin5-bz2.stderr.out 2009-05-26 03:27:39.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/memcheck/tests/origin5-bz2.stderr.diff-glibc27-ppc64
=================================================
--- origin5-bz2.stderr.exp-glibc27-ppc64 2009-05-26 03:17:23.000000000 +1000
+++ origin5-bz2.stderr.out 2009-05-26 03:27:39.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/none/tests/linux/mremap2.stdout.diff
=================================================
--- mremap2.stdout.exp 2009-05-26 03:18:33.000000000 +1000
+++ mremap2.stdout.out 2009-05-26 03:28:46.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/none/tests/linux/mremap2.stdout.diff-glibc28-amd64
=================================================
--- mremap2.stdout.exp-glibc28-amd64 2009-05-26 03:18:33.000000000 +1000
+++ mremap2.stdout.out 2009-05-26 03:28:46.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/none/tests/linux/mremap2.stdout.diff2
=================================================
--- mremap2.stdout.exp2 2009-05-26 03:18:33.000000000 +1000
+++ mremap2.stdout.out 2009-05-26 03:28:46.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/none/tests/shell.stderr.diff
=================================================
--- shell.stderr.exp 2009-05-26 03:18:43.000000000 +1000
+++ shell.stderr.out 2009-05-26 03:29:03.000000000 +1000
@@ -1,8 +1 @@
-./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: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell.stderr.diff-dash
=================================================
--- shell.stderr.exp-dash 2009-05-26 03:18:43.000000000 +1000
+++ shell.stderr.out 2009-05-26 03:29:03.000000000 +1000
@@ -1,8 +1 @@
-./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: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell.stdout.diff
=================================================
--- shell.stdout.exp 2009-05-26 03:18:43.000000000 +1000
+++ shell.stdout.out 2009-05-26 03:29:03.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/none/tests/shell_valid1.stderr.diff
=================================================
--- shell_valid1.stderr.exp 2009-05-26 03:18:43.000000000 +1000
+++ shell_valid1.stderr.out 2009-05-26 03:29:03.000000000 +1000
@@ -0,0 +1 @@
+valgrind: failed to start tool 'none' for platform 'amd64-linux': No such file or directory
=================================================
./valgrind/none/tests/shell_valid2.stderr.diff
=================================================
--- shell_valid2.stderr.exp 2009-05-26 03:18:43.000000000 +1000
+++ shell_valid2.stderr.out 2009-05-26 03:29:03.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/none/tests/shell_valid3.stderr.diff
=================================================
--- shell_valid3.stderr.exp 2009-05-26 03:18:43.000000000 +1000
+++ shell_valid3.stderr.out 2009-05-26 03:29:03.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
|
|
From: Nicholas N. <n.n...@gm...> - 2009-05-25 16:30:25
|
Nightly build on ocean ( Ubuntu 9.04, Intel x86-64 ) started at 2009-05-26 02:00:01 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 == 486 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) ================================================= ./valgrind/none/tests/linux/mremap2.stdout.diff ================================================= --- mremap2.stdout.exp 2009-05-26 02:16:06.000000000 +1000 +++ mremap2.stdout.out 2009-05-26 02:29:42.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/none/tests/linux/mremap2.stdout.diff-glibc28-amd64 ================================================= --- mremap2.stdout.exp-glibc28-amd64 2009-05-26 02:16:06.000000000 +1000 +++ mremap2.stdout.out 2009-05-26 02:29:42.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/none/tests/linux/mremap2.stdout.diff2 ================================================= --- mremap2.stdout.exp2 2009-05-26 02:16:06.000000000 +1000 +++ mremap2.stdout.out 2009-05-26 02:29:42.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> |
|
From: Tom H. <th...@cy...> - 2009-05-25 02:44:17
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-05-25 03:05:06 BST 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 == 481 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-05-25 02:28:00
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-05-25 03:10:03 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 == 487 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |
|
From: <sv...@va...> - 2009-05-25 02:22:24
|
Author: njn
Date: 2009-05-25 02:46:31 +0100 (Mon, 25 May 2009)
New Revision: 10147
Log:
Add some comments.
Modified:
branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
Modified: branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-05-25 01:38:05 UTC (rev 10146)
+++ branches/DARWIN/coregrind/m_syswrap/syswrap-generic.c 2009-05-25 01:46:31 UTC (rev 10147)
@@ -3448,7 +3448,7 @@
SET_STATUS_Failure( VKI_EINVAL );
}
}
-#endif
+#endif // defined(VKI_PROT_GROWSDOWN)
}
POST(sys_mprotect)
@@ -3549,7 +3549,7 @@
return;
}
}
-#endif
+#endif // HAVE_PROC
/* Otherwise handle normally */
*flags |= SfMayBlock;
@@ -3688,7 +3688,7 @@
SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, (UWord)name,
ARG2, ARG3));
} else
-#endif
+#endif // HAVE_PROC
{
/* Normal case */
SET_STATUS_from_SysRes( VG_(do_syscall3)(saved, ARG1, ARG2, ARG3));
|
|
From: <sv...@va...> - 2009-05-25 02:17:24
|
Author: njn
Date: 2009-05-25 02:38:05 +0100 (Mon, 25 May 2009)
New Revision: 10146
Log:
Remove an unnecessary comment.
Modified:
branches/DARWIN/coregrind/vg_preloaded.c
Modified: branches/DARWIN/coregrind/vg_preloaded.c
===================================================================
--- branches/DARWIN/coregrind/vg_preloaded.c 2009-05-25 01:35:01 UTC (rev 10145)
+++ branches/DARWIN/coregrind/vg_preloaded.c 2009-05-25 01:38:05 UTC (rev 10146)
@@ -52,7 +52,6 @@
------------------------------------------------------------------ */
#if defined(VGO_linux) || defined(VGO_aix5)
-// GrP GrP fixme
void VG_NOTIFY_ON_LOAD(freeres)( void );
void VG_NOTIFY_ON_LOAD(freeres)( void )
|
|
From: <sv...@va...> - 2009-05-25 02:12:27
|
Author: njn
Date: 2009-05-25 02:53:48 +0100 (Mon, 25 May 2009)
New Revision: 10151
Log:
Trunk sync: comment and whitespace.
Modified:
branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c
branches/DARWIN/coregrind/m_transtab.c
Modified: branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c
===================================================================
--- branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-05-25 01:48:59 UTC (rev 10150)
+++ branches/DARWIN/coregrind/m_aspacemgr/aspacemgr-linux.c 2009-05-25 01:53:48 UTC (rev 10151)
@@ -2974,7 +2974,7 @@
return True;
}
-#endif
+#endif // HAVE_MREMAP
#if HAVE_PROC
Modified: branches/DARWIN/coregrind/m_transtab.c
===================================================================
--- branches/DARWIN/coregrind/m_transtab.c 2009-05-25 01:48:59 UTC (rev 10150)
+++ branches/DARWIN/coregrind/m_transtab.c 2009-05-25 01:53:48 UTC (rev 10151)
@@ -246,7 +246,7 @@
tt_fast and tt_fastN are referred to from assembly code
(dispatch.S).
*/
-/*global*/UInt* VG_(tt_fastN)[VG_TT_FAST_SIZE];
+/*global*/ UInt* VG_(tt_fastN)[VG_TT_FAST_SIZE];
/* Make sure we're not used before initialisation. */
|
|
From: <sv...@va...> - 2009-05-25 02:12:22
|
Author: njn Date: 2009-05-25 02:35:01 +0100 (Mon, 25 May 2009) New Revision: 10145 Log: .dSYMS are only on Darwin. Modified: branches/DARWIN/auxprogs/Makefile.am Modified: branches/DARWIN/auxprogs/Makefile.am =================================================================== --- branches/DARWIN/auxprogs/Makefile.am 2009-05-25 01:28:36 UTC (rev 10144) +++ branches/DARWIN/auxprogs/Makefile.am 2009-05-25 01:35:01 UTC (rev 10145) @@ -126,7 +126,9 @@ rm -f libmpiwrap-.c \ libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.c \ libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.c +if VGCONF_OS_IS_DARWIN rm -rf libmpiwrap-*.dSYM +endif # #---------------------------------------------------------- |
|
From: <sv...@va...> - 2009-05-25 02:07:24
|
Author: njn
Date: 2009-05-25 02:48:59 +0100 (Mon, 25 May 2009)
New Revision: 10150
Log:
DARWIN sync: timeval.
Modified:
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c 2009-05-25 01:48:32 UTC (rev 10149)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c 2009-05-25 01:48:59 UTC (rev 10150)
@@ -3086,7 +3086,7 @@
PRE_REG_READ2(long, "settimeofday",
struct timeval *, tv, struct timezone *, tz);
if (ARG1 != 0)
- PRE_MEM_READ( "settimeofday(tv)", ARG1, sizeof(struct vki_timeval) );
+ PRE_timeval_READ( "settimeofday(tv)", ARG1 );
if (ARG2 != 0) {
PRE_MEM_READ( "settimeofday(tz)", ARG2, sizeof(struct vki_timezone) );
/* maybe should warn if tz->tz_dsttime is non-zero? */
|
|
From: <sv...@va...> - 2009-05-25 02:07:23
|
Author: njn
Date: 2009-05-25 02:47:56 +0100 (Mon, 25 May 2009)
New Revision: 10148
Log:
DARWIN sync: whitespace.
Modified:
trunk/helgrind/hg_main.c
Modified: trunk/helgrind/hg_main.c
===================================================================
--- trunk/helgrind/hg_main.c 2009-05-25 01:46:31 UTC (rev 10147)
+++ trunk/helgrind/hg_main.c 2009-05-25 01:47:56 UTC (rev 10148)
@@ -3718,7 +3718,7 @@
True/*isStore*/,
sizeofIRType(hWordTy)
);
- break;
+ break;
case Ist_WrTmp: {
IRExpr* data = st->Ist.WrTmp.data;
|
|
From: <sv...@va...> - 2009-05-25 02:07:22
|
Author: njn
Date: 2009-05-25 02:58:02 +0100 (Mon, 25 May 2009)
New Revision: 10152
Log:
Trunk sync: comment and layout.
Modified:
branches/DARWIN/coregrind/m_debuginfo/storage.c
Modified: branches/DARWIN/coregrind/m_debuginfo/storage.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/storage.c 2009-05-25 01:53:48 UTC (rev 10151)
+++ branches/DARWIN/coregrind/m_debuginfo/storage.c 2009-05-25 01:58:02 UTC (rev 10152)
@@ -1244,9 +1244,10 @@
different-size */
#endif
) {
+ n_merged++;
+ /* merge the two into one */
di->symtab[di->symtab_used++]
= *prefersym(di, &di->symtab[i], &di->symtab[i+1]);
- n_merged++;
i++;
} else {
di->symtab[di->symtab_used++] = di->symtab[i];
|
|
From: <sv...@va...> - 2009-05-25 02:07:22
|
Author: njn
Date: 2009-05-25 02:48:32 +0100 (Mon, 25 May 2009)
New Revision: 10149
Log:
DARWIN sync: add a comment.
Modified:
trunk/coregrind/m_debuginfo/priv_storage.h
Modified: trunk/coregrind/m_debuginfo/priv_storage.h
===================================================================
--- trunk/coregrind/m_debuginfo/priv_storage.h 2009-05-25 01:47:56 UTC (rev 10148)
+++ trunk/coregrind/m_debuginfo/priv_storage.h 2009-05-25 01:48:32 UTC (rev 10149)
@@ -51,6 +51,10 @@
Addr addr; /* lowest address of entity */
Addr tocptr; /* ppc64-linux only: value that R2 should have */
UChar *name; /* name */
+ // XXX: this could be shrunk (on 32-bit platforms) by using 31 bits for
+ // the size and 1 bit for the isText. If you do this, make sure that
+ // all assignments to isText use 0 or 1 (or True or False), and that a
+ // positive number larger than 1 is never used to represent True.
UInt size; /* size in bytes */
Bool isText;
}
|