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
(9) |
2
(1) |
3
(1) |
|
4
(1) |
5
(1) |
6
(1) |
7
(1) |
8
(5) |
9
(9) |
10
(1) |
|
11
(1) |
12
(2) |
13
(10) |
14
(4) |
15
(1) |
16
|
17
(1) |
|
18
(1) |
19
(1) |
20
(8) |
21
(1) |
22
(2) |
23
|
24
|
|
25
|
26
(2) |
27
(15) |
28
(12) |
29
(9) |
30
(5) |
31
(5) |
|
From: <sv...@va...> - 2009-10-29 14:03:20
|
Author: tom
Date: 2009-10-29 14:03:02 +0000 (Thu, 29 Oct 2009)
New Revision: 10921
Log:
If a signal arrives when a thread which has just finished executing a
system call is between the blksys_committed and blksys_finished markers
in the system call routine then the post handler for the system call
was failing to run.
This commit fixes that by ensuring that the syscall status is recovered
from the guest state before the post VG_(post_syscall) is called just
as VG_(client_syscall) would normally do when the assembly wrapper
returned. Without that VG_(post_syscall) will not do anything a it
will think the system call is still running.
Fixes #212267.
Modified:
trunk/coregrind/m_syswrap/syswrap-main.c
Modified: trunk/coregrind/m_syswrap/syswrap-main.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-main.c 2009-10-29 09:27:11 UTC (rev 10920)
+++ trunk/coregrind/m_syswrap/syswrap-main.c 2009-10-29 14:03:02 UTC (rev 10921)
@@ -2058,6 +2058,8 @@
if (VG_(clo_trace_signals))
VG_(message)( Vg_DebugMsg,
" completed and committed: nothing to do");
+ getSyscallStatusFromGuestState( &sci->status, &th_regs->vex );
+ vg_assert(sci->status.what == SsComplete);
VG_(post_syscall)(tid);
}
|
|
From: Alexander P. <gl...@go...> - 2009-10-29 12:08:34
|
Nightly build on mcgrind ( Darwin 9.7.0 i386 ) Started at 2009-10-29 09:06:00 MSK Ended at 2009-10-29 09:27:00 MSK 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 == 433 tests, 22 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/null_socket (stdout) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) none/tests/async-sigs (stderr) none/tests/faultstatus (stderr) none/tests/pth_blockedsig (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/rwlock_race (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc23_bogus_condwait (stderr) -- Alexander Potapenko Software Engineer Google Moscow |
|
From: <sv...@va...> - 2009-10-29 09:27:26
|
Author: tom
Date: 2009-10-29 09:27:11 +0000 (Thu, 29 Oct 2009)
New Revision: 10920
Log:
Add support for ELF indirect functions. These are symbols of
type STT_GNU_IFUNC which, instead of pointing directly at the
function, point at a routine which will return the address of
the real function. Redirection of indirect functions is handled
by valgrind as follows:
- When a redirection specification matches an indirect
function symbol an active redirection is added in the
normal way, but with the isIFunc flag set.
- When a call is made to an address which matches an
active redirection with the isIFunc flag set the call
is redirected, but not to the target address of the
redirection - instead it is sent to a small wrapper
routine that is preloaded into the client.
- The wrapper routine calls the original client routine
and collects the result, which it reports to valgrind
using a client request, and then returns the result to
the caller.
- When valgrind gets the client request it looks up the
active redirection for the indirect function and then
adds a new active redirection which redirects from the
address returned by the indirection function to the
redirection target. This new redirection does not have
the isIFunc flag set so behaves as a normal redirection.
In addition to the above we also add a few new redirections to
memcheck to capture internal calls made by glibc to things like
strlen, as these internal calls do not go through the indirect
function and instead go direct to the chosen implementation.
Based on a patch from Dodji Seketeli and comments from Jakub
Jelinek, this commit closes bug 206013.
Modified:
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_debuginfo/priv_storage.h
trunk/coregrind/m_debuginfo/readelf.c
trunk/coregrind/m_redir.c
trunk/coregrind/m_scheduler/scheduler.c
trunk/coregrind/pub_core_clreq.h
trunk/coregrind/pub_core_redir.h
trunk/coregrind/vg_preloaded.c
trunk/include/pub_tool_debuginfo.h
trunk/memcheck/mc_replace_strmem.c
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
===================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/coregrind/m_debuginfo/debuginfo.c 2009-10-29 09:27:11 UTC (rev 10920)
@@ -3435,14 +3435,16 @@
/*OUT*/Addr* tocptr,
/*OUT*/UInt* size,
/*OUT*/HChar** name,
- /*OUT*/Bool* isText )
+ /*OUT*/Bool* isText,
+ /*OUT*/Bool* isIFunc )
{
vg_assert(idx >= 0 && idx < si->symtab_used);
- if (avma) *avma = si->symtab[idx].addr;
- if (tocptr) *tocptr = si->symtab[idx].tocptr;
- if (size) *size = si->symtab[idx].size;
- if (name) *name = (HChar*)si->symtab[idx].name;
- if (isText) *isText = si->symtab[idx].isText;
+ if (avma) *avma = si->symtab[idx].addr;
+ if (tocptr) *tocptr = si->symtab[idx].tocptr;
+ if (size) *size = si->symtab[idx].size;
+ if (name) *name = (HChar*)si->symtab[idx].name;
+ if (isText) *isText = si->symtab[idx].isText;
+ if (isIFunc) *isIFunc = si->symtab[idx].isIFunc;
}
Modified: trunk/coregrind/m_debuginfo/priv_storage.h
===================================================================
--- trunk/coregrind/m_debuginfo/priv_storage.h 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/coregrind/m_debuginfo/priv_storage.h 2009-10-29 09:27:11 UTC (rev 10920)
@@ -48,15 +48,16 @@
/* A structure to hold an ELF/XCOFF symbol (very crudely). */
typedef
struct {
- Addr addr; /* lowest address of entity */
- Addr tocptr; /* ppc64-linux only: value that R2 should have */
- UChar *name; /* name */
+ Addr addr; /* lowest address of entity */
+ Addr tocptr; /* ppc64-linux only: value that R2 should have */
+ UChar *name; /* name */
// XXX: this could be shrunk (on 32-bit platforms) by using 31 bits for
// the size and 1 bit for the isText. If you do this, make sure that
// all assignments to isText use 0 or 1 (or True or False), and that a
// positive number larger than 1 is never used to represent True.
- UInt size; /* size in bytes */
+ UInt size; /* size in bytes */
Bool isText;
+ Bool isIFunc; /* symbol is an indirect function? */
}
DiSym;
Modified: trunk/coregrind/m_debuginfo/readelf.c
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/coregrind/m_debuginfo/readelf.c 2009-10-29 09:27:11 UTC (rev 10920)
@@ -214,7 +214,8 @@
used on entry */
Bool* from_opd_out, /* ppc64-linux only: did we deref an
.opd entry? */
- Bool* is_text_out /* is this a text symbol? */
+ Bool* is_text_out, /* is this a text symbol? */
+ Bool* is_ifunc /* is this a STT_GNU_IFUNC function ?*/
)
{
Bool plausible;
@@ -232,6 +233,7 @@
*sym_size_out = (Int)sym->st_size;
*sym_tocptr_out = 0; /* unknown/inapplicable */
*from_opd_out = False;
+ *is_ifunc = False;
/* Figure out if we're interested in the symbol. Firstly, is it of
the right flavour? */
@@ -243,6 +245,9 @@
&&
(ELFXX_ST_TYPE(sym->st_info) == STT_FUNC
|| ELFXX_ST_TYPE(sym->st_info) == STT_OBJECT
+#ifdef STT_GNU_IFUNC
+ || ELFXX_ST_TYPE(sym->st_info) == STT_GNU_IFUNC
+#endif
);
/* Work out the svma and bias for each section as it will appear in
@@ -325,6 +330,14 @@
*sym_avma_out += text_bias;
}
+# ifdef STT_GNU_IFUNC
+ /* Check for indirect functions. */
+ if (*is_text_out
+ && ELFXX_ST_TYPE(sym->st_info) == STT_GNU_IFUNC) {
+ *is_ifunc = True;
+ }
+# endif
+
# if defined(VGP_ppc64_linux)
/* Allow STT_NOTYPE in the very special case where we're running on
ppc64-linux and the symbol is one which the .opd-chasing hack
@@ -570,7 +583,7 @@
Char *sym_name, *sym_name_really;
Int sym_size;
Addr sym_tocptr;
- Bool from_opd, is_text;
+ Bool from_opd, is_text, is_ifunc;
DiSym risym;
ElfXX_Sym *sym;
@@ -602,13 +615,14 @@
&sym_avma_really,
&sym_size,
&sym_tocptr,
- &from_opd, &is_text)) {
+ &from_opd, &is_text, &is_ifunc)) {
- risym.addr = sym_avma_really;
- risym.size = sym_size;
- risym.name = ML_(addStr) ( di, sym_name_really, -1 );
- risym.tocptr = sym_tocptr;
- risym.isText = is_text;
+ risym.addr = sym_avma_really;
+ risym.size = sym_size;
+ risym.name = ML_(addStr) ( di, sym_name_really, -1 );
+ risym.tocptr = sym_tocptr;
+ risym.isText = is_text;
+ risym.isIFunc = is_ifunc;
vg_assert(risym.name != NULL);
vg_assert(risym.tocptr == 0); /* has no role except on ppc64-linux */
ML_(addSym) ( di, &risym );
@@ -646,6 +660,7 @@
Int size;
Bool from_opd;
Bool is_text;
+ Bool is_ifunc;
}
TempSym;
@@ -671,7 +686,7 @@
Char *sym_name, *sym_name_really;
Int sym_size;
Addr sym_tocptr;
- Bool from_opd, modify_size, modify_tocptr, is_text;
+ Bool from_opd, modify_size, modify_tocptr, is_text, is_ifunc;
DiSym risym;
ElfXX_Sym *sym;
OSet *oset;
@@ -713,7 +728,7 @@
&sym_avma_really,
&sym_size,
&sym_tocptr,
- &from_opd, &is_text)) {
+ &from_opd, &is_text, &is_ifunc)) {
/* Check if we've seen this (name,addr) key before. */
key.addr = sym_avma_really;
@@ -785,6 +800,7 @@
elem->size = sym_size;
elem->from_opd = from_opd;
elem->is_text = is_text;
+ elem->is_ifunc = is_ifunc;
VG_(OSetGen_Insert)(oset, elem);
if (di->trace_symtab) {
VG_(printf)(" to-oset [%4ld]: "
@@ -808,11 +824,12 @@
VG_(OSetGen_ResetIter)( oset );
while ( (elem = VG_(OSetGen_Next)(oset)) ) {
- risym.addr = elem->key.addr;
- risym.size = elem->size;
- risym.name = ML_(addStr) ( di, elem->key.name, -1 );
- risym.tocptr = elem->tocptr;
- risym.isText = elem->is_text;
+ risym.addr = elem->key.addr;
+ risym.size = elem->size;
+ risym.name = ML_(addStr) ( di, elem->key.name, -1 );
+ risym.tocptr = elem->tocptr;
+ risym.isText = elem->is_text;
+ risym.isIFunc = elem->is_ifunc;
vg_assert(risym.name != NULL);
ML_(addSym) ( di, &risym );
Modified: trunk/coregrind/m_redir.c
===================================================================
--- trunk/coregrind/m_redir.c 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/coregrind/m_redir.c 2009-10-29 09:27:11 UTC (rev 10920)
@@ -268,12 +268,15 @@
TopSpec* parent_spec; /* the TopSpec which supplied the Spec */
TopSpec* parent_sym; /* the TopSpec which supplied the symbol */
Bool isWrap; /* wrap or replacement? */
+ Bool isIFunc; /* indirect function? */
}
Active;
/* The active set is a fast lookup table */
static OSet* activeSet = NULL;
+/* Wrapper routine for indirect functions */
+static Addr iFuncWrapper;
/*------------------------------------------------------------*/
/*--- FWDses ---*/
@@ -350,8 +353,8 @@
nsyms = VG_(DebugInfo_syms_howmany)( newsi );
for (i = 0; i < nsyms; i++) {
- VG_(DebugInfo_syms_getidx)( newsi, i, &sym_addr, &sym_toc,
- NULL, &sym_name, &isText );
+ VG_(DebugInfo_syms_getidx)( newsi, i, &sym_addr, &sym_toc,
+ NULL, &sym_name, &isText, NULL );
ok = VG_(maybe_Z_demangle)( sym_name, demangled_sopatt, N_DEMANGLED,
demangled_fnpatt, N_DEMANGLED, &isWrap );
/* ignore data symbols */
@@ -388,8 +391,8 @@
if (check_ppcTOCs) {
for (i = 0; i < nsyms; i++) {
- VG_(DebugInfo_syms_getidx)( newsi, i, &sym_addr, &sym_toc,
- NULL, &sym_name, &isText );
+ VG_(DebugInfo_syms_getidx)( newsi, i, &sym_addr, &sym_toc,
+ NULL, &sym_name, &isText, NULL );
ok = isText
&& VG_(maybe_Z_demangle)(
sym_name, demangled_sopatt, N_DEMANGLED,
@@ -470,7 +473,31 @@
#undef N_DEMANGLED
+/* Add a new target for an indirect function. Adds a new redirection
+ for the indirection function with address old_from that redirects
+ the ordinary function with address new_from to the target address
+ of the original redirection. */
+void VG_(redir_add_ifunc_target)( Addr old_from, Addr new_from )
+{
+ Active *old, new;
+
+ old = VG_(OSetGen_Lookup)(activeSet, &old_from);
+ vg_assert(old);
+ vg_assert(old->isIFunc);
+
+ new = *old;
+ new.from_addr = new_from;
+ new.isIFunc = False;
+ maybe_add_active (new);
+
+ if (VG_(clo_trace_redir)) {
+ VG_(message)( Vg_DebugMsg,
+ "Adding redirect for indirect function 0x%llx from 0x%llx -> 0x%llx\n",
+ (ULong)old_from, (ULong)new_from, (ULong)new.to_addr );
+ }
+}
+
/* Do one element of the basic cross product: add to the active set,
all matches resulting from comparing all the given specs against
all the symbols in the given seginfo. If a conflicting binding
@@ -487,7 +514,7 @@
)
{
Spec* sp;
- Bool anyMark, isText;
+ Bool anyMark, isText, isIFunc;
Active act;
Int nsyms, i;
Addr sym_addr;
@@ -513,7 +540,7 @@
nsyms = VG_(DebugInfo_syms_howmany)( di );
for (i = 0; i < nsyms; i++) {
VG_(DebugInfo_syms_getidx)( di, i, &sym_addr, NULL, NULL,
- &sym_name, &isText );
+ &sym_name, &isText, &isIFunc );
/* ignore data symbols */
if (!isText)
@@ -539,6 +566,7 @@
act.parent_spec = parent_spec;
act.parent_sym = parent_sym;
act.isWrap = sp->isWrap;
+ act.isIFunc = isIFunc;
sp->done = True;
maybe_add_active( act );
}
@@ -780,7 +808,9 @@
vg_assert(r->to_addr != 0);
if (isWrap)
- *isWrap = r->isWrap;
+ *isWrap = r->isWrap || r->isIFunc;
+ if (r->isIFunc)
+ return iFuncWrapper;
return r->to_addr;
}
@@ -1096,6 +1126,8 @@
if (VG_(strcmp)(symbol, VG_STRINGIFY(VG_NOTIFY_ON_LOAD(freeres))) == 0)
VG_(client___libc_freeres_wrapper) = addr;
+ else if (VG_(strcmp)(symbol, VG_STRINGIFY(VG_NOTIFY_ON_LOAD(ifunc_wrapper))) == 0)
+ iFuncWrapper = addr;
else
vg_assert2(0, "unrecognised load notification function: %s", symbol);
}
Modified: trunk/coregrind/m_scheduler/scheduler.c
===================================================================
--- trunk/coregrind/m_scheduler/scheduler.c 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/coregrind/m_scheduler/scheduler.c 2009-10-29 09:27:11 UTC (rev 10920)
@@ -89,6 +89,7 @@
#include "pub_core_debuginfo.h" // VG_(di_notify_pdb_debuginfo)
#include "priv_sema.h"
#include "pub_core_scheduler.h" // self
+#include "pub_core_redir.h"
/* ---------------------------------------------------------------------
@@ -1399,6 +1400,11 @@
SET_CLREQ_RETVAL( tid, count );
break; }
+ case VG_USERREQ__ADD_IFUNC_TARGET: {
+ VG_(redir_add_ifunc_target)( arg[1], arg[2] );
+ SET_CLREQ_RETVAL( tid, 0);
+ break; }
+
case VG_USERREQ__PRINTF_BACKTRACE: {
Int count =
VG_(vmessage)( Vg_ClientMsg, (char *)arg[1], (void*)arg[2] );
Modified: trunk/coregrind/pub_core_clreq.h
===================================================================
--- trunk/coregrind/pub_core_clreq.h 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/coregrind/pub_core_clreq.h 2009-10-29 09:27:11 UTC (rev 10920)
@@ -50,6 +50,9 @@
/* Internal equivalent of VALGRIND_PRINTF . */
VG_USERREQ__INTERNAL_PRINTF = 0x3103,
+ /* Add a target for an indirect function redirection. */
+ VG_USERREQ__ADD_IFUNC_TARGET = 0x3104,
+
} Vg_InternalClientRequest;
// Function for printing from code within Valgrind, but which runs on the
Modified: trunk/coregrind/pub_core_redir.h
===================================================================
--- trunk/coregrind/pub_core_redir.h 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/coregrind/pub_core_redir.h 2009-10-29 09:27:11 UTC (rev 10920)
@@ -58,6 +58,8 @@
/* Initialise the module, and load initial "hardwired" redirects. */
extern void VG_(redir_initialise)( void );
+/* Notify the module of a new target for an indirect function. */
+extern void VG_(redir_add_ifunc_target)( Addr old_from, Addr new_from );
//--------------------------------------------------------------------
// Queries
Modified: trunk/coregrind/vg_preloaded.c
===================================================================
--- trunk/coregrind/vg_preloaded.c 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/coregrind/vg_preloaded.c 2009-10-29 09:27:11 UTC (rev 10920)
@@ -47,12 +47,12 @@
#include "pub_core_debuginfo.h" // Needed for pub_core_redir.h
#include "pub_core_redir.h" // For VG_NOTIFY_ON_LOAD
+#if defined(VGO_linux) || defined(VGO_aix5)
+
/* ---------------------------------------------------------------------
Hook for running __libc_freeres once the program exits.
------------------------------------------------------------------ */
-#if defined(VGO_linux) || defined(VGO_aix5)
-
void VG_NOTIFY_ON_LOAD(freeres)( void );
void VG_NOTIFY_ON_LOAD(freeres)( void )
{
@@ -68,6 +68,31 @@
*(int *)0 = 'x';
}
+/* ---------------------------------------------------------------------
+ Wrapper for indirect functions which need to be redirected.
+ ------------------------------------------------------------------ */
+
+void * VG_NOTIFY_ON_LOAD(ifunc_wrapper) (void);
+void * VG_NOTIFY_ON_LOAD(ifunc_wrapper) (void)
+{
+ OrigFn fn;
+ Addr result = 0;
+ int res;
+
+ /* Call the original indirect function and get it's result */
+ VALGRIND_GET_ORIG_FN(fn);
+ CALL_FN_W_v(result, fn);
+
+ /* Ask the valgrind core running on the real CPU (as opposed to this
+ code which runs on the emulated CPU) to update the redirection that
+ led to this function. This client request eventually gives control to
+ the function VG_(redir_add_ifunc_target) in m_redir.c */
+ VALGRIND_DO_CLIENT_REQUEST(res, 0,
+ VG_USERREQ__ADD_IFUNC_TARGET,
+ fn.nraddr, result, 0, 0, 0);
+ return result;
+}
+
#elif defined(VGO_darwin)
/* ---------------------------------------------------------------------
Modified: trunk/include/pub_tool_debuginfo.h
===================================================================
--- trunk/include/pub_tool_debuginfo.h 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/include/pub_tool_debuginfo.h 2009-10-29 09:27:11 UTC (rev 10920)
@@ -212,7 +212,8 @@
/*OUT*/Addr* tocptr,
/*OUT*/UInt* size,
/*OUT*/HChar** name,
- /*OUT*/Bool* isText );
+ /*OUT*/Bool* isText,
+ /*OUT*/Bool* isIFunc );
/* A simple enumeration to describe the 'kind' of various kinds of
segments that arise from the mapping of object files. */
Modified: trunk/memcheck/mc_replace_strmem.c
===================================================================
--- trunk/memcheck/mc_replace_strmem.c 2009-10-29 09:01:39 UTC (rev 10919)
+++ trunk/memcheck/mc_replace_strmem.c 2009-10-29 09:27:11 UTC (rev 10920)
@@ -116,6 +116,7 @@
STRRCHR(VG_Z_LIBC_SONAME, strrchr)
STRRCHR(VG_Z_LIBC_SONAME, rindex)
#if defined(VGO_linux)
+STRRCHR(VG_Z_LIBC_SONAME, __GI_strrchr)
STRRCHR(VG_Z_LD_LINUX_SO_2, rindex)
#elif defined(VGO_darwin)
STRRCHR(VG_Z_DYLD, strrchr)
@@ -140,6 +141,7 @@
STRCHR(VG_Z_LIBC_SONAME, strchr)
STRCHR(VG_Z_LIBC_SONAME, index)
#if defined(VGO_linux)
+STRCHR(VG_Z_LIBC_SONAME, __GI_strchr)
STRCHR(VG_Z_LD_LINUX_SO_2, strchr)
STRCHR(VG_Z_LD_LINUX_SO_2, index)
STRCHR(VG_Z_LD_LINUX_X86_64_SO_2, strchr)
@@ -172,8 +174,10 @@
}
STRCAT(VG_Z_LIBC_SONAME, strcat)
+#if defined(VGO_linux)
+STRCAT(VG_Z_LIBC_SONAME, __GI_strcat)
+#endif
-
#define STRNCAT(soname, fnname) \
char* VG_REPLACE_FUNCTION_ZU(soname,fnname) \
( char* dst, const char* src, SizeT n ); \
@@ -257,6 +261,9 @@
}
STRNLEN(VG_Z_LIBC_SONAME, strnlen)
+#if defined(VGO_linux)
+STRNLEN(VG_Z_LIBC_SONAME, __GI_strnlen)
+#endif
// Note that this replacement often doesn't get used because gcc inlines
@@ -274,6 +281,7 @@
STRLEN(VG_Z_LIBC_SONAME, strlen)
#if defined(VGO_linux)
+STRLEN(VG_Z_LIBC_SONAME, __GI_strlen)
STRLEN(VG_Z_LD_LINUX_SO_2, strlen)
STRLEN(VG_Z_LD_LINUX_X86_64_SO_2, strlen)
#endif
@@ -301,7 +309,9 @@
}
STRCPY(VG_Z_LIBC_SONAME, strcpy)
-#if defined(VGO_darwin)
+#if defined(VGO_linux)
+STRCPY(VG_Z_LIBC_SONAME, __GI_strcpy)
+#elif defined(VGO_darwin)
STRCPY(VG_Z_DYLD, strcpy)
#endif
@@ -327,7 +337,9 @@
}
STRNCPY(VG_Z_LIBC_SONAME, strncpy)
-#if defined(VGO_darwin)
+#if defined(VGO_linux)
+STRNCPY(VG_Z_LIBC_SONAME, __GI_strncpy)
+#elif defined(VGO_darwin)
STRNCPY(VG_Z_DYLD, strncpy)
#endif
@@ -384,7 +396,9 @@
}
STRNCMP(VG_Z_LIBC_SONAME, strncmp)
-#if defined(VGO_darwin)
+#if defined(VGO_linux)
+STRNCMP(VG_Z_LIBC_SONAME, __GI_strncmp)
+#elif defined(VGO_darwin)
STRNCMP(VG_Z_DYLD, strncmp)
#endif
@@ -411,6 +425,7 @@
STRCMP(VG_Z_LIBC_SONAME, strcmp)
#if defined(VGO_linux)
+STRCMP(VG_Z_LIBC_SONAME, __GI_strcmp)
STRCMP(VG_Z_LD_LINUX_X86_64_SO_2, strcmp)
STRCMP(VG_Z_LD64_SO_1, strcmp)
#endif
@@ -557,6 +572,7 @@
STPCPY(VG_Z_LIBC_SONAME, stpcpy)
#if defined(VGO_linux)
+STPCPY(VG_Z_LIBC_SONAME, __GI_stpcpy)
STPCPY(VG_Z_LD_LINUX_SO_2, stpcpy)
STPCPY(VG_Z_LD_LINUX_X86_64_SO_2, stpcpy)
#elif defined(VGO_darwin)
@@ -709,8 +725,10 @@
}
GLIBC232_RAWMEMCHR(VG_Z_LIBC_SONAME, rawmemchr)
+#if defined (VGO_linux)
+GLIBC232_RAWMEMCHR(VG_Z_LIBC_SONAME, __GI___rawmemchr)
+#endif
-
/* glibc variant of strcpy that checks the dest is big enough.
Copied from glibc-2.5/debug/test-strcpy_chk.c. */
#define GLIBC25___STRCPY_CHK(soname,fnname) \
|
|
From: Konstantin S. <kon...@gm...> - 2009-10-29 09:19:33
|
This affects other systems calls, not just epoll_wait. I submitted https://bugs.kde.org/show_bug.cgi?id=212267 with an example for read() system call. I'd appreciate a comment. Thanks, --kcc On Wed, Oct 28, 2009 at 7:54 AM, Konstantin Serebryany < kon...@gm...> wrote: > Any suggestion? > > > On Thu, Oct 22, 2009 at 10:36 AM, Konstantin Serebryany < > kon...@gm...> wrote: > >> -valgrind-users >> +valgrind-developers >> >> I observe a situation where the number of invocations >> of PRE(sys_epoll_wait) is greater than the number of invocations >> of POST(sys_epoll_wait). >> Is that expected? >> >> This is causing memcheck to think that memory passed to epoll_wait() as a >> second parameter is left uninitialized... >> >> Thanks, >> >> --kcc >> >> >> >> >> >> On Tue, Oct 20, 2009 at 3:30 PM, Konstantin Serebryany < >> kon...@gm...> wrote: >> >>> Hi, >>> >>> I am investigating a memcheck's report near a call to epoll_wait(). >>> I am running my program (sorry, not small test case) with >>> --trace-syscalls=yes. >>> >>> Usually I get this: >>> SYSCALL[29628,125](232) sys_epoll_wait ( 62, 0x1540ca30, 1024, 1000 ) --> >>> [async] ... >>> SYSCALL[29628,125](232) ... [async] --> Success(0x0:0x0) >>> I assume these two lines come from PRE(sys_epoll_wait) and >>> POST(sys_epoll_wait). >>> >>> But sometimes I get this: >>> SYSCALL[29628,156](232) sys_epoll_wait ( 96, 0x15948a30, 1024, 417 ) --> >>> [async] ... >>> SYSCALL[29628,156]( 15) sys_rt_sigreturn ( ) --> [pre-success] >>> NoWriteResult >>> >>> So, POST(sys_epoll_wait) does not get called and memcheck thinks that the >>> second parameter of epoll_wait is uninitialized. >>> >>> What does this sys_rt_sigreturn mean? Why POST(sys_epoll_wait) is not >>> called? >>> Any idea? >>> >>> Thanks, >>> >>> --kcc >>> >>> >>> >>> >>> >> > |
|
From: <sv...@va...> - 2009-10-29 09:01:53
|
Author: bart
Date: 2009-10-29 09:01:39 +0000 (Thu, 29 Oct 2009)
New Revision: 10919
Log:
Compiles again -- added trailing comma's that were missing from r10907.
Modified:
trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2009-10-28 16:03:29 UTC (rev 10918)
+++ trunk/coregrind/m_syswrap/syswrap-ppc32-linux.c 2009-10-29 09:01:39 UTC (rev 10919)
@@ -1868,7 +1868,7 @@
// (__NR_dup3, sys_ni_syscall) // 316
LINXY(__NR_pipe2, sys_pipe2), // 317
LINXY(__NR_inotify_init1, sys_inotify_init1), // 318
- LINXY(__NR_perf_counter_open, sys_perf_counter_open) // 319
+ LINXY(__NR_perf_counter_open, sys_perf_counter_open),// 319
LINXY(__NR_preadv, sys_preadv), // 320
LINX_(__NR_pwritev, sys_pwritev), // 321
// (__NR_rt_tgsigqueueinfo, sys_ni_syscall) // 322
Modified: trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2009-10-28 16:03:29 UTC (rev 10918)
+++ trunk/coregrind/m_syswrap/syswrap-ppc64-linux.c 2009-10-29 09:01:39 UTC (rev 10919)
@@ -1508,7 +1508,7 @@
// (__NR_dup3, sys_ni_syscall) // 316
LINXY(__NR_pipe2, sys_pipe2), // 317
LINXY(__NR_inotify_init1, sys_inotify_init1), // 318
- LINXY(__NR_perf_counter_open, sys_perf_counter_open) // 319
+ LINXY(__NR_perf_counter_open, sys_perf_counter_open),// 319
LINXY(__NR_preadv, sys_preadv), // 320
LINX_(__NR_pwritev, sys_pwritev), // 321
// (__NR_rt_tgsigqueueinfo, sys_ni_syscall) // 322
|
|
From: Bart V. A. <bar...@gm...> - 2009-10-29 07:17:07
|
Nightly build on cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-10-29 02:23:10 EDT Ended at 2009-10-29 03:16:50 EDT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Last 20 lines of verbose log follow echo Making check in VEX make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-new/VEX' make check-am make[3]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-new/VEX' make[3]: Nothing to be done for `check-am'. make[3]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new/VEX' make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new/VEX' Making check in coregrind make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-new/coregrind' make check-am make[3]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-new/coregrind' gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_ppc64=1 -DVGO_linux=1 -DVGP_ppc64_linux=1 -I../coregrind -DVG_LIBDIR="\"/home/bart/software/valgrind/nightly/valgrind-new/Inst/lib/valgrind"\" -DVG_PLATFORM="\"ppc64-linux\"" -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -Wno-long-long -Wno-pointer-sign -Wdeclaration-after-statement -fno-stack-protector -MT libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.o -MD -MP -MF .deps/libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.Tpo -c -o libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.o `test -f 'm_syswrap/syswrap-ppc64-linux.c' || echo './'`m_syswrap/syswrap-ppc64-linux.c m_syswrap/syswrap-ppc64-linux.c:1512: error: expected â}â before â[â token make[3]: *** [libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.o] Error 1 make[3]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new/coregrind' make[2]: *** [check] Error 2 make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new/coregrind' make[1]: *** [check-recursive] Error 1 make[1]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new' make: *** [check] Error 2 ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 449 tests, 46 stderr failures, 10 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/linux/sigqueue (stderr) memcheck/tests/linux/timerfd-syscall (stdout) memcheck/tests/linux-syscalls-2007 (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) none/tests/empty-exe (stderr) none/tests/linux/mremap (stderr) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) none/tests/shell_zerolength (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/hsg (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Oct 29 03:05:04 2009 --- new.short Thu Oct 29 03:16:50 2009 *************** *** 6,66 **** ! Regression test results follow ! ! == 449 tests, 46 stderr failures, 10 stdout failures, 0 post failures == ! memcheck/tests/deep_templates (stdout) ! memcheck/tests/leak-cases-full (stderr) ! memcheck/tests/leak-cases-summary (stderr) ! memcheck/tests/leak-cycle (stderr) ! memcheck/tests/linux/sigqueue (stderr) ! memcheck/tests/linux/timerfd-syscall (stdout) ! memcheck/tests/linux-syscalls-2007 (stderr) ! memcheck/tests/origin5-bz2 (stderr) ! memcheck/tests/partiallydefinedeq (stderr) ! memcheck/tests/varinfo1 (stderr) ! memcheck/tests/varinfo2 (stderr) ! memcheck/tests/varinfo3 (stderr) ! memcheck/tests/varinfo4 (stderr) ! memcheck/tests/varinfo5 (stderr) ! memcheck/tests/varinfo6 (stderr) ! memcheck/tests/wrap8 (stdout) ! memcheck/tests/wrap8 (stderr) ! none/tests/empty-exe (stderr) ! none/tests/linux/mremap (stderr) ! none/tests/ppc32/jm-fp (stdout) ! none/tests/ppc32/jm-vmx (stdout) ! none/tests/ppc32/round (stdout) ! none/tests/ppc32/test_gx (stdout) ! none/tests/ppc64/jm-fp (stdout) ! none/tests/ppc64/jm-vmx (stdout) ! none/tests/ppc64/round (stdout) ! none/tests/shell_valid2 (stderr) ! none/tests/shell_valid3 (stderr) ! none/tests/shell_zerolength (stderr) ! helgrind/tests/hg05_race2 (stderr) ! helgrind/tests/tc06_two_races_xml (stderr) ! helgrind/tests/tc22_exit_w_lock (stderr) ! helgrind/tests/tc23_bogus_condwait (stderr) ! drd/tests/tc23_bogus_condwait (stderr) ! exp-ptrcheck/tests/bad_percentify (stderr) ! exp-ptrcheck/tests/base (stderr) ! exp-ptrcheck/tests/ccc (stderr) ! exp-ptrcheck/tests/fp (stderr) ! exp-ptrcheck/tests/globalerr (stderr) ! exp-ptrcheck/tests/hackedbz2 (stderr) ! exp-ptrcheck/tests/hp_bounds (stderr) ! exp-ptrcheck/tests/hp_dangle (stderr) ! exp-ptrcheck/tests/hsg (stderr) ! exp-ptrcheck/tests/justify (stderr) ! exp-ptrcheck/tests/partial_bad (stderr) ! exp-ptrcheck/tests/partial_good (stderr) ! exp-ptrcheck/tests/preen_invars (stderr) ! exp-ptrcheck/tests/pth_create (stderr) ! exp-ptrcheck/tests/pth_specific (stderr) ! exp-ptrcheck/tests/realloc (stderr) ! exp-ptrcheck/tests/stackerr (stderr) ! exp-ptrcheck/tests/strcpy (stderr) ! exp-ptrcheck/tests/supp (stderr) ! exp-ptrcheck/tests/tricky (stderr) ! exp-ptrcheck/tests/unaligned (stderr) ! exp-ptrcheck/tests/zero (stderr) ! --- 6,27 ---- ! Last 20 lines of verbose log follow echo ! Making check in VEX ! make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-new/VEX' ! make check-am ! make[3]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-new/VEX' ! make[3]: Nothing to be done for `check-am'. ! make[3]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new/VEX' ! make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new/VEX' ! Making check in coregrind ! make[2]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-new/coregrind' ! make check-am ! make[3]: Entering directory `/net/home/bart/software/valgrind/nightly/valgrind-new/coregrind' ! gcc -DHAVE_CONFIG_H -I. -I.. -I.. -I../include -I../VEX/pub -DVGA_ppc64=1 -DVGO_linux=1 -DVGP_ppc64_linux=1 -I../coregrind -DVG_LIBDIR="\"/home/bart/software/valgrind/nightly/valgrind-new/Inst/lib/valgrind"\" -DVG_PLATFORM="\"ppc64-linux\"" -m64 -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -Wno-long-long -Wno-pointer-sign -Wdeclaration-after-statement -fno-stack-protector -MT libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.o -MD -MP -MF .deps/libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.Tpo -c -o libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.o `test -f 'm_syswrap/syswrap-ppc64-linux.c' || echo './'`m_syswrap/syswrap-ppc64-linux.c ! m_syswrap/syswrap-ppc64-linux.c:1512: error: expected â}â before â[â token ! make[3]: *** [libcoregrind_ppc64_linux_a-syswrap-ppc64-linux.o] Error 1 ! make[3]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new/coregrind' ! make[2]: *** [check] Error 2 ! make[2]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new/coregrind' ! make[1]: *** [check-recursive] Error 1 ! make[1]: Leaving directory `/net/home/bart/software/valgrind/nightly/valgrind-new' ! make: *** [check] Error 2 |
|
From: Tom H. <th...@cy...> - 2009-10-29 03:51:16
|
Nightly build on vauxhall ( x86_64, Fedora 11 ) Started at 2009-10-29 03:20:06 GMT Ended at 2009-10-29 03:50:54 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 == 541 tests, 6 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) memcheck/tests/long_namespace_xml (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-ptrcheck/tests/bad_percentify (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 == 541 tests, 9 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/sigqueue (stderr) memcheck/tests/linux/stack_switch (stderr) memcheck/tests/long_namespace_xml (stderr) helgrind/tests/tc06_two_races_xml (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc23_bogus_condwait (stderr) drd/tests/qt4_mutex (stderr) drd/tests/qt4_rwlock (stderr) exp-ptrcheck/tests/bad_percentify (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Oct 29 03:35:32 2009 --- new.short Thu Oct 29 03:50:54 2009 *************** *** 8,11 **** ! == 541 tests, 9 stderr failures, 0 stdout failures, 0 post failures == ! memcheck/tests/linux/sigqueue (stderr) memcheck/tests/linux/stack_switch (stderr) --- 8,10 ---- ! == 541 tests, 6 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/stack_switch (stderr) *************** *** 15,18 **** helgrind/tests/tc23_bogus_condwait (stderr) - drd/tests/qt4_mutex (stderr) - drd/tests/qt4_rwlock (stderr) exp-ptrcheck/tests/bad_percentify (stderr) --- 14,15 ---- |
|
From: Tom H. <th...@cy...> - 2009-10-29 03:48:42
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-10-29 03:05:06 GMT Ended at 2009-10-29 03:48:23 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 == 531 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (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 == 531 tests, 2 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/sigqueue (stderr) helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Oct 29 03:26:41 2009 --- new.short Thu Oct 29 03:48:23 2009 *************** *** 8,11 **** ! == 531 tests, 2 stderr failures, 0 stdout failures, 0 post failures == ! memcheck/tests/linux/sigqueue (stderr) helgrind/tests/tc06_two_races_xml (stderr) --- 8,10 ---- ! == 531 tests, 1 stderr failure, 0 stdout failures, 0 post failures == helgrind/tests/tc06_two_races_xml (stderr) |
|
From: Tom H. <th...@cy...> - 2009-10-29 03:35:38
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-10-29 03:10:05 GMT Ended at 2009-10-29 03:35:20 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 == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == helgrind/tests/pth_spinlock (stderr) helgrind/tests/tc06_two_races_xml (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 == 538 tests, 16 stderr failures, 0 stdout failures, 0 post failures == memcheck/tests/linux/sigqueue (stderr) cachegrind/tests/chdir (stderr) cachegrind/tests/clreq (stderr) cachegrind/tests/dlclose (stderr) cachegrind/tests/notpower2 (stderr) cachegrind/tests/wrap5 (stderr) cachegrind/tests/x86/fpu-28-108 (stderr) callgrind/tests/notpower2-hwpref (stderr) callgrind/tests/notpower2-use (stderr) callgrind/tests/notpower2-wb (stderr) callgrind/tests/notpower2 (stderr) callgrind/tests/simwork1 (stderr) callgrind/tests/simwork2 (stderr) callgrind/tests/simwork3 (stderr) helgrind/tests/pth_spinlock (stderr) helgrind/tests/tc06_two_races_xml (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Oct 29 03:22:44 2009 --- new.short Thu Oct 29 03:35:20 2009 *************** *** 8,24 **** ! == 538 tests, 16 stderr failures, 0 stdout failures, 0 post failures == ! memcheck/tests/linux/sigqueue (stderr) ! cachegrind/tests/chdir (stderr) ! cachegrind/tests/clreq (stderr) ! cachegrind/tests/dlclose (stderr) ! cachegrind/tests/notpower2 (stderr) ! cachegrind/tests/wrap5 (stderr) ! cachegrind/tests/x86/fpu-28-108 (stderr) ! callgrind/tests/notpower2-hwpref (stderr) ! callgrind/tests/notpower2-use (stderr) ! callgrind/tests/notpower2-wb (stderr) ! callgrind/tests/notpower2 (stderr) ! callgrind/tests/simwork1 (stderr) ! callgrind/tests/simwork2 (stderr) ! callgrind/tests/simwork3 (stderr) helgrind/tests/pth_spinlock (stderr) --- 8,10 ---- ! == 538 tests, 2 stderr failures, 0 stdout failures, 0 post failures == helgrind/tests/pth_spinlock (stderr) |