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
(7) |
|
4
(3) |
5
(6) |
6
(9) |
7
(8) |
8
(7) |
9
(7) |
10
(18) |
|
11
(7) |
12
(11) |
13
(24) |
14
(13) |
15
(11) |
16
(18) |
17
(7) |
|
18
(8) |
19
(7) |
20
(9) |
21
(24) |
22
(18) |
23
(10) |
24
(7) |
|
25
(8) |
26
(11) |
27
(14) |
28
(7) |
29
(10) |
30
(7) |
|
|
From: Robert W. <rj...@du...> - 2004-04-16 23:03:21
|
CVS commit by rjwalsh:
Fix bug 73655.
A gen_intercepts.pl 1.1
A vg_intercept.c.base 1.1
A vg_replace_malloc.c.base 1.1
M +9 -1 Makefile.am 1.71
M +13 -5 vg_include.h 1.190
M +4 -17 vg_scheduler.c 1.147
M +120 -3 vg_symtab2.c 1.78
R vg_intercept.c 1.28
R vg_replace_malloc.c 1.18
--- valgrind/coregrind/Makefile.am #1.70:1.71
@@ -28,5 +28,5 @@
BUILT_SOURCES = vg_toolint.c vg_toolint.h
-CLEANFILES = vg_toolint.c vg_toolint.h
+CLEANFILES = vg_toolint.c vg_toolint.h vg_replace_malloc.c vg_intercept.c
valgrind_SOURCES = \
@@ -89,4 +89,12 @@
-ldl
+vg_intercept.c: $(srcdir)/gen_intercepts.pl vg_intercept.c.base
+ rm -f $@
+ $(PERL) $(srcdir)/gen_intercepts.pl < vg_intercept.c.base > $@
+
+vg_replace_malloc.c: $(srcdir)/gen_intercepts.pl vg_replace_malloc.c.base
+ rm -f $@
+ $(PERL) $(srcdir)/gen_intercepts.pl < vg_replace_malloc.c.base > $@
+
vg_toolint.c: $(srcdir)/gen_toolint.pl $(srcdir)/toolfuncs.def $(srcdir)/Makefile
rm -f $@
--- valgrind/coregrind/vg_include.h #1.189:1.190
@@ -275,4 +275,7 @@ extern Bool VG_(clo_show_below_main);
extern Bool VG_(clo_pointercheck);
+/* Set up the libc freeres wrapper */
+extern void VG_(intercept_libc_freeres_wrapper)(Addr);
+
/* ---------------------------------------------------------------------
Debugging and profiling stuff
@@ -481,5 +484,4 @@ extern Bool VG_(is_inside_segment_mmapd
/* Denote the finish of VG_(__libc_freeres_wrapper). */
#define VG_USERREQ__LIBC_FREERES_DONE 0x3029
-#define VG_USERREQ__REGISTER_LIBC_FREERES 0x302A
/* Allocate RT signals */
@@ -491,8 +493,4 @@ extern Bool VG_(is_inside_segment_mmapd
#define VG_USERREQ__GET_MALLOCFUNCS 0x3030
-/* Hook for interface to vg_inject.so */
-#define VG_USERREQ__REGISTER_REDIRECT_SYM 0x3031
-#define VG_USERREQ__REGISTER_REDIRECT_ADDR 0x3032
-
/* Cosmetic ... */
#define VG_USERREQ__GET_PTHREAD_TRACE_LEVEL 0x3101
@@ -509,4 +507,14 @@ In vg_constants.h:
*/
+#define VG_INTERCEPT_PREFIX "_vgi__"
+#define VG_INTERCEPT_PREFIX_LEN 6
+#define VG_INTERCEPT(name) _vgi__##name
+#define VG_INTERCEPT_ALIAS(name) "_vgi__" #name
+
+#define VG_WRAPPER_PREFIX "_vgw__"
+#define VG_WRAPPER_PREFIX_LEN 6
+#define VG_WRAPPER(name) _vgw__##name
+#define VG_WRAPPER_ALIAS(name) "_vgw__" #name
+
struct vg_mallocfunc_info {
--- valgrind/coregrind/vg_scheduler.c #1.146:1.147
@@ -2850,4 +2850,8 @@ UInt VG_(get_exit_status_shadow) ( void
}
+void VG_(intercept_libc_freeres_wrapper)(Addr addr)
+{
+ VG_(__libc_freeres_wrapper) = addr;
+}
/* ---------------------------------------------------------------------
@@ -3150,9 +3154,4 @@ void do_client_request ( ThreadId tid )
break; }
- case VG_USERREQ__REGISTER_LIBC_FREERES:
- VG_(__libc_freeres_wrapper) = arg[1];
- SET_CLREQ_RETVAL( tid, 0 ); /* return value is meaningless */
- break;
-
case VG_USERREQ__GET_MALLOCFUNCS: {
struct vg_mallocfunc_info *info = (struct vg_mallocfunc_info *)arg[1];
@@ -3178,16 +3177,4 @@ void do_client_request ( ThreadId tid )
}
- case VG_USERREQ__REGISTER_REDIRECT_SYM: {
- VG_(add_redirect_sym)((const Char *)arg[1], (const Char *)arg[2],
- (const Char *)arg[3], (const Char *)arg[4]);
- break;
- }
-
- case VG_USERREQ__REGISTER_REDIRECT_ADDR: {
- VG_(add_redirect_addr)((const Char *)arg[1], (const Char *)arg[2],
- (Addr)arg[3]);
- break;
- }
-
/* Requests from the client program */
--- valgrind/coregrind/vg_symtab2.c #1.77:1.78
@@ -35,4 +35,6 @@
#include <elf.h> /* ELF defns */
+static Bool
+VG_(intercept_demangle)(const Char*, Char*, Int);
/* Majorly rewritten Sun 3 Feb 02 to enable loading symbols from
@@ -442,4 +444,15 @@ static RiSym *prefersym(RiSym *a, RiSym
}
+ /* Ugh. If we get a "free", always choose it. This is because
+ normally, this function would choose "cfree" over free. cfree is
+ an alias for free. If there's any more symbols like this, we may
+ want to consider making this mechanism more generic.
+ */
+ if(VG_(strcmp)(a->name, "free") == 0)
+ return a;
+
+ if(VG_(strcmp)(b->name, "free") == 0)
+ return b;
+
for(i = pfx = 0; i < sizeof(prefixes)/sizeof(*prefixes); i++) {
Int pfxlen = prefixes[i].len;
@@ -472,4 +485,16 @@ void canonicaliseSymtab ( SegInfo* si )
VG_(ssort)(si->symtab, si->symtab_used, sizeof(*si->symtab), compare_RiSym);
+ for (i = 0; i < si->symtab_used; i++) {
+ if(VG_(strncmp)(si->symtab[i].name, VG_INTERCEPT_PREFIX,
+ VG_INTERCEPT_PREFIX_LEN) == 0) {
+ int len = VG_(strlen)(si->symtab[i].name);
+ char *buf = VG_(malloc)(len), *colon;
+ VG_(intercept_demangle)(si->symtab[i].name, buf, len);
+ colon = buf + VG_(strlen)(buf) - 1;
+ while(*colon != ':') colon--;
+ VG_(strncpy_safely)(si->symtab[i].name, colon+1, len);
+ }
+ }
+
cleanup_more:
@@ -747,7 +772,83 @@ Bool VG_(is_object_file)(const void *buf
}
+/*
+ * Demangle an intercept symbol into library:func form
+ */
+
+static Bool
+VG_(intercept_demangle)(const Char* symbol, Char* result, Int nbytes)
+{
+ int i, j = 0;
+ int len = VG_(strlen)(symbol);
+
+ for(i = VG_INTERCEPT_PREFIX_LEN; i < len; i++) {
+ if(symbol[i] == '$') {
+ i++;
+ if(symbol[i] == '$') {
+ result[j] = '$';
+ } else if((symbol[i] >= '0' && symbol[i] <= '9') ||
+ (symbol[i] >= 'a' && symbol[i] <= 'f') ||
+ (symbol[i] >= 'A' && symbol[i] <= 'F')) {
+ int x = symbol[i++];
+ int y = symbol[i];
+ if(x >= '0' && x <= '9') {
+ x -= '0';
+ } else if(x >= 'a' && x <= 'f') {
+ x -= 'a';
+ } else if(x >= 'A' && x <= 'F') {
+ x -= 'A';
+ }
+ if(y >= '0' && y <= '9') {
+ y -= '0';
+ } else if(y >= 'a' && y <= 'f') {
+ y = y - 'a' + 10;
+ } else if(y >= 'A' && y <= 'F') {
+ y = y - 'A' + 10;
+ } else {
+ return False;
+ }
+ result[j] = (x << 4) | y;
+ } else {
+ return False;
+ }
+ } else {
+ result[j] = symbol[i];
+ }
+ if(j >= nbytes) {
+ result[j] = '\0';
+ return True;
+ }
+ j++;
+ }
+ result[j] = '\0';
+ return True;
+}
+
+static
+void handle_intercept( SegInfo* si, Char* symbol, Elf32_Sym* sym)
+{
+ int len = VG_(strlen)(symbol) + 1 - VG_INTERCEPT_PREFIX_LEN;
+ char *lib = VG_(malloc)(len);
+ Char *func;
+
+ VG_(intercept_demangle)(symbol, lib, len);
+ func = lib + VG_(strlen)(lib)-1;
+
+ while(*func != ':') func--;
+ *func = '\0';
+
+ VG_(add_redirect_addr)(lib, func+1, si->offset + sym->st_value);
+ VG_(free)(lib);
+}
+
+static
+void handle_wrapper( SegInfo* si, Char* symbol, Elf32_Sym* sym)
+{
+ VG_(intercept_libc_freeres_wrapper)((Addr)(si->offset + sym->st_value));
+}
+
/* Read a symbol table (normal or dynamic) */
static
-void read_symtab( SegInfo* si, Char* tab_name,
+void read_symtab( SegInfo* si, Char* tab_name, Bool do_intercepts,
Elf32_Sym* o_symtab, UInt o_symtab_sz,
UChar* o_strtab, UInt o_strtab_sz )
@@ -806,4 +907,20 @@ void read_symtab( SegInfo* si, Char* tab
# endif
+ /*
+ * Is this symbol a magic valgrind-intercept symbol? If so,
+ * hand this off to the interceptinator.
+ */
+ if (do_intercepts) {
+ if (VG_(strncmp)((Char*)o_strtab+sym->st_name,
+ VG_INTERCEPT_PREFIX,
+ VG_INTERCEPT_PREFIX_LEN) == 0) {
+ handle_intercept(si, (Char*)o_strtab+sym->st_name, sym);
+ } else if (VG_(strncmp)((Char*)o_strtab+sym->st_name,
+ VG_WRAPPER_PREFIX,
+ VG_WRAPPER_PREFIX_LEN) == 0) {
+ handle_wrapper(si, (Char*)o_strtab+sym->st_name, sym);
+ }
+ }
+
/* Figure out if we're interested in the symbol.
Firstly, is it of the right flavour? */
@@ -1144,9 +1261,9 @@ Bool vg_read_lib_symbols ( SegInfo* si )
}
- read_symtab(si, "symbol table",
+ read_symtab(si, "symbol table", False,
o_symtab, o_symtab_sz,
o_strtab, o_strtab_sz);
- read_symtab(si, "dynamic symbol table",
+ read_symtab(si, "dynamic symbol table", True,
o_dynsym, o_dynsym_sz,
o_dynstr, o_dynstr_sz);
|
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 22:21:22
|
CVS commit by nethercote:
Added comment clarifying RDTSC.
M +3 -0 vg_to_ucode.c 1.135
--- valgrind/coregrind/vg_to_ucode.c #1.134:1.135
@@ -6729,4 +6729,7 @@ static Addr disInstr ( UCodeBlock* cb, A
t3 = newTemp(cb);
uInstr0(cb, CALLM_S, 0);
+ // Nb: even though these args aren't used by RDTSC_helper, need
+ // them to be defined (for Memcheck). The TempRegs pushed must
+ // also be distinct.
uInstr2(cb, MOV, 4, Literal, 0, TempReg, t1);
uLiteral(cb, 0);
|
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 16:16:42
|
CVS commit by nethercote:
Increase sanity checking on .extra4b field for WIDEN, rename a sanity macro,
add some missing #undefs for some sanity macros.
M +10 -4 vg_translate.c 1.76
--- valgrind/coregrind/vg_translate.c #1.75:1.76
@@ -458,4 +458,5 @@ Bool VG_(saneUInstr) ( Bool beforeRA, Bo
# define COND0 (u->cond == 0)
# define EXTRA4b0 (u->extra4b == 0)
+# define EXTRA4b12 (u->extra4b == 1 || u->extra4b == 2)
# define SG_WD0 (u->signed_widen == 0)
# define JMPKIND0 (u->jmpkind == 0)
@@ -466,6 +467,6 @@ Bool VG_(saneUInstr) ( Bool beforeRA, Bo
# define XCONDi ( EXTRA4b0 && SG_WD0 && JMPKIND0 && CCALL0)
-# define Xextra4b (COND0 && SG_WD0 && JMPKIND0 && CCALL0)
-# define XWIDEN (COND0 && JMPKIND0 && CCALL0)
+# define XLEA2 (COND0 && SG_WD0 && JMPKIND0 && CCALL0)
+# define XWIDEN (COND0 && EXTRA4b12 && JMPKIND0 && CCALL0)
# define XJMP ( SG_WD0 && CCALL0)
# define XCCALL (COND0 && EXTRA4b0 && SG_WD0 && JMPKIND0 )
@@ -532,5 +533,5 @@ Bool VG_(saneUInstr) ( Bool beforeRA, Bo
case FPU: return LIT0 && SZ0 && CCf && Ls1 && N2 && N3 && XOTHER;
case LEA1: return /*any*/ SZ4 && CC0 && TR1 && TR2 && N3 && XOTHER;
- case LEA2: return /*any*/ SZ4 && CC0 && TR1 && TR2 && TR3 && Xextra4b;
+ case LEA2: return /*any*/ SZ4 && CC0 && TR1 && TR2 && TR3 && XLEA2;
case INCEIP: return LIT0 && SZ0 && CC0 && Ls1 && N2 && N3 && XOTHER;
case CCALL: return LIT1 && SZ0 && CC0 &&
@@ -592,4 +593,5 @@ Bool VG_(saneUInstr) ( Bool beforeRA, Bo
# undef SZ48
# undef SZ416
+# undef SZ816
# undef SZsse2
# undef SZsse3
@@ -625,4 +627,6 @@ Bool VG_(saneUInstr) ( Bool beforeRA, Bo
# undef TRL1
# undef TRAL1
+# undef TRA1
+# undef TRA2
# undef N1
# undef N2
@@ -632,8 +636,10 @@ Bool VG_(saneUInstr) ( Bool beforeRA, Bo
# undef COND0
# undef EXTRA4b0
+# undef EXTRA4b12
# undef SG_WD0
# undef JMPKIND0
# undef CCALL0
-# undef Xextra4b
+# undef XCONDi
+# undef XLEA2
# undef XWIDEN
# undef XJMP
|
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 15:39:27
|
CVS commit by nethercote:
Pretty-print WIDENs properly.
M +9 -5 vg_translate.c 1.75
--- valgrind/coregrind/vg_translate.c #1.74:1.75
@@ -981,6 +981,7 @@ void pp_UInstrWorker ( Int instrNo, UIns
VG_(printf)("%s", VG_(name_UCondcode)(u->cond));
- // Append jmpkind
- if (u->opcode == JMP) {
+ // Append extra bits
+ switch (u->opcode) {
+ case JMP:
switch (u->jmpkind) {
case JmpCall: VG_(printf)("-c"); break;
@@ -991,4 +992,9 @@ void pp_UInstrWorker ( Int instrNo, UIns
default: break;
}
+ break;
+
+ case WIDEN:
+ VG_(printf)("_%c%c", VG_(toupper)(nameISize(u->extra4b)),
+ u->signed_widen?'s':'z');
}
VG_(printf)(" \t");
@@ -1202,6 +1208,4 @@ void pp_UInstrWorker ( Int instrNo, UIns
case WIDEN:
- VG_(printf)("_%c%c", VG_(toupper)(nameISize(u->extra4b)),
- u->signed_widen?'s':'z');
VG_(pp_UOperand)(u, 1, u->size, False);
break;
|
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 11:33:57
|
CVS commit by nethercote:
Improved pretty-printing:
- now showing conditions for CC2VAL and CMOV
- fixed indenting on JumpKind (-c, -r, -sys, etc)
M +17 -9 vg_translate.c 1.74
--- valgrind/coregrind/vg_translate.c #1.73:1.74
@@ -963,5 +963,6 @@ void pp_UInstrWorker ( Int instrNo, UIns
VG_(printf)("\t%4d: %s", instrNo,
VG_(name_UOpcode)(True, u->opcode));
- if (u->opcode == JMP || u->opcode == CC2VAL)
+ // For JMP, the condition goes before the size
+ if (u->opcode == JMP)
VG_(printf)("%s", VG_(name_UCondcode)(u->cond));
@@ -976,4 +977,19 @@ void pp_UInstrWorker ( Int instrNo, UIns
}
+ // For CC2VAL and CMOV, the condition goes after the size
+ if (u->opcode == CC2VAL || u->opcode == CMOV)
+ VG_(printf)("%s", VG_(name_UCondcode)(u->cond));
+
+ // Append jmpkind
+ if (u->opcode == JMP) {
+ switch (u->jmpkind) {
+ case JmpCall: VG_(printf)("-c"); break;
+ case JmpRet: VG_(printf)("-r"); break;
+ case JmpSyscall: VG_(printf)("-sys"); break;
+ case JmpClientReq: VG_(printf)("-cli"); break;
+ case JmpYield: VG_(printf)("-yld"); break;
+ default: break;
+ }
+ }
VG_(printf)(" \t");
@@ -1132,12 +1148,4 @@ void pp_UInstrWorker ( Int instrNo, UIns
case JMP:
- switch (u->jmpkind) {
- case JmpCall: VG_(printf)("-c"); break;
- case JmpRet: VG_(printf)("-r"); break;
- case JmpSyscall: VG_(printf)("-sys"); break;
- case JmpClientReq: VG_(printf)("-cli"); break;
- case JmpYield: VG_(printf)("-yld"); break;
- default: break;
- }
VG_(pp_UOperand)(u, 1, u->size, False);
if (CondAlways == u->cond) {
|
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 08:25:52
|
CVS commit by nethercote: Clarified instructions for installing from CVS M +9 -4 cvs.html 1.7 --- devel-home/valgrind/cvs.html #1.6:1.7 @@ -7,8 +7,13 @@ If you want a bleeding-edge version of Valgrind, follow these <a href="http://developer.kde.org/source/anoncvs.html">instructions</a> -to check out the HEAD from our CVS repository; the <em>modulename</em> is -<code>valgrind</code>. Note particularly the information about mirrors. -Once you have checked out the code, follow the instructions in the README -to install. +to check out the current code from our CVS repository. But please note the +following exceptions to the instructions: +<ul> +<li>You only need to check out one module for Valgrind; the + <em>modulename</em> is <code>valgrind</code>. +<li>To compile, don't follow those instructions, instead follow the + instructions in Valgrind's README. +</ul> + <p> Or, you can <a href="http://webcvs.kde.org/cgi-bin/cvsweb.cgi/valgrind/"> |
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 08:04:31
|
CVS commit by nethercote:
Fix assertion failure msg.
M +1 -1 vg_from_ucode.c 1.76
--- valgrind/coregrind/vg_from_ucode.c #1.75:1.76
@@ -3919,5 +3919,5 @@ static void emitUInstr ( UCodeBlock* cb,
u->opcode, u->size, u->val1, u->val2 );
break;
- default: VG_(core_panic)("emitUInstr:non-shift-op");
+ default: VG_(core_panic)("emitUInstr:shift-op");
}
break;
|
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 07:41:39
|
Hi, Attached patch prints the contents of /proc/version at startup when -v is specified. Anyone see any problems with this, before I commit? (Linux-specific, yes, but...) N |
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 07:25:37
|
CVS commit by nethercote: Fix typo, and update bug-reporting procedure. M +3 -3 README 1.17 --- valgrind/README #1.16:1.17 @@ -21,5 +21,5 @@ detailed profiling to help speed up your programs. -The Valgrind distribution includes four tools: two memory error +The Valgrind distribution includes five tools: two memory error detectors, a thread error detector, a cache profiler and a heap profiler. Several other tools have been built with Valgrind. @@ -87,6 +87,6 @@ 6. See if it works. Try "valgrind ls -l". Either this works, - or it bombs out complaining it can't find argc/argv/envp. - In that case, mail me a bug report. + or it bombs out with some complaint. In that case, please let + us know (see valgrind.kde.org/bugs.html). Important! Do not move the valgrind installation into a place |
|
From: Nicholas N. <nj...@ca...> - 2004-04-16 07:23:09
|
CVS commit by nethercote: Make that damn 'inherit' test stop failing, even if Helgrind isn't doing the right thing. M +6 -6 inherit.c 1.2 M +2 -1 inherit.stderr.exp 1.4 --- valgrind/helgrind/tests/inherit.c #1.1:1.2 @@ -1,4 +1,10 @@ /* test child thread inheriting data */ +// *** +// +// Helgrind should detect an error on line 48 for this test, but it doesn't! +// +// *** + #include <pthread.h> #include <unistd.h> --- valgrind/helgrind/tests/inherit.stderr.exp #1.3:1.4 @@ -1 +1,2 @@ -XXX We expect an error on inherit.c:48 + + |
|
From: <js...@ac...> - 2004-04-16 05:02:13
|
Nightly build on phoenix ( SuSE 8.2 ) started at 2004-04-16 04:00:00 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 152 tests, 13 stderr failures, 0 stdout failures ================= corecheck/tests/as_mmap (stderr) corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_creat (stderr) corecheck/tests/fdleak_dup (stderr) corecheck/tests/fdleak_dup2 (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_open (stderr) corecheck/tests/fdleak_pipe (stderr) corecheck/tests/fdleak_socketpair (stderr) helgrind/tests/inherit (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stderr) make: *** [regtest] Error 1 |
|
From: Jeremy F. <je...@go...> - 2004-04-16 04:56:52
|
On Fri, 2004-04-16 at 08:40, Nicholas Nethercote wrote: > You say you want the long explanation for GUIs -- can you explain more why > that's useful? AFAICT people usually don't bother even giving meaningful > suppression names. Sure, but other people won't. In particular, I'm thinking about the standard suppressions we supply, and that library/software vendors might supply, which presumably will be put together with some care. Run of the mill suppressions will just be slapped together as always. A comment would do if you're directly editing/viewing the suppressions file, but I think we need to anticipate better interfaces. > > Well, when you link with a shared object, the dependency is "I need a > > file with an soname of (say) libc.so.6" rather than "I need a file > > called libc.so.6". The filename of the shared library is irrelevant if > > the soname is correct. > > Is the idea that you ignore the path before the filename? No, the SONAME is a specific property of a shared object which is unrelated to the filename (though it may be similar). For example: $ readelf -d /lib/libc.so.6 Dynamic segment at offset 0x1378b4 contains 23 entries: Tag Type Name/Value 0x00000001 (NEEDED) Shared library: [ld-linux.so.2] 0x0000000e (SONAME) Library soname: [libc.so.6] 0x0000000c (INIT) 0x15950 0x0000000d (FINI) 0x11b3f0 ... You set this with the --soname option on the linker. That's why VG_(add_redirect_sym) supports either matching the filename of a library, or the soname. J |
|
From: <js...@ac...> - 2004-04-16 02:39:36
|
Nightly build on nemesis ( SuSE 9.0 ) started at 2004-04-16 03:50:00 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 152 tests, 13 stderr failures, 0 stdout failures ================= corecheck/tests/as_mmap (stderr) corecheck/tests/fdleak_cmsg (stderr) corecheck/tests/fdleak_creat (stderr) corecheck/tests/fdleak_dup (stderr) corecheck/tests/fdleak_dup2 (stderr) corecheck/tests/fdleak_fcntl (stderr) corecheck/tests/fdleak_ipv4 (stderr) corecheck/tests/fdleak_open (stderr) corecheck/tests/fdleak_pipe (stderr) corecheck/tests/fdleak_socketpair (stderr) helgrind/tests/inherit (stderr) memcheck/tests/writev (stderr) memcheck/tests/zeropage (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <to...@co...> - 2004-04-16 02:23:03
|
Nightly build on dunsmere ( Fedora Core 1 ) started at 2004-04-16 03:20:01 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow readline1: valgrind ./readline1 resolv: valgrind ./resolv seg_override: valgrind ./seg_override semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 157 tests, 1 stderr failure, 1 stdout failure ================= helgrind/tests/inherit (stderr) none/tests/exec-sigmask (stdout) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-04-16 02:18:38
|
Nightly build on audi ( Red Hat 9 ) started at 2004-04-16 03:15:04 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow rcrl: valgrind ./rcrl readline1: valgrind ./readline1 resolv: valgrind ./resolv seg_override: valgrind ./seg_override semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 157 tests, 1 stderr failure, 0 stdout failures ================= helgrind/tests/inherit (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-04-16 02:13:18
|
Nightly build on ginetta ( Red Hat 8.0 ) started at 2004-04-16 03:10:03 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 157 tests, 6 stderr failures, 0 stdout failures ================= helgrind/tests/deadlock (stderr) helgrind/tests/inherit (stderr) helgrind/tests/race (stderr) helgrind/tests/race2 (stderr) memcheck/tests/nanoleak (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-04-16 02:08:11
|
Nightly build on alvis ( Red Hat 7.3 ) started at 2004-04-16 03:05:03 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 157 tests, 6 stderr failures, 1 stdout failure ================= helgrind/tests/inherit (stderr) memcheck/tests/badfree-2trace (stderr) memcheck/tests/badjump (stderr) memcheck/tests/brk (stderr) memcheck/tests/error_counts (stdout) memcheck/tests/new_nothrow (stderr) memcheck/tests/writev (stderr) make: *** [regtest] Error 1 |
|
From: Tom H. <th...@cy...> - 2004-04-16 02:06:37
|
Nightly build on standard ( Red Hat 7.2 ) started at 2004-04-16 03:00:03 BST Checking out source tree ... done Configuring ... done Building ... done Running regression tests ... done Last 20 lines of log.verbose follow readline1: valgrind ./readline1 resolv: valgrind ./resolv seg_override: valgrind ./seg_override semlimit: valgrind ./semlimit sha1_test: valgrind ./sha1_test shortpush: valgrind ./shortpush shorts: valgrind ./shorts smc1: valgrind ./smc1 susphello: valgrind ./susphello syscall-restart1: valgrind ./syscall-restart1 syscall-restart2: valgrind ./syscall-restart2 system: valgrind ./system yield: valgrind ./yield -- Finished tests in none/tests ---------------------------------------- == 157 tests, 2 stderr failures, 0 stdout failures ================= helgrind/tests/inherit (stderr) memcheck/tests/badfree-2trace (stderr) make: *** [regtest] Error 1 |