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-20 02:27:28
|
Nightly build on mg ( x86_64, Fedora 9 ) started at 2009-05-20 03:10:05 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-20 02:27:16
|
Author: njn
Date: 2009-05-20 03:27:00 +0100 (Wed, 20 May 2009)
New Revision: 10003
Log:
DARWIN sync: put conditional compilation alternatives in the usual order.
Modified:
trunk/coregrind/m_debuginfo/d3basics.c
Modified: trunk/coregrind/m_debuginfo/d3basics.c
===================================================================
--- trunk/coregrind/m_debuginfo/d3basics.c 2009-05-20 02:25:12 UTC (rev 10002)
+++ trunk/coregrind/m_debuginfo/d3basics.c 2009-05-20 02:27:00 UTC (rev 10003)
@@ -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 defined(VGP_x86_linux)
+ if (regno == 5/*EBP*/) { *a = regs->fp; return True; }
+ if (regno == 4/*ESP*/) { *a = regs->sp; return True; }
+# elif 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 (regno == 5/*EBP*/) { *a = regs->fp; return True; }
- if (regno == 4/*ESP*/) { *a = regs->sp; return True; }
# elif defined(VGP_ppc32_linux)
if (regno == 1/*SP*/) { *a = regs->sp; return True; }
if (regno == 31) return False;
|
|
From: <sv...@va...> - 2009-05-20 02:25:22
|
Author: njn
Date: 2009-05-20 03:25:12 +0100 (Wed, 20 May 2009)
New Revision: 10002
Log:
Merge r9050 (debuginfo tweak) from the trunk.
Modified:
branches/DARWIN/coregrind/m_debuginfo/d3basics.c
Modified: branches/DARWIN/coregrind/m_debuginfo/d3basics.c
===================================================================
--- branches/DARWIN/coregrind/m_debuginfo/d3basics.c 2009-05-20 02:24:53 UTC (rev 10001)
+++ branches/DARWIN/coregrind/m_debuginfo/d3basics.c 2009-05-20 02:25:12 UTC (rev 10002)
@@ -730,7 +730,10 @@
* any of the subexpressions do not produce a manifest constant
* there's more than one subexpression, all of which successfully
evaluate to a constant, but they don't all produce the same constant.
- */
+ JRS 23Jan09: the special-casing in this function is a nasty kludge.
+ Really it ought to be pulled out and turned into a general
+ constant- expression evaluator.
+*/
GXResult ML_(evaluate_trivial_GX)( GExpr* gx, const DebugInfo* di )
{
GXResult res;
@@ -741,7 +744,7 @@
MaybeULong *mul, *mul2;
HChar* badness = NULL;
- UChar* p = &gx->payload[0];
+ UChar* p = &gx->payload[0]; /* must remain unsigned */
XArray* results = VG_(newXA)( ML_(dinfo_zalloc), "di.d3basics.etG.1",
ML_(dinfo_free),
sizeof(MaybeULong) );
@@ -772,18 +775,41 @@
/* Peer at this particular subexpression, to see if it's
obviously a constant. */
if (nbytes == 1 + sizeof(Addr) && *p == DW_OP_addr) {
+ /* DW_OP_addr a */
Addr a = *(Addr*)(p+1);
if (bias_address(&a, di)) {
thisResult.b = True;
thisResult.ul = (ULong)a;
+ } else {
+ if (!badness)
+ badness = "trivial GExpr denotes constant address "
+ "in unknown section (1)";
}
- else if (!badness) {
- badness = "trivial GExpr denotes constant address in unknown section";
+ }
+ else
+ if (nbytes == 1 + sizeof(Addr) + 1 + 1
+ /* 11 byte block: 3 c0 b6 2b 0 0 0 0 0 23 4
+ (DW_OP_addr: 2bb6c0; DW_OP_plus_uconst: 4)
+ This is really a nasty kludge - only matches if the
+ trailing ULEB denotes a number in the range 0 .. 127
+ inclusive. */
+ && p[0] == DW_OP_addr
+ && p[1 + sizeof(Addr)] == DW_OP_plus_uconst
+ && p[1 + sizeof(Addr) + 1] < 0x80 /*1-byte ULEB*/) {
+ Addr a = *(Addr*)&p[1];
+ if (bias_address(&a, di)) {
+ thisResult.b = True;
+ thisResult.ul = (ULong)a + (ULong)p[1 + sizeof(Addr) + 1];
+ } else {
+ if (!badness)
+ badness = "trivial GExpr denotes constant address "
+ "in unknown section (2)";
}
}
- else if (nbytes == 2 + sizeof(Addr)
- && *p == DW_OP_addr
- && *(p + 1 + sizeof(Addr)) == DW_OP_GNU_push_tls_address) {
+ else
+ if (nbytes == 2 + sizeof(Addr)
+ && *p == DW_OP_addr
+ && *(p + 1 + sizeof(Addr)) == DW_OP_GNU_push_tls_address) {
if (!badness)
badness = "trivial GExpr is DW_OP_addr plus trailing junk";
}
|
|
From: <sv...@va...> - 2009-05-20 02:25:12
|
Author: njn
Date: 2009-05-20 03:24:53 +0100 (Wed, 20 May 2009)
New Revision: 10001
Log:
Trunk sync: rename send_fn as send.
Modified:
branches/DARWIN/coregrind/m_debuglog.c
Modified: branches/DARWIN/coregrind/m_debuglog.c
===================================================================
--- branches/DARWIN/coregrind/m_debuglog.c 2009-05-20 02:14:56 UTC (rev 10000)
+++ branches/DARWIN/coregrind/m_debuglog.c 2009-05-20 02:24:53 UTC (rev 10001)
@@ -537,7 +537,7 @@
/* Copy a string into the buffer. */
static
-UInt myvprintf_str ( void(*send_fn)(HChar,void*),
+UInt myvprintf_str ( void(*send)(HChar,void*),
void* send_arg2,
Int flags,
Int width,
@@ -552,14 +552,14 @@
if (width == 0) {
ret += len;
for (i = 0; i < len; i++)
- send_fn(MAYBE_TOUPPER(str[i]), send_arg2);
+ send(MAYBE_TOUPPER(str[i]), send_arg2);
return ret;
}
if (len > width) {
ret += width;
for (i = 0; i < width; i++)
- send_fn(MAYBE_TOUPPER(str[i]), send_arg2);
+ send(MAYBE_TOUPPER(str[i]), send_arg2);
return ret;
}
@@ -567,15 +567,15 @@
if (flags & VG_MSG_LJUSTIFY) {
ret += extra;
for (i = 0; i < extra; i++)
- send_fn(' ', send_arg2);
+ send(' ', send_arg2);
}
ret += len;
for (i = 0; i < len; i++)
- send_fn(MAYBE_TOUPPER(str[i]), send_arg2);
+ send(MAYBE_TOUPPER(str[i]), send_arg2);
if (!(flags & VG_MSG_LJUSTIFY)) {
ret += extra;
for (i = 0; i < extra; i++)
- send_fn(' ', send_arg2);
+ send(' ', send_arg2);
}
# undef MAYBE_TOUPPER
@@ -585,7 +585,7 @@
/* Copy a string into the buffer, escaping bad XML chars. */
static
-UInt myvprintf_str_XML_simplistic ( void(*send_fn)(HChar,void*),
+UInt myvprintf_str_XML_simplistic ( void(*send)(HChar,void*),
void* send_arg2,
HChar* str )
{
@@ -604,12 +604,12 @@
if (alt) {
while (*alt) {
- send_fn(*alt, send_arg2);
+ send(*alt, send_arg2);
ret++;
alt++;
}
} else {
- send_fn(str[i], send_arg2);
+ send(str[i], send_arg2);
ret++;
}
}
@@ -625,7 +625,7 @@
* WIDTH is the width of the field.
*/
static
-UInt myvprintf_int64 ( void(*send_fn)(HChar,void*),
+UInt myvprintf_int64 ( void(*send)(HChar,void*),
void* send_arg2,
Int flags,
Int base,
@@ -680,13 +680,13 @@
/* Reverse copy to buffer. */
ret += ind;
for (i = ind -1; i >= 0; i--) {
- send_fn(buf[i], send_arg2);
+ send(buf[i], send_arg2);
}
if (width > 0 && (flags & VG_MSG_LJUSTIFY)) {
for(; ind < width; ind++) {
ret++;
/* Never pad with zeroes on RHS -- changes the value! */
- send_fn(' ', send_arg2);
+ send(' ', send_arg2);
}
}
return ret;
@@ -697,7 +697,7 @@
/* EXPORTED */
UInt
VG_(debugLog_vprintf) (
- void(*send_fn)(HChar,void*),
+ void(*send)(HChar,void*),
void* send_arg2,
const HChar* format,
va_list vargs
@@ -717,7 +717,7 @@
for (i = 0; format[i] != 0; i++) {
if (format[i] != '%') {
- send_fn(format[i], send_arg2);
+ send(format[i], send_arg2);
ret++;
continue;
}
@@ -727,7 +727,7 @@
break;
if (format[i] == '%') {
/* '%%' is replaced by '%'. */
- send_fn('%', send_arg2);
+ send('%', send_arg2);
ret++;
continue;
}
@@ -783,25 +783,25 @@
case 'd': /* %d */
flags |= VG_MSG_SIGNED;
if (is_long)
- ret += myvprintf_int64(send_fn, send_arg2, flags, 10, width, False,
+ ret += myvprintf_int64(send, send_arg2, flags, 10, width, False,
(ULong)(va_arg (vargs, Long)));
else
- ret += myvprintf_int64(send_fn, send_arg2, flags, 10, width, False,
+ ret += myvprintf_int64(send, send_arg2, flags, 10, width, False,
(ULong)(va_arg (vargs, Int)));
break;
case 'u': /* %u */
if (is_long)
- ret += myvprintf_int64(send_fn, send_arg2, flags, 10, width, False,
+ ret += myvprintf_int64(send, send_arg2, flags, 10, width, False,
(ULong)(va_arg (vargs, ULong)));
else
- ret += myvprintf_int64(send_fn, send_arg2, flags, 10, width, False,
+ ret += myvprintf_int64(send, send_arg2, flags, 10, width, False,
(ULong)(va_arg (vargs, UInt)));
break;
case 'p': /* %p */
ret += 2;
- send_fn('0',send_arg2);
- send_fn('x',send_arg2);
- ret += myvprintf_int64(send_fn, send_arg2, flags, 16, width, True,
+ send('0',send_arg2);
+ send('x',send_arg2);
+ ret += myvprintf_int64(send, send_arg2, flags, 16, width, True,
(ULong)((UWord)va_arg (vargs, void *)));
break;
case 'x': /* %x */
@@ -809,24 +809,24 @@
caps = toBool(format[i] == 'X');
if (flags & VG_MSG_ALTFORMAT) {
ret += 2;
- send_fn('0',send_arg2);
- send_fn('x',send_arg2);
+ send('0',send_arg2);
+ send('x',send_arg2);
}
if (is_long)
- ret += myvprintf_int64(send_fn, send_arg2, flags, 16, width, caps,
+ ret += myvprintf_int64(send, send_arg2, flags, 16, width, caps,
(ULong)(va_arg (vargs, ULong)));
else
- ret += myvprintf_int64(send_fn, send_arg2, flags, 16, width, caps,
+ ret += myvprintf_int64(send, send_arg2, flags, 16, width, caps,
(ULong)(va_arg (vargs, UInt)));
break;
case 'c': /* %c */
ret++;
- send_fn(va_arg (vargs, int), send_arg2);
+ send(va_arg (vargs, int), send_arg2);
break;
case 's': case 'S': { /* %s */
char *str = va_arg (vargs, char *);
if (str == (char*) 0) str = "(null)";
- ret += myvprintf_str(send_fn, send_arg2,
+ ret += myvprintf_str(send, send_arg2,
flags, width, str, format[i]=='S');
break;
}
@@ -834,7 +834,7 @@
/* Note: simplistic; ignores field width and flags */
char *str = va_arg (vargs, char *);
if (str == (char*) 0) str = "(null)";
- ret += myvprintf_str_XML_simplistic(send_fn, send_arg2, str);
+ ret += myvprintf_str_XML_simplistic(send, send_arg2, str);
break;
}
@@ -851,7 +851,7 @@
// *cp++ = ')';
// *cp = '\0';
// }
-// ret += myvprintf_str(send_fn, send_arg2, flags, width, buf, 0);
+// ret += myvprintf_str(send, send_arg2, flags, width, buf, 0);
// }
// break;
// }
|
|
From: <sv...@va...> - 2009-05-20 02:20:42
|
Author: njn Date: 2009-05-20 02:42:49 +0100 (Wed, 20 May 2009) New Revision: 9992 Log: Back out r9967, which broke the build on DARWIN. Modified: branches/DARWIN/none/tests/Makefile.am Modified: branches/DARWIN/none/tests/Makefile.am =================================================================== --- branches/DARWIN/none/tests/Makefile.am 2009-05-20 01:15:56 UTC (rev 9991) +++ branches/DARWIN/none/tests/Makefile.am 2009-05-20 01:42:49 UTC (rev 9992) @@ -204,6 +204,7 @@ res_search_LDADD = -lpthread else res_search_LDADD = -lresolv -lpthread + resolv_LDADD = -lresolv -lpthread endif semlimit_LDADD = -lpthread thread_exits_LDADD = -lpthread |
|
From: <sv...@va...> - 2009-05-20 02:15:45
|
Author: njn
Date: 2009-05-20 03:07:56 +0100 (Wed, 20 May 2009)
New Revision: 9997
Log:
DARWIN sync: stabs wibble.
Modified:
trunk/coregrind/m_debuginfo/readstabs.c
Modified: trunk/coregrind/m_debuginfo/readstabs.c
===================================================================
--- trunk/coregrind/m_debuginfo/readstabs.c 2009-05-20 02:02:30 UTC (rev 9996)
+++ trunk/coregrind/m_debuginfo/readstabs.c 2009-05-20 02:07:56 UTC (rev 9997)
@@ -129,11 +129,12 @@
const struct nlist *st = &stab[i];
Char *string;
- if (debug && 1) {
- VG_(printf) ( "%2d type=%d othr=%d desc=%d value=0x%x strx=%d %s\n", i,
+ if (di->trace_symtab) {
+ VG_(printf) ( "%2d type=%d othr=%d desc=%d "
+ "value=0x%x strx=%d %s\n", i,
st->n_type, st->n_other, st->n_desc,
- (int)st->n_value,
- (int)st->n_un.n_strx,
+ (Int)st->n_value,
+ (Int)st->n_un.n_strx,
stabstr + st->n_un.n_strx );
}
|
|
From: <sv...@va...> - 2009-05-20 02:15:10
|
Author: njn
Date: 2009-05-20 03:14:56 +0100 (Wed, 20 May 2009)
New Revision: 10000
Log:
Update a comment.
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-20 02:12:47 UTC (rev 9999)
+++ branches/DARWIN/coregrind/m_debuginfo/storage.c 2009-05-20 02:14:56 UTC (rev 10000)
@@ -1237,9 +1237,11 @@
#if !defined(VGO_darwin)
&& di->symtab[i].size == di->symtab[i+1].size
#else
- // DDD: don't need this now that stabs is disabled for Darwin?
+ // 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 (probably STABS vs DWARF */
+ different-size */
#endif
) {
di->symtab[di->symtab_used++]
|
|
From: <sv...@va...> - 2009-05-20 02:12:59
|
Author: njn
Date: 2009-05-20 03:12:47 +0100 (Wed, 20 May 2009)
New Revision: 9999
Log:
Remove some seemingly unnecessary code.
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-20 02:11:49 UTC (rev 9998)
+++ branches/DARWIN/coregrind/m_debuginfo/storage.c 2009-05-20 02:12:47 UTC (rev 9999)
@@ -1186,20 +1186,6 @@
/* If we get here, they are the same name. */
-#if defined(VGO_darwin)
- // DDD: don't need this now that stabs is disabled for Darwin?
- /* GrP Resolved nlist vs DWARF. If one extends to the end of the
- text segment, drop it (it's from an nlist and the size was fake). */
- if (a->isText && b->isText && a->size != b->size) {
- if (a->addr + a->size == di->text_avma + di->text_size) {
- preferB = True; goto out;
- }
- if (b->addr + b->size == di->text_avma + di->text_size) {
- preferA = True; goto out;
- }
- }
-#endif
-
/* In this case we could choose either (arbitrarily), but might as
well choose the one with the lowest DiSym* address, so as to try
and make the comparison mechanism more stable (a la sorting
|
|
From: <sv...@va...> - 2009-05-20 02:11:59
|
Author: njn
Date: 2009-05-20 03:11:49 +0100 (Wed, 20 May 2009)
New Revision: 9998
Log:
DARWIN sync: comment change.
Modified:
trunk/coregrind/m_debuginfo/priv_readdwarf3.h
Modified: trunk/coregrind/m_debuginfo/priv_readdwarf3.h
===================================================================
--- trunk/coregrind/m_debuginfo/priv_readdwarf3.h 2009-05-20 02:07:56 UTC (rev 9997)
+++ trunk/coregrind/m_debuginfo/priv_readdwarf3.h 2009-05-20 02:11:49 UTC (rev 9998)
@@ -38,7 +38,7 @@
#define __PRIV_READDWARF3_H
-/* Read DWARF3 ".debug_info" sections. */
+/* Read variables and types from DWARF3 ".debug_info" sections. */
void
ML_(new_dwarf3_reader) (
struct _DebugInfo* di,
|
|
From: <sv...@va...> - 2009-05-20 02:10:47
|
Author: njn
Date: 2009-05-20 02:54:27 +0100 (Wed, 20 May 2009)
New Revision: 9995
Log:
Tweak comment.
Modified:
branches/DARWIN/include/pub_tool_libcfile.h
Modified: branches/DARWIN/include/pub_tool_libcfile.h
===================================================================
--- branches/DARWIN/include/pub_tool_libcfile.h 2009-05-20 01:53:19 UTC (rev 9994)
+++ branches/DARWIN/include/pub_tool_libcfile.h 2009-05-20 01:54:27 UTC (rev 9995)
@@ -46,7 +46,7 @@
instead.
Also note that the fieldnames aren't prefixed with "st_". This is because
- st_atime et al are macros in sys/stat.h on DARWIN, and using those names
+ st_atime et al are macros in sys/stat.h on Darwin, and using those names
screws things up.
*/
struct vg_stat {
|
|
From: <sv...@va...> - 2009-05-20 02:10:47
|
Author: njn
Date: 2009-05-20 03:02:30 +0100 (Wed, 20 May 2009)
New Revision: 9996
Log:
Merge r9993, r9995 (comment changes about vg_stat) from the DARWIN branch,
and rename all the vg_stat fields to avoid problems that the old names cause
on Darwin.
Modified:
trunk/coregrind/m_commandline.c
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_debuginfo/readelf.c
trunk/coregrind/m_libcfile.c
trunk/coregrind/m_ume/main.c
trunk/include/pub_tool_libcfile.h
Modified: trunk/coregrind/m_commandline.c
===================================================================
--- trunk/coregrind/m_commandline.c 2009-05-20 01:54:27 UTC (rev 9995)
+++ trunk/coregrind/m_commandline.c 2009-05-20 02:02:30 UTC (rev 9996)
@@ -67,14 +67,14 @@
if ( !sr_isError(fd) ) {
Int res = VG_(fstat)( sr_Res(fd), &stat_buf );
// Ignore if not owned by current user or world writeable (CVE-2008-4865)
- if (!res && stat_buf.st_uid == VG_(geteuid)()
- && (!(stat_buf.st_mode & VKI_S_IWOTH))) {
- if ( stat_buf.st_size > 0 ) {
- f_clo = VG_(malloc)("commandline.rdv.1", stat_buf.st_size+1);
+ if (!res && stat_buf.uid == VG_(geteuid)()
+ && (!(stat_buf.mode & VKI_S_IWOTH))) {
+ if ( stat_buf.size > 0 ) {
+ f_clo = VG_(malloc)("commandline.rdv.1", stat_buf.size+1);
vg_assert(f_clo);
- n = VG_(read)(sr_Res(fd), f_clo, stat_buf.st_size);
+ n = VG_(read)(sr_Res(fd), f_clo, stat_buf.size);
if (n == -1) n = 0;
- vg_assert(n >= 0 && n <= stat_buf.st_size+1);
+ vg_assert(n >= 0 && n <= stat_buf.size+1);
f_clo[n] = '\0';
}
}
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
===================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c 2009-05-20 01:54:27 UTC (rev 9995)
+++ trunk/coregrind/m_debuginfo/debuginfo.c 2009-05-20 02:02:30 UTC (rev 9996)
@@ -645,7 +645,7 @@
/* stat dereferences symlinks, so we don't expect it to succeed and
yet produce something that is a symlink. */
- vg_assert(sr_isError(statres) || ! VKI_S_ISLNK(statbuf.st_mode));
+ vg_assert(sr_isError(statres) || ! VKI_S_ISLNK(statbuf.mode));
/* Don't let the stat call fail silently. Filter out some known
sources of noise before complaining, though. */
@@ -662,7 +662,7 @@
/* Finally, the point of all this stattery: if it's not a regular file,
don't try to read debug info from it. */
- if (! VKI_S_ISREG(statbuf.st_mode))
+ if (! VKI_S_ISREG(statbuf.mode))
return 0;
/* no uses of statbuf below here. */
@@ -905,7 +905,7 @@
if (r == -1)
goto out; /* stat failed ?! */
vg_assert(r == 0);
- obj_mtime = stat_buf.st_mtime;
+ obj_mtime = stat_buf.mtime;
/* and get its name into exename[]. */
vg_assert(VKI_PATH_MAX > 100); /* to ensure /proc/self/fd/%d is safe */
@@ -954,7 +954,7 @@
VG_(message)(Vg_UserMsg, "LOAD_PDB_DEBUGINFO: missing: %s", pdbname);
goto out;
}
- pdb_mtime = stat_buf.st_mtime;
+ pdb_mtime = stat_buf.mtime;
if (pdb_mtime < obj_mtime ) {
/* PDB file is older than PE file - ignore it or we will either
(a) print wrong stack traces or more likely (b) crash. */
@@ -971,7 +971,7 @@
/* Looks promising; go on to try and read stuff from it. */
fd_pdbimage = sr_Res(sres);
- n_pdbimage = stat_buf.st_size;
+ n_pdbimage = stat_buf.size;
sres = VG_(am_mmap_file_float_valgrind)( n_pdbimage, VKI_PROT_READ,
fd_pdbimage, 0 );
if (sr_isError(sres)) {
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2009-05-20 01:54:27 UTC (rev 9995)
+++ trunk/coregrind/m_debuginfo/readelf.c 2009-05-20 02:02:30 UTC (rev 9996)
@@ -930,7 +930,7 @@
if (VG_(clo_verbosity) > 1)
VG_(message)(Vg_DebugMsg, "Reading debug info from %s ..", name);
- *size = stat_buf.st_size;
+ *size = stat_buf.size;
sres = VG_(am_mmap_file_float_valgrind)
( *size, VKI_PROT_READ, sr_Res(fd), 0 );
Modified: trunk/coregrind/m_libcfile.c
===================================================================
--- trunk/coregrind/m_libcfile.c 2009-05-20 01:54:27 UTC (rev 9995)
+++ trunk/coregrind/m_libcfile.c 2009-05-20 02:02:30 UTC (rev 9996)
@@ -162,22 +162,22 @@
#define TRANSLATE_TO_vg_stat(_p_vgstat, _p_vkistat) \
do { \
- (_p_vgstat)->st_dev = (ULong)( (_p_vkistat)->st_dev ); \
- (_p_vgstat)->st_ino = (ULong)( (_p_vkistat)->st_ino ); \
- (_p_vgstat)->st_nlink = (ULong)( (_p_vkistat)->st_nlink ); \
- (_p_vgstat)->st_mode = (UInt) ( (_p_vkistat)->st_mode ); \
- (_p_vgstat)->st_uid = (UInt) ( (_p_vkistat)->st_uid ); \
- (_p_vgstat)->st_gid = (UInt) ( (_p_vkistat)->st_gid ); \
- (_p_vgstat)->st_rdev = (ULong)( (_p_vkistat)->st_rdev ); \
- (_p_vgstat)->st_size = (Long) ( (_p_vkistat)->st_size ); \
- (_p_vgstat)->st_blksize = (ULong)( (_p_vkistat)->st_blksize ); \
- (_p_vgstat)->st_blocks = (ULong)( (_p_vkistat)->st_blocks ); \
- (_p_vgstat)->st_atime = (ULong)( (_p_vkistat)->st_atime ); \
- (_p_vgstat)->st_atime_nsec = (ULong)( (_p_vkistat)->st_atime_nsec ); \
- (_p_vgstat)->st_mtime = (ULong)( (_p_vkistat)->st_mtime ); \
- (_p_vgstat)->st_mtime_nsec = (ULong)( (_p_vkistat)->st_mtime_nsec ); \
- (_p_vgstat)->st_ctime = (ULong)( (_p_vkistat)->st_ctime ); \
- (_p_vgstat)->st_ctime_nsec = (ULong)( (_p_vkistat)->st_ctime_nsec ); \
+ (_p_vgstat)->dev = (ULong)( (_p_vkistat)->st_dev ); \
+ (_p_vgstat)->ino = (ULong)( (_p_vkistat)->st_ino ); \
+ (_p_vgstat)->nlink = (ULong)( (_p_vkistat)->st_nlink ); \
+ (_p_vgstat)->mode = (UInt) ( (_p_vkistat)->st_mode ); \
+ (_p_vgstat)->uid = (UInt) ( (_p_vkistat)->st_uid ); \
+ (_p_vgstat)->gid = (UInt) ( (_p_vkistat)->st_gid ); \
+ (_p_vgstat)->rdev = (ULong)( (_p_vkistat)->st_rdev ); \
+ (_p_vgstat)->size = (Long) ( (_p_vkistat)->st_size ); \
+ (_p_vgstat)->blksize = (ULong)( (_p_vkistat)->st_blksize ); \
+ (_p_vgstat)->blocks = (ULong)( (_p_vkistat)->st_blocks ); \
+ (_p_vgstat)->atime = (ULong)( (_p_vkistat)->st_atime ); \
+ (_p_vgstat)->atime_nsec = (ULong)( (_p_vkistat)->st_atime_nsec ); \
+ (_p_vgstat)->mtime = (ULong)( (_p_vkistat)->st_mtime ); \
+ (_p_vgstat)->mtime_nsec = (ULong)( (_p_vkistat)->st_mtime_nsec ); \
+ (_p_vgstat)->ctime = (ULong)( (_p_vkistat)->st_ctime ); \
+ (_p_vgstat)->ctime_nsec = (ULong)( (_p_vkistat)->st_ctime_nsec ); \
} while (0)
SysRes VG_(stat) ( const Char* file_name, struct vg_stat* vgbuf )
@@ -215,12 +215,12 @@
VKI_STX_NORMAL);
if (!sr_isError(res)) {
VG_(memset)(vgbuf, 0, sizeof(*vgbuf));
- vgbuf->st_dev = (ULong)buf.st_dev;
- vgbuf->st_ino = (ULong)buf.st_ino;
- vgbuf->st_mode = (UInt)buf.st_mode;
- vgbuf->st_uid = (UInt)buf.st_uid;
- vgbuf->st_gid = (UInt)buf.st_gid;
- vgbuf->st_size = (Long)buf.st_size;
+ vgbuf->dev = (ULong)buf.st_dev;
+ vgbuf->ino = (ULong)buf.st_ino;
+ vgbuf->mode = (UInt)buf.st_mode;
+ vgbuf->uid = (UInt)buf.st_uid;
+ vgbuf->gid = (UInt)buf.st_gid;
+ vgbuf->size = (Long)buf.st_size;
}
return res;
}
@@ -271,7 +271,7 @@
{
struct vg_stat buf;
Int res = VG_(fstat)( fd, &buf );
- return (res == -1) ? (-1LL) : buf.st_size;
+ return (res == -1) ? (-1LL) : buf.size;
}
Bool VG_(is_dir) ( HChar* f )
@@ -279,7 +279,7 @@
struct vg_stat buf;
SysRes res = VG_(stat)(f, &buf);
return sr_isError(res) ? False
- : VKI_S_ISDIR(buf.st_mode) ? True : False;
+ : VKI_S_ISDIR(buf.mode) ? True : False;
}
SysRes VG_(dup) ( Int oldfd )
@@ -464,19 +464,19 @@
return sr_Err(res);
}
- if ( (st.st_mode & (VKI_S_ISUID | VKI_S_ISGID)) && !allow_setuid ) {
+ if ( (st.mode & (VKI_S_ISUID | VKI_S_ISGID)) && !allow_setuid ) {
if (is_setuid)
*is_setuid = True;
return VKI_EACCES;
}
- if (VG_(geteuid)() == st.st_uid) {
- if (!(st.st_mode & VKI_S_IXUSR))
+ if (VG_(geteuid)() == st.uid) {
+ if (!(st.mode & VKI_S_IXUSR))
return VKI_EACCES;
} else {
Int grpmatch = 0;
- if (VG_(getegid)() == st.st_gid)
+ if (VG_(getegid)() == st.gid)
grpmatch = 1;
else {
UInt groups[32];
@@ -484,7 +484,7 @@
Int i;
/* ngrp will be -1 if VG_(getgroups) failed. */
for (i = 0; i < ngrp; i++) {
- if (groups[i] == st.st_gid) {
+ if (groups[i] == st.gid) {
grpmatch = 1;
break;
}
@@ -492,10 +492,10 @@
}
if (grpmatch) {
- if (!(st.st_mode & VKI_S_IXGRP)) {
+ if (!(st.mode & VKI_S_IXGRP)) {
return VKI_EACCES;
}
- } else if (!(st.st_mode & VKI_S_IXOTH)) {
+ } else if (!(st.mode & VKI_S_IXOTH)) {
return VKI_EACCES;
}
}
Modified: trunk/coregrind/m_ume/main.c
===================================================================
--- trunk/coregrind/m_ume/main.c 2009-05-20 01:54:27 UTC (rev 9995)
+++ trunk/coregrind/m_ume/main.c 2009-05-20 02:02:30 UTC (rev 9996)
@@ -235,7 +235,7 @@
// Was it a directory?
res = VG_(stat)(exe_name, &st);
- if (!sr_isError(res) && VKI_S_ISDIR(st.st_mode)) {
+ if (!sr_isError(res) && VKI_S_ISDIR(st.mode)) {
VG_(printf)("valgrind: %s: is a directory\n", exe_name);
// Was it not executable?
Modified: trunk/include/pub_tool_libcfile.h
===================================================================
--- trunk/include/pub_tool_libcfile.h 2009-05-20 01:54:27 UTC (rev 9995)
+++ trunk/include/pub_tool_libcfile.h 2009-05-20 02:02:30 UTC (rev 9996)
@@ -43,24 +43,29 @@
specific vki_stat{,64} kernel structure will work and is
consistently available on different architectures on Linux, so we
have to use this 'struct vg_stat' impedance-matching type
- instead. */
+ instead.
+
+ Also note that the fieldnames aren't prefixed with "st_". This is because
+ st_atime et al are macros in sys/stat.h on Darwin, and using those names
+ screws things up.
+*/
struct vg_stat {
- ULong st_dev;
- ULong st_ino;
- ULong st_nlink;
- UInt st_mode;
- UInt st_uid;
- UInt st_gid;
- ULong st_rdev;
- Long st_size;
- ULong st_blksize;
- ULong st_blocks;
- ULong st_atime;
- ULong st_atime_nsec;
- ULong st_mtime;
- ULong st_mtime_nsec;
- ULong st_ctime;
- ULong st_ctime_nsec;
+ ULong dev;
+ ULong ino;
+ ULong nlink;
+ UInt mode;
+ UInt uid;
+ UInt gid;
+ ULong rdev;
+ Long size;
+ ULong blksize;
+ ULong blocks;
+ ULong atime;
+ ULong atime_nsec;
+ ULong mtime;
+ ULong mtime_nsec;
+ ULong ctime;
+ ULong ctime_nsec;
};
extern SysRes VG_(open) ( const Char* pathname, Int flags, Int mode );
|
|
From: <sv...@va...> - 2009-05-20 02:10:46
|
Author: njn
Date: 2009-05-20 02:53:19 +0100 (Wed, 20 May 2009)
New Revision: 9994
Log:
Remove a comment.
Modified:
branches/DARWIN/coregrind/m_libcfile.c
Modified: branches/DARWIN/coregrind/m_libcfile.c
===================================================================
--- branches/DARWIN/coregrind/m_libcfile.c 2009-05-20 01:52:09 UTC (rev 9993)
+++ branches/DARWIN/coregrind/m_libcfile.c 2009-05-20 01:53:19 UTC (rev 9994)
@@ -214,9 +214,6 @@
'struct vg_stat' in order to have a single structure that callers
can use consistently on all platforms. */
-/* Note that on Darwin, the _p_vkistat fields st_{a,m,c}time{_,nsec}
- "happen" to have the same name as on Linux only due to a bit of
- #define magic in vki-darwin.h. */
#define TRANSLATE_TO_vg_stat(_p_vgstat, _p_vkistat) \
do { \
(_p_vgstat)->dev = (ULong)( (_p_vkistat)->st_dev ); \
|
|
From: <sv...@va...> - 2009-05-20 02:10:46
|
Author: njn
Date: 2009-05-20 02:52:09 +0100 (Wed, 20 May 2009)
New Revision: 9993
Log:
Add a comment.
Modified:
branches/DARWIN/include/pub_tool_libcfile.h
Modified: branches/DARWIN/include/pub_tool_libcfile.h
===================================================================
--- branches/DARWIN/include/pub_tool_libcfile.h 2009-05-20 01:42:49 UTC (rev 9992)
+++ branches/DARWIN/include/pub_tool_libcfile.h 2009-05-20 01:52:09 UTC (rev 9993)
@@ -43,7 +43,12 @@
specific vki_stat{,64} kernel structure will work and is
consistently available on different architectures on Linux, so we
have to use this 'struct vg_stat' impedance-matching type
- instead. */
+ instead.
+
+ Also note that the fieldnames aren't prefixed with "st_". This is because
+ st_atime et al are macros in sys/stat.h on DARWIN, and using those names
+ screws things up.
+*/
struct vg_stat {
ULong dev;
ULong ino;
|
|
From: Nicholas N. <n.n...@gm...> - 2009-05-20 02:10:21
|
On Tue, May 19, 2009 at 6:58 PM, Konstantin Serebryany <kon...@gm...> wrote: >> I think the current behaviour is reasonable. The stack memory is >> allocated upon entry to the function; if you have more than one stack >> variable they will be allocated all at once, not one at a time. >> Because of this, the debug info, which Valgrind relies on, identifies >> the stack allocation with the opening brace of the function, which is >> often on its own line but in your example is on the same line as the >> declaration for main(). > > That is right. But not every memcheck user understands that. > I just suggested to make the report phrase a bit more descriptive. I would be reluctant to make an accurate message less accurate in order to address a user's lack of knowledge about how stack frames work. Nick |
|
From: <sv...@va...> - 2009-05-20 01:16:07
|
Author: njn
Date: 2009-05-20 02:15:56 +0100 (Wed, 20 May 2009)
New Revision: 9991
Log:
Merged r9989 (NEWS wibble) from the trunk.
Modified:
branches/DARWIN/NEWS
Modified: branches/DARWIN/NEWS
===================================================================
--- branches/DARWIN/NEWS 2009-05-20 01:14:28 UTC (rev 9990)
+++ branches/DARWIN/NEWS 2009-05-20 01:15:56 UTC (rev 9991)
@@ -87,6 +87,7 @@
188046 Removed a bashism from the configure script.
189763 DRD - pthread_create@GLIBC_2.0() no longer triggers an assertion
failure.
+n-i-bz DRD - fixed assertion failure triggered by mutex reinitialization.
|
|
From: <sv...@va...> - 2009-05-20 01:14:42
|
Author: njn Date: 2009-05-20 02:14:28 +0100 (Wed, 20 May 2009) New Revision: 9990 Log: Merged r9986 (DRD makefile wibble) from the trunk. Modified: branches/DARWIN/drd/tests/Makefile.am Modified: branches/DARWIN/drd/tests/Makefile.am =================================================================== --- branches/DARWIN/drd/tests/Makefile.am 2009-05-19 18:05:25 UTC (rev 9989) +++ branches/DARWIN/drd/tests/Makefile.am 2009-05-20 01:14:28 UTC (rev 9990) @@ -116,9 +116,8 @@ pth_inconsistent_cond_wait.vgtest \ pth_mutex_reinit.stderr.exp \ pth_mutex_reinit.vgtest \ - pth_process_shared_mutex.c \ - pth_process_shared_mutex.vgtest \ pth_process_shared_mutex.stderr.exp \ + pth_process_shared_mutex.vgtest \ pth_spinlock.stderr.exp \ pth_spinlock.vgtest \ qt4_mutex.stderr.exp \ |
|
From: Nicholas N. <n.n...@gm...> - 2009-05-20 00:53:11
|
Hi, I'm working on getting the DARWIN branch ready to merge with the trunk. My aim is to for the merge, when it happens, to mostly involve adding new, Darwin-specific code. But there's lots of code that is present in both branch and trunk, but contain differences, lots of them fairly trivial. I'm currently working on removing those differences. I did a big chunk of it yesterday, but there's still a fair way to go. So I'm wondering if anyone objects to freezing other commits to the trunk for the next couple of days, to make this process easier? Nick |
|
From: Nicholas N. <n.n...@gm...> - 2009-05-20 00:05:34
|
On Tue, May 19, 2009 at 6:06 PM, Julian Seward <js...@ac...> wrote: > Anyway, this leads to the current question, which is what to do about > the sources for check_PROGRAMS components which are only conditionally > defined, eg > > if HAVE_PTHREAD_BARRIER > check_PROGRAMS += matinv pth_barrier pth_barrier_race pth_barrier_reinit > endif Maybe we need this: if HAVE_PTHREAD_BARRIER check_PROGRAMS += matinv pth_barrier pth_barrier_race pth_barrier_reinit else EXTRA_DIST += matinv.c pth_barrier.c pth_barrier_race.c pth_barrier_reinit.c endif N |