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
(8) |
2
(8) |
3
(15) |
4
(14) |
5
(12) |
6
(40) |
7
(9) |
|
8
(5) |
9
(12) |
10
(9) |
11
(13) |
12
(7) |
13
(7) |
14
(19) |
|
15
(18) |
16
(13) |
17
(16) |
18
(8) |
19
(16) |
20
(16) |
21
(12) |
|
22
(21) |
23
(39) |
24
(27) |
25
(33) |
26
(41) |
27
(17) |
28
(15) |
|
From: Nicholas N. <n.n...@gm...> - 2009-02-04 22:54:04
|
On Thu, Feb 5, 2009 at 8:27 AM, Greg Parker <gp...@ap...> wrote: > On Feb 4, 2009, at 9:31 AM, Julian Seward wrote: >>> >>> I don't remember having any trouble with debug info back before I >>> turned dwarf on. But it's possible that the only info I saw came from >>> the ordinary symbols, not stabs. >> >> Indeedy. I would have thought that MachO (hence its reader) produced >> the symbol addresses, and Stabs produced info on line numbers >> (and types, etc). Same kind of work-split as with ELF+Stabs or >> ELF+Dwarf. > > I'm 99% sure that I was getting line numbers out of valgrind before dwarf, > though. (There was one bug where I had the line numbers but not the symbol > names, which looks awfully strange in a backtrace.) Perhaps the > valgrind-confusing stabs data ended up presenting good line numbers but > nothing else. Alternatively, it may have broken unnoticed at some later > point. I did get some correct line numbers out of it for at least one example. It was a total fluke, though, basically Valgrind was doing the wrong (for Darwin) calculations of addresses but it happened to work out to the right answer because the inputs were incorrect in just the right (wrong?) ways. The good news is that I've worked out how to run dsymutil for the regtests within the build system, and I'm close to a solution for vg_replace_malloc.c -- by avoiding building it as an archive. Nick |
|
From: Greg P. <gp...@ap...> - 2009-02-04 21:27:54
|
On Feb 4, 2009, at 9:31 AM, Julian Seward wrote: >> I don't remember having any trouble with debug info back before I >> turned dwarf on. But it's possible that the only info I saw came from >> the ordinary symbols, not stabs. > > Indeedy. I would have thought that MachO (hence its reader) produced > the symbol addresses, and Stabs produced info on line numbers > (and types, etc). Same kind of work-split as with ELF+Stabs or > ELF+Dwarf. I'm 99% sure that I was getting line numbers out of valgrind before dwarf, though. (There was one bug where I had the line numbers but not the symbol names, which looks awfully strange in a backtrace.) Perhaps the valgrind-confusing stabs data ended up presenting good line numbers but nothing else. Alternatively, it may have broken unnoticed at some later point. -- Greg Parker gp...@ap... Runtime Wrangler |
|
From: Greg P. <gp...@ap...> - 2009-02-04 21:23:57
|
On Feb 3, 2009, at 6:25 PM, Nicholas Nethercote wrote: > On Wed, Feb 4, 2009 at 12:56 PM, Greg Parker <gp...@ap...> > wrote: >> >> You're right. Looks like -gstabs doesn't work, but -gstabs+ does. >> How does >> Valgrind fare with -gstabs+ ? > > It doesn't work. -gstabs+ seems to be the same as -gstabs -gfull, > which I tried previously. > The differences with linux are: > - N_FUN symbols are at the end of functions, not the start > - N_SLINE addresses are relative to the start address of the > enclosing function > > So the stabs reader would have to be partly split in two. > > But stabs is old and people don't use it much any more. And Apple > doesn't seem to have qualms about dropping support for old features. > So I'm a bit reluctant to bet the farm on stabs, even though (if the > reader was modified) it is more convenient than .dSYM Dwarf. If you only get to use one, use dwarf. I wouldn't be surprised if stabs were eventually dropped from the rest of Apple's toolchain. (For example, I don't know if LLVM-based compilers can or ever will produce stabs.) -- Greg Parker gp...@ap... Runtime Wrangler |
|
From: Greg P. <gp...@ap...> - 2009-02-04 21:20:32
|
On Feb 4, 2009, at 9:31 AM, Julian Seward wrote: >> I don't remember having any trouble with debug info back before I >> turned dwarf on. But it's possible that the only info I saw came from >> the ordinary symbols, not stabs. > > Indeedy. I would have thought that MachO (hence its reader) produced > the symbol addresses, and Stabs produced info on line numbers > (and types, etc). Same kind of work-split as with ELF+Stabs or > ELF+Dwarf. > > Speaking of which, how does stack unwinding on 64-bit Darwin work? > Is it the same as for 32-bit -- that is, just follow the chain of > blocks %rbp, *%rbp, **%rbp, etc? Or does it use the same complicated, > ugly and fragile Dwarf-based scheme as on Linux? %rbp-based unwinding works most of the time; currently we have little code that uses -fomit-frame-pointer. DWARF-based eh_frame unwind info is present almost everywhere, but that info isn't correct at every instruction, so valgrind can't depend on it. DWARF dSYMs (when present) might provide more precise unwind info than eh_frame, and handle -fomit-frame-pointer correctly. (I'd expect Darwin's x86_64 ABI to be almost exactly the same as Linux; it's the SysV spec with a handful of small differences.) -- Greg Parker gp...@ap... Runtime Wrangler |
|
From: Julian S. <js...@ac...> - 2009-02-04 17:30:56
|
> I don't remember having any trouble with debug info back before I > turned dwarf on. But it's possible that the only info I saw came from > the ordinary symbols, not stabs. Indeedy. I would have thought that MachO (hence its reader) produced the symbol addresses, and Stabs produced info on line numbers (and types, etc). Same kind of work-split as with ELF+Stabs or ELF+Dwarf. Speaking of which, how does stack unwinding on 64-bit Darwin work? Is it the same as for 32-bit -- that is, just follow the chain of blocks %rbp, *%rbp, **%rbp, etc? Or does it use the same complicated, ugly and fragile Dwarf-based scheme as on Linux? J |
|
From: <sv...@va...> - 2009-02-04 06:50:31
|
Author: njn
Date: 2009-02-04 06:50:26 +0000 (Wed, 04 Feb 2009)
New Revision: 9106
Log:
Fix a minor bug, whereby a stack entry of zero would cause a "(heap
allocation functions)" line to be written.
Also invert some comparisons so the constant is first, to minimise the
chance of assignments in conditions.
Modified:
branches/DARWIN/massif/ms_main.c
Modified: branches/DARWIN/massif/ms_main.c
===================================================================
--- branches/DARWIN/massif/ms_main.c 2009-02-04 05:14:30 UTC (rev 9105)
+++ branches/DARWIN/massif/ms_main.c 2009-02-04 06:50:26 UTC (rev 9106)
@@ -561,7 +561,7 @@
if (hp + n_bytes > hp_lim) {
hp = (Addr)VG_(am_shadow_alloc)(SUPERBLOCK_SIZE);
- if (hp == 0)
+ if (0 == hp)
VG_(out_of_memory_NORETURN)( "massif:perm_malloc",
SUPERBLOCK_SIZE);
hp_lim = hp + SUPERBLOCK_SIZE - 1;
@@ -600,7 +600,7 @@
// Expand 'children' if necessary.
tl_assert(parent->n_children <= parent->max_children);
if (parent->n_children == parent->max_children) {
- if (parent->max_children == 0) {
+ if (0 == parent->max_children) {
parent->max_children = 4;
parent->children = VG_(malloc)( "ms.main.acx.1",
parent->max_children * sizeof(XPt*) );
@@ -654,7 +654,7 @@
//
// Nb: We do this once now, rather than once per child, because if we do
// that the cost of all the divisions adds up to something significant.
- if (total_szB == 0 && clo_threshold != 0) {
+ if (0 == total_szB && 0 != clo_threshold) {
sig_child_threshold_szB = 1;
} else {
sig_child_threshold_szB = (SizeT)((total_szB * clo_threshold) / 100);
@@ -1420,7 +1420,7 @@
if (n_skipped_snapshots_since_last_snapshot > 0) {
VERB(2, " (skipped %d snapshot%s)",
n_skipped_snapshots_since_last_snapshot,
- ( n_skipped_snapshots_since_last_snapshot == 1 ? "" : "s") );
+ ( 1 == n_skipped_snapshots_since_last_snapshot ? "" : "s") );
}
VERB_snapshot(2, what, next_snapshot_i);
n_skipped_snapshots_since_last_snapshot = 0;
@@ -1994,7 +1994,7 @@
switch (sxpt->tag) {
case SigSXPt:
// Print the SXPt itself.
- if (sxpt->Sig.ip == 0) {
+ if (0 == depth) {
ip_desc =
"(heap allocation functions) malloc/new/new[], --alloc-fns, etc.";
} else {
@@ -2094,7 +2094,7 @@
break;
case InsigSXPt: {
- Char* s = ( sxpt->Insig.n_xpts == 1 ? "," : "s, all" );
+ Char* s = ( 1 == sxpt->Insig.n_xpts ? "," : "s, all" );
perc = make_perc(sxpt->szB, snapshot_total_szB);
FP("%sn0: %lu in %d place%s below massif's threshold (%s)\n",
depth_str, sxpt->szB, sxpt->Insig.n_xpts, s,
|
|
From: Nicholas N. <n.n...@gm...> - 2009-02-04 06:46:53
|
Hi,
The main bit of x86 stack-unwinding code is as follows:
/* On x86, first try the old-fashioned method of following the
%ebp-chain. Code which doesn't use this (that is, compiled
with -fomit-frame-pointer) is not ABI compliant and so
relatively rare. Besides, trying the CFI first almost always
fails, and is expensive. */
/* Deal with frames resulting from functions which begin "pushl%
ebp ; movl %esp, %ebp" which is the ABI-mandated preamble. */
if (fp_min <= fp && fp <= fp_max
- 1 * sizeof(UWord)/*see comment below*/) {
/* fp looks sane, so use it. */
ip = (((UWord*)fp)[1]);
sp = fp + sizeof(Addr) /*saved %ebp*/
+ sizeof(Addr) /*ra*/;
fp = (((UWord*)fp)[0]);
if (sps) sps[i] = sp;
if (fps) fps[i] = fp;
ips[i++] = ip - 1; /* -1: refer to calling insn, not the RA */
VG_(printf)(" %#lx\n", ip);
if (debug)
VG_(printf)(" ipsF[%d]=0x%08lx\n", i-1, ips[i-1]);
ip = ip - 1; /* as per comment at the head of this loop */
continue;
}
I just hit an interesting case on Darwin where the last ips[] entry
written is 0. I.e. when assigned, ip-1 was 0, ie. ip was 1.
This led me to some confusion because VG_(apply_StackTrace), which is
used by VG_(pp_StackTrace), stops if it hits an ip of zero, even if
its before n_ips has been reached. So when I was printing such a
stack the last entry was not shown.
So it seems we're currently using two distinct methods for indicating
the end of a stack trace. First, there's n_ips, and second, there's
zero entries. I think we should probably not treat zero entries
specially, and just rely on n_ips. If we do want to try to filter
out zero addresses, I think it should be done in
VG_(get_StackTrace_wrk) and then n_ips adjusted accordingly, rather
than doing such filtering subsequently.
Thoughts?
N
|
|
From: <sv...@va...> - 2009-02-04 05:14:36
|
Author: njn Date: 2009-02-04 05:14:30 +0000 (Wed, 04 Feb 2009) New Revision: 9105 Log: Three minor corrections to .exp files for Massif. Modified: branches/DARWIN/massif/tests/alloc-fns-B.post.exp branches/DARWIN/massif/tests/big-alloc.post.exp branches/DARWIN/massif/tests/ignored.post.exp Modified: branches/DARWIN/massif/tests/alloc-fns-B.post.exp =================================================================== --- branches/DARWIN/massif/tests/alloc-fns-B.post.exp 2009-02-04 04:55:46 UTC (rev 9104) +++ branches/DARWIN/massif/tests/alloc-fns-B.post.exp 2009-02-04 05:14:30 UTC (rev 9105) @@ -1,7 +1,6 @@ -------------------------------------------------------------------------------- Command: ./alloc-fns Massif arguments: --stacks=no --time-unit=B --heap-admin=0 --alloc-fn=a4 --alloc-fn=b4 --alloc-fn=b3 --alloc-fn=c4 --alloc-fn=c3 --alloc-fn=c2 --alloc-fn=d4 --alloc-fn=d3 --alloc-fn=d2 --alloc-fn=d1 --massif-out-file=massif.out --ignore-fn=__part_load_locale --ignore-fn=__time_load_locale --ignore-fn=dwarf2_unwind_dyld_add_image_hook --ignore-fn=get_or_create_key_element - ms_print arguments: massif.out -------------------------------------------------------------------------------- Modified: branches/DARWIN/massif/tests/big-alloc.post.exp =================================================================== --- branches/DARWIN/massif/tests/big-alloc.post.exp 2009-02-04 04:55:46 UTC (rev 9104) +++ branches/DARWIN/massif/tests/big-alloc.post.exp 2009-02-04 05:14:30 UTC (rev 9105) @@ -46,7 +46,7 @@ 8 83,886,144 83,886,144 83,886,080 64 0 9 94,371,912 94,371,912 94,371,840 72 0 100.00% (94,371,840B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc. -->100.00% (94,371,840B) 0x........: main (big-alloc.c:13) +->100.00% (94,371,840B) 0x........: main (big-alloc.c:12) -------------------------------------------------------------------------------- n time(B) total(B) useful-heap(B) extra-heap(B) stacks(B) Modified: branches/DARWIN/massif/tests/ignored.post.exp =================================================================== --- branches/DARWIN/massif/tests/ignored.post.exp 2009-02-04 04:55:46 UTC (rev 9104) +++ branches/DARWIN/massif/tests/ignored.post.exp 2009-02-04 05:14:30 UTC (rev 9105) @@ -40,7 +40,7 @@ 2 800 800 800 0 0 3 800 800 800 0 0 100.00% (800B) (heap allocation functions) malloc/new/new[], --alloc-fns, etc. -->100.00% (800B) 0x........: main (ignored.c:31) +->100.00% (800B) 0x........: main (ignored.c:38) | ->00.00% (0B) in 1+ places, all below ms_print's threshold (01.00%) |
Author: njn
Date: 2009-02-04 04:55:46 +0000 (Wed, 04 Feb 2009)
New Revision: 9104
Log:
Now using a 'check-local' hook to run (on Darwin only) 'dsymutil' on all
regtest files "make check". This hook is defined in Makefile.tool-tests.am,
which all test Makefile.am files must now include.
This means that debug info for regtest executables can be found on Darwin.
31 fewer test failures occur as a result.
Also made a minor fix to Darwin DWARF reading.
Added:
branches/DARWIN/Makefile.tool-tests.am
Modified:
branches/DARWIN/cachegrind/tests/Makefile.am
branches/DARWIN/cachegrind/tests/x86/Makefile.am
branches/DARWIN/callgrind/tests/Makefile.am
branches/DARWIN/coregrind/m_debuginfo/d3basics.c
branches/DARWIN/drd/tests/Makefile.am
branches/DARWIN/exp-ptrcheck/tests/Makefile.am
branches/DARWIN/exp-ptrcheck/tests/x86/Makefile.am
branches/DARWIN/helgrind/tests/Makefile.am
branches/DARWIN/massif/tests/Makefile.am
branches/DARWIN/memcheck/tests/Makefile.am
branches/DARWIN/memcheck/tests/amd64/Makefile.am
branches/DARWIN/memcheck/tests/linux/Makefile.am
branches/DARWIN/memcheck/tests/x86-linux/Makefile.am
branches/DARWIN/memcheck/tests/x86/Makefile.am
branches/DARWIN/none/tests/Makefile.am
branches/DARWIN/none/tests/amd64/Makefile.am
branches/DARWIN/none/tests/ppc32/Makefile.am
branches/DARWIN/none/tests/ppc64/Makefile.am
branches/DARWIN/none/tests/x86/Makefile.am
Added: branches/DARWIN/Makefile.tool-tests.am
===================================================================
--- branches/DARWIN/Makefile.tool-tests.am (rev 0)
+++ branches/DARWIN/Makefile.tool-tests.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -0,0 +1,21 @@
+# On Darwin, for a program 'p', the DWARF debug info is stored in the
+# directory 'p.dSYM'. This must be generated after the executable is
+# created, with 'dsymutil p'. We could redefine LINK with a script that
+# executes 'dsymutil' after linking, but that's a pain. Instead we use this
+# hook so that every time "make check" is run, we subsequently invoke
+# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
+# newer than their corresponding .dSYM directory.
+if VGCONF_OS_IS_DARWIN
+check-local:
+ for i in $(check_PROGRAMS) ; do \
+ if [ ! -e $$i.dSYM -o $$i -nt $$i.dSYM ] ; then \
+ echo "dsymutil $$i"; \
+ dsymutil $$i; \
+ fi \
+ done
+
+clean-local:
+ for i in $(check_PROGRAMS) ; do \
+ rm -rf $$i.dSYM; \
+ done
+endif
Modified: branches/DARWIN/cachegrind/tests/Makefile.am
===================================================================
--- branches/DARWIN/cachegrind/tests/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/cachegrind/tests/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -2,6 +2,9 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
SUBDIRS = .
if VGCONF_ARCHS_INCLUDE_X86
SUBDIRS += x86
Modified: branches/DARWIN/cachegrind/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/cachegrind/tests/x86/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/cachegrind/tests/x86/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,6 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
noinst_SCRIPTS = filter_stderr
EXTRA_DIST = $(noinst_SCRIPTS) \
Modified: branches/DARWIN/callgrind/tests/Makefile.am
===================================================================
--- branches/DARWIN/callgrind/tests/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/callgrind/tests/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,6 +1,9 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
SUBDIRS = .
DIST_SUBDIRS = .
Modified: branches/DARWIN/coregrind/m_debuginfo/d3basics.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/d3basics.c 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/coregrind/m_debuginfo/d3basics.c 2009-02-04 04:55:46 UTC (rev 9104)
@@ -379,12 +379,12 @@
static Bool get_Dwarf_Reg( /*OUT*/Addr* a, Word regno, RegSummary* regs )
{
vg_assert(regs);
-# if defined(VGP_amd64_linux)
- if (regno == 6/*RBP*/) { *a = regs->fp; return True; }
- if (regno == 7/*RSP*/) { *a = regs->sp; return True; }
-# elif defined(VGP_x86_linux)
+# if defined(VGP_x86_linux) || defined(VGP_x86_darwin)
if (regno == 5/*EBP*/) { *a = regs->fp; return True; }
if (regno == 4/*ESP*/) { *a = regs->sp; return True; }
+# elif defined(VGP_amd64_linux) || defined(VGP_amd64_darwin)
+ if (regno == 6/*RBP*/) { *a = regs->fp; return True; }
+ if (regno == 7/*RSP*/) { *a = regs->sp; return True; }
# elif defined(VGP_ppc32_linux)
if (regno == 1/*SP*/) { *a = regs->sp; return True; }
if (regno == 31) return False;
@@ -395,8 +395,6 @@
vg_assert(0);
# elif defined(VGP_ppc32_aix5) || defined(VGP_ppc64_aix5)
vg_assert(0); /* this function should never be called */
-# elif defined(VGP_x86_darwin) || defined(VGP_amd64_darwin)
- vg_assert(0); /* this function should never be called */
# else
# error "Unknown platform"
# endif
Modified: branches/DARWIN/drd/tests/Makefile.am
===================================================================
--- branches/DARWIN/drd/tests/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/drd/tests/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,6 +1,9 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
SUBDIRS = .
DIST_SUBDIRS = .
Modified: branches/DARWIN/exp-ptrcheck/tests/Makefile.am
===================================================================
--- branches/DARWIN/exp-ptrcheck/tests/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/exp-ptrcheck/tests/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -2,6 +2,9 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
#SUBDIRS = .
#if VGCONF_ARCHS_INCLUDE_X86
#SUBDIRS += x86
Modified: branches/DARWIN/exp-ptrcheck/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/exp-ptrcheck/tests/x86/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/exp-ptrcheck/tests/x86/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,5 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
noinst_SCRIPTS = filter_stderr
Modified: branches/DARWIN/helgrind/tests/Makefile.am
===================================================================
--- branches/DARWIN/helgrind/tests/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/helgrind/tests/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -2,6 +2,9 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
noinst_SCRIPTS = filter_stderr
EXTRA_DIST = $(noinst_SCRIPTS) \
Modified: branches/DARWIN/massif/tests/Makefile.am
===================================================================
--- branches/DARWIN/massif/tests/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/massif/tests/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -2,6 +2,9 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
noinst_SCRIPTS = filter_stderr filter_verbose
EXTRA_DIST = $(noinst_SCRIPTS) \
Modified: branches/DARWIN/memcheck/tests/Makefile.am
===================================================================
--- branches/DARWIN/memcheck/tests/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/memcheck/tests/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -2,6 +2,9 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
SUBDIRS = .
# Arch-specific tests.
Modified: branches/DARWIN/memcheck/tests/amd64/Makefile.am
===================================================================
--- branches/DARWIN/memcheck/tests/amd64/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/memcheck/tests/amd64/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,6 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
noinst_SCRIPTS = filter_stderr
noinst_HEADERS =
Modified: branches/DARWIN/memcheck/tests/linux/Makefile.am
===================================================================
--- branches/DARWIN/memcheck/tests/linux/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/memcheck/tests/linux/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,6 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
noinst_SCRIPTS = filter_stderr
EXTRA_DIST = $(noinst_SCRIPTS) \
Modified: branches/DARWIN/memcheck/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/memcheck/tests/x86/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,6 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
noinst_SCRIPTS = filter_stderr filter_pushfpopf filter_tronical
INSN_TESTS = insn_basic insn_fpu insn_cmov insn_mmx insn_mmxext insn_sse insn_sse2
Modified: branches/DARWIN/memcheck/tests/x86-linux/Makefile.am
===================================================================
--- branches/DARWIN/memcheck/tests/x86-linux/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/memcheck/tests/x86-linux/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,6 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
noinst_SCRIPTS = filter_stderr
noinst_HEADERS = scalar.h
Modified: branches/DARWIN/none/tests/Makefile.am
===================================================================
--- branches/DARWIN/none/tests/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/none/tests/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -2,6 +2,9 @@
# For AM_FLAG_M3264_PRI
include $(top_srcdir)/Makefile.flags.am
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
SUBDIRS = .
if VGCONF_ARCHS_INCLUDE_X86
SUBDIRS += x86
Modified: branches/DARWIN/none/tests/amd64/Makefile.am
===================================================================
--- branches/DARWIN/none/tests/amd64/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/none/tests/amd64/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,5 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
noinst_SCRIPTS = filter_cpuid filter_stderr filter_int gen_insn_test.pl
Modified: branches/DARWIN/none/tests/ppc32/Makefile.am
===================================================================
--- branches/DARWIN/none/tests/ppc32/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/none/tests/ppc32/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,5 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
noinst_SCRIPTS = filter_stderr
Modified: branches/DARWIN/none/tests/ppc64/Makefile.am
===================================================================
--- branches/DARWIN/none/tests/ppc64/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/none/tests/ppc64/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,5 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
noinst_SCRIPTS = filter_stderr
Modified: branches/DARWIN/none/tests/x86/Makefile.am
===================================================================
--- branches/DARWIN/none/tests/x86/Makefile.am 2009-02-03 06:56:50 UTC (rev 9103)
+++ branches/DARWIN/none/tests/x86/Makefile.am 2009-02-04 04:55:46 UTC (rev 9104)
@@ -1,3 +1,6 @@
+# For check-local and clean-local
+include $(top_srcdir)/Makefile.tool-tests.am
+
noinst_SCRIPTS = filter_cpuid filter_stderr gen_insn_test.pl
CLEANFILES = $(addsuffix .c,$(INSN_TESTS))
|
|
From: Tom H. <th...@cy...> - 2009-02-04 03:50:28
|
Nightly build on vauxhall ( x86_64, Fedora 10 ) started at 2009-02-04 03:20:10 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 486 tests, 1 stderr failure, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 486 tests, 1 stderr failure, 1 stdout failure, 0 post failures == drd/tests/pth_detached2 (stdout) memcheck/tests/x86-linux/scalar (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Wed Feb 4 03:35:57 2009 --- new.short Wed Feb 4 03:50:22 2009 *************** *** 8,11 **** ! == 486 tests, 1 stderr failure, 1 stdout failure, 0 post failures == ! drd/tests/pth_detached2 (stdout) memcheck/tests/x86-linux/scalar (stderr) --- 8,10 ---- ! == 486 tests, 1 stderr failure, 0 stdout failures, 0 post failures == memcheck/tests/x86-linux/scalar (stderr) |
|
From: Tom H. <th...@cy...> - 2009-02-04 03:43:46
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2009-02-04 03:05:08 GMT 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 == 477 tests, 6 stderr failures, 0 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) helgrind/tests/tc20_verifywrap (stderr) memcheck/tests/x86-linux/scalar (stderr) |
|
From: Tom H. <th...@cy...> - 2009-02-04 03:31:52
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-02-04 03:10:06 GMT 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 == 483 tests, 5 stderr failures, 2 stdout failures, 0 post failures == exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/x86-linux/scalar (stderr) none/tests/mremap2 (stdout) |
|
From: Nicholas N. <n.n...@gm...> - 2009-02-04 02:25:52
|
On Wed, Feb 4, 2009 at 12:56 PM, Greg Parker <gp...@ap...> wrote: > > You're right. Looks like -gstabs doesn't work, but -gstabs+ does. How does > Valgrind fare with -gstabs+ ? It doesn't work. -gstabs+ seems to be the same as -gstabs -gfull, which I tried previously. The differences with linux are: - N_FUN symbols are at the end of functions, not the start - N_SLINE addresses are relative to the start address of the enclosing function So the stabs reader would have to be partly split in two. But stabs is old and people don't use it much any more. And Apple doesn't seem to have qualms about dropping support for old features. So I'm a bit reluctant to bet the farm on stabs, even though (if the reader was modified) it is more convenient than .dSYM Dwarf. Nick |
|
From: Greg P. <gp...@ap...> - 2009-02-04 01:56:44
|
On Feb 3, 2009, at 3:59 PM, Nicholas Nethercote wrote: > On Wed, Feb 4, 2009 at 10:04 AM, Greg Parker <gp...@ap...> > wrote: >> On Feb 3, 2009, at 2:46 PM, Nicholas Nethercote wrote: >>> >>> I think the conclusion is that stabs is broken on Darwin and I will >>> give up trying to use it. >> >> stabs ought to work fine. It was until recently the only available >> debugging >> format, and is still supported. Can you package your "can't step in >> gdb" >> into a self-contained example? > > Compile the attached file: > > gcc -gstabs a.c > > Run gdb like I did in my previous email -- just try to single step > through, it works in 'main' but not in 'f'. You're right. Looks like -gstabs doesn't work, but -gstabs+ does. How does Valgrind fare with -gstabs+ ? > And the 'nm -a' output from the previous email shows the screwy > addresses. > > Also, reading "Mac OS X Internals" it appears that putting the the > N_FUN stabs entry at the end of a function (along with N_LSYM and > N_PSYM entries) is expected on Darwin. This is unfortunately > different to Linux where it's put at the start of a function. Maybe > Valgrind's stabs reader could be taught this, but the address problems > would have to be resolved first. I don't remember having any trouble with debug info back before I turned dwarf on. But it's possible that the only info I saw came from the ordinary symbols, not stabs. -- Greg Parker gp...@ap... Runtime Wrangler |