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
(4) |
2
|
3
(2) |
4
(11) |
5
(3) |
6
(15) |
|
7
(8) |
8
(8) |
9
(9) |
10
(13) |
11
(11) |
12
(2) |
13
(13) |
|
14
(12) |
15
(15) |
16
(15) |
17
(18) |
18
(10) |
19
(2) |
20
(11) |
|
21
(14) |
22
(10) |
23
(2) |
24
(11) |
25
(5) |
26
|
27
|
|
28
(1) |
29
(22) |
30
(7) |
31
(2) |
|
|
|
|
From: <sv...@va...> - 2014-12-29 22:19:41
|
Author: florian
Date: Mon Dec 29 22:19:24 2014
New Revision: 14839
Log:
Import offsetof and vg_alignof from VEX (tracking VEX r3049).
Modified:
trunk/include/pub_tool_basics.h
Modified: trunk/include/pub_tool_basics.h
==============================================================================
--- trunk/include/pub_tool_basics.h (original)
+++ trunk/include/pub_tool_basics.h Mon Dec 29 22:19:24 2014
@@ -294,6 +294,33 @@
# error Unknown arch
#endif
+/* Offsetof */
+#if !defined(offsetof)
+# define offsetof(type,memb) ((SizeT)(HWord)&((type*)0)->memb)
+#endif
+
+/* Alignment */
+/* We use a prefix vg_ for vg_alignof as its behaviour slightly
+ differs from the standard alignof/gcc defined __alignof__
+
+ vg_alignof returns a "safe" alignement.
+ "safe" is defined as the alignment chosen by the compiler in
+ a struct made of a char followed by this type.
+
+ Note that this is not necessarily the "preferred" alignment
+ for a platform. This preferred alignment is returned by the gcc
+ __alignof__ and by the standard (in recent standard) alignof.
+ Compared to __alignof__, vg_alignof gives on some platforms (e.g.
+ amd64, ppc32, ppc64) a bigger alignment for long double (16 bytes
+ instead of 8).
+ On some platforms (e.g. x86), vg_alignof gives a smaller alignment
+ than __alignof__ for long long and double (4 bytes instead of 8).
+ If we want to have the "preferred" alignment for the basic types,
+ then either we need to depend on gcc __alignof__, or on a (too)
+ recent standard and compiler (implementing <stdalign.h>).
+*/
+#define vg_alignof(_type) (sizeof(struct {char c;_type _t;})-sizeof(_type))
+
/* Regparmness */
#if defined(VGA_x86)
# define VG_REGPARM(n) __attribute__((regparm(n)))
|
|
From: <sv...@va...> - 2014-12-29 22:19:06
|
Author: florian
Date: Mon Dec 29 22:18:58 2014
New Revision: 3049
Log:
As a library, VEX should not export the offsetof and vg_alignof
macros. The latter isn't even used by VEX.
Move them to pub_tool_basics.h.
offsetof also goes to VEX's private header main_util.h.
Modified:
trunk/priv/main_util.h
trunk/pub/libvex_basictypes.h
Modified: trunk/priv/main_util.h
==============================================================================
--- trunk/priv/main_util.h (original)
+++ trunk/priv/main_util.h Mon Dec 29 22:18:58 2014
@@ -46,6 +46,10 @@
#define LIKELY(x) __builtin_expect(!!(x), 1)
#define UNLIKELY(x) __builtin_expect(!!(x), 0)
+#if !defined(offsetof)
+# define offsetof(type,memb) ((SizeT)(HWord)&((type*)0)->memb)
+#endif
+
/* Stuff for panicking and assertion. */
#define VG__STRING(__str) #__str
Modified: trunk/pub/libvex_basictypes.h
==============================================================================
--- trunk/pub/libvex_basictypes.h (original)
+++ trunk/pub/libvex_basictypes.h Mon Dec 29 22:18:58 2014
@@ -139,36 +139,6 @@
typedef unsigned long HWord;
-/* This is so useful it should be visible absolutely everywhere. */
-#if !defined(offsetof)
-# define offsetof(type,memb) ((SizeT)(HWord)&((type*)0)->memb)
-#endif
-/* Our definition of offsetof is giving the same result as
- the standard/predefined offsetof. So, we use the same name.
- We use a prefix vg_ for vg_alignof as its behaviour slightly
- differs from the standard alignof/gcc defined __alignof__
-*/
-
-#define vg_alignof(_type) (sizeof(struct {char c;_type _t;})-sizeof(_type))
-/* vg_alignof returns a "safe" alignement.
- "safe" is defined as the alignment chosen by the compiler in
- a struct made of a char followed by this type.
-
- Note that this is not necessarily the "preferred" alignment
- for a platform. This preferred alignment is returned by the gcc
- __alignof__ and by the standard (in recent standard) alignof.
- Compared to __alignof__, vg_alignof gives on some platforms (e.g.
- amd64, ppc32, ppc64) a bigger alignment for long double (16 bytes
- instead of 8).
- On some platforms (e.g. x86), vg_alignof gives a smaller alignment
- than __alignof__ for long long and double (4 bytes instead of 8).
- If we want to have the "preferred" alignment for the basic types,
- then either we need to depend on gcc __alignof__, or on a (too)
- recent standard and compiler (implementing <stdalign.h>).
-*/
-
-
-
/* We need to know the host word size in order to write Ptr_to_ULong
and ULong_to_Ptr in a way that doesn't cause compilers to complain.
These functions allow us to cast pointers to and from 64-bit
|
|
From: <sv...@va...> - 2014-12-29 22:07:54
|
Author: florian
Date: Mon Dec 29 22:07:35 2014
New Revision: 14838
Log:
Add a command line option to allow the user to provide an upper bound
for the number of connected processes. This is still lame but better
than asking her to recompile.
Part of fixing BZ #337869.
Modified:
trunk/auxprogs/valgrind-listener.c
trunk/docs/xml/manual-core.xml
Modified: trunk/auxprogs/valgrind-listener.c
==============================================================================
--- trunk/auxprogs/valgrind-listener.c (original)
+++ trunk/auxprogs/valgrind-listener.c Mon Dec 29 22:07:35 2014
@@ -57,9 +57,13 @@
/*---------------------------------------------------------------*/
-/* The maximum allowable number concurrent connections. */
-#define M_CONNECTIONS 50
+/* The default allowable number of concurrent connections. */
+#define M_CONNECTIONS_DEFAULT 50
+/* The maximum allowable number of concurrent connections. */
+#define M_CONNECTIONS_MAX 5000
+/* The maximum allowable number of concurrent connections. */
+unsigned M_CONNECTIONS = 0;
/*---------------------------------------------------------------*/
@@ -98,8 +102,8 @@
/* holds the fds for connections; zero if slot not in use. */
int conn_count = 0;
-int conn_fd[M_CONNECTIONS];
-struct pollfd conn_pollfd[M_CONNECTIONS];
+int *conn_fd;
+struct pollfd *conn_pollfd;
static void set_nonblocking ( int sd )
@@ -167,8 +171,8 @@
}
-/* returns 0 if invalid, else port # */
-static int atoi_portno ( const char* str )
+/* returns 0 if negative, or > BOUND or invalid characters were found */
+static int atoi_with_bound ( const char* str, int bound )
{
int n = 0;
while (1) {
@@ -178,9 +182,17 @@
return 0;
n = 10*n + (int)(*str - '0');
str++;
- if (n >= 65536)
+ if (n >= bound)
return 0;
}
+ return n;
+}
+
+/* returns 0 if invalid, else port # */
+static int atoi_portno ( const char* str )
+{
+ int n = atoi_with_bound(str, 65536);
+
if (n < 1024)
return 0;
return n;
@@ -193,18 +205,22 @@
"\n"
"usage is:\n"
"\n"
- " valgrind-listener [--exit-at-zero|-e] [port-number]\n"
+ " valgrind-listener [--exit-at-zero|-e] [--max-connect=INT] [port-number]\n"
"\n"
" where --exit-at-zero or -e causes the listener to exit\n"
" when the number of connections falls back to zero\n"
" (the default is to keep listening forever)\n"
"\n"
+ " --max-connect=INT can be used to increase the maximum\n"
+ " number of connected processes (default = %d).\n"
+ " INT must be positive and less than %d.\n"
+ "\n"
" port-number is the default port on which to listen for\n"
" connections. It must be between 1024 and 65535.\n"
" Current default is %d.\n"
"\n"
,
- VG_CLO_DEFAULT_LOGPORT
+ M_CONNECTIONS_DEFAULT, M_CONNECTIONS_MAX, VG_CLO_DEFAULT_LOGPORT
);
exit(1);
}
@@ -247,6 +263,11 @@
|| 0==strcmp(argv[i], "-e")) {
exit_when_zero = 1;
}
+ else if (0 == strncmp(argv[i], "--max-connect=", 14)) {
+ M_CONNECTIONS = atoi_with_bound(strchr(argv[i], '=') + 1, 5000);
+ if (M_CONNECTIONS <= 0 || M_CONNECTIONS > M_CONNECTIONS_MAX)
+ usage();
+ }
else
if (atoi_portno(argv[i]) > 0) {
port = atoi_portno(argv[i]);
@@ -255,6 +276,16 @@
usage();
}
+ if (M_CONNECTIONS == 0) // nothing specified on command line
+ M_CONNECTIONS = M_CONNECTIONS_DEFAULT;
+
+ conn_fd = malloc(M_CONNECTIONS * sizeof conn_fd[0]);
+ conn_pollfd = malloc(M_CONNECTIONS * sizeof conn_pollfd[0]);
+ if (conn_fd == NULL || conn_pollfd == NULL) {
+ fprintf(stderr, "Memory allocation failed; cannot continue.\n");
+ exit(1);
+ }
+
banner("started");
signal(SIGINT, sigint_handler);
@@ -326,9 +357,11 @@
break;
if (i >= M_CONNECTIONS) {
- fprintf(stderr, "Too many concurrent connections. "
- "Increase M_CONNECTIONS and recompile.\n");
- panic("main -- too many concurrent connections");
+ fprintf(stderr, "\n\nMore than %d concurrent connections.\n"
+ "Restart the listener giving --max-connect=INT on the\n"
+ "commandline to increase the limit.\n\n",
+ M_CONNECTIONS);
+ exit(1);
}
conn_fd[i] = new_sd;
Modified: trunk/docs/xml/manual-core.xml
==============================================================================
--- trunk/docs/xml/manual-core.xml (original)
+++ trunk/docs/xml/manual-core.xml Mon Dec 29 22:07:35 2014
@@ -236,7 +236,7 @@
of each line of output it prints the current number of active
connections in round brackets.</para>
- <para><computeroutput>valgrind-listener</computeroutput> accepts two
+ <para><computeroutput>valgrind-listener</computeroutput> accepts three
command-line options:</para>
<!-- start of xi:include in the manpage -->
<variablelist id="listener.opts.list">
@@ -249,6 +249,16 @@
</listitem>
</varlistentry>
<varlistentry>
+ <term><option>--max-connext=INTEGER</option></term>
+ <listitem>
+ <para>By default, the listener can connect to up to 50 processes.
+ Occasionally, that number is too small. Use this option to
+ provide a different limit. E.g.
+ <computeroutput>--max-connext=100</computeroutput>.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
<term><option>portnumber</option></term>
<listitem>
<para>Changes the port it listens on from the default (1500).
|
|
From: <sv...@va...> - 2014-12-29 21:05:57
|
Author: florian
Date: Mon Dec 29 21:05:37 2014
New Revision: 3048
Log:
Add a missing header file.
Modified:
trunk/priv/ir_match.h
Modified: trunk/priv/ir_match.h
==============================================================================
--- trunk/priv/ir_match.h (original)
+++ trunk/priv/ir_match.h Mon Dec 29 21:05:37 2014
@@ -40,7 +40,7 @@
#include "libvex_basictypes.h"
#include "libvex_ir.h"
-
+#include "main_util.h" // NULL
/* Patterns are simply IRExpr* trees, with IRExpr_Binder nodes at the
leaves, indicating binding points. Use these magic macros to
@@ -83,8 +83,6 @@
#endif /* ndef __VEX_IR_MATCH_H */
-
-
/*---------------------------------------------------------------*/
/*--- end ir_match.h ---*/
/*---------------------------------------------------------------*/
|
|
From: <sv...@va...> - 2014-12-29 20:23:29
|
Author: florian
Date: Mon Dec 29 20:23:11 2014
New Revision: 14837
Log:
Change a logging function to use SizeT (tracking VEX r3047).
Modified:
trunk/coregrind/m_translate.c
Modified: trunk/coregrind/m_translate.c
==============================================================================
--- trunk/coregrind/m_translate.c (original)
+++ trunk/coregrind/m_translate.c Mon Dec 29 20:23:11 2014
@@ -734,11 +734,12 @@
}
static
-void log_bytes ( HChar* bytes, Int nbytes )
+void log_bytes ( const HChar* bytes, SizeT nbytes )
{
- Int i;
- for (i = 0; i < nbytes-3; i += 4)
- VG_(printf)("%c%c%c%c", bytes[i], bytes[i+1], bytes[i+2], bytes[i+3]);
+ SizeT i = 0;
+ if (nbytes >= 4)
+ for (; i < nbytes-3; i += 4)
+ VG_(printf)("%c%c%c%c", bytes[i], bytes[i+1], bytes[i+2], bytes[i+3]);
for (; i < nbytes; i++)
VG_(printf)("%c", bytes[i]);
}
|
Author: florian
Date: Mon Dec 29 20:22:26 2014
New Revision: 3047
Log:
Change a few prototypes to use SizeT.
Also, offsetof returns a SizeT value.
Modified:
trunk/priv/main_globals.c
trunk/priv/main_globals.h
trunk/priv/main_main.c
trunk/priv/main_util.c
trunk/priv/main_util.h
trunk/pub/libvex.h
trunk/pub/libvex_basictypes.h
Modified: trunk/priv/main_globals.c
==============================================================================
--- trunk/priv/main_globals.c (original)
+++ trunk/priv/main_globals.c Mon Dec 29 20:22:26 2014
@@ -50,7 +50,7 @@
void (*vex_failure_exit) ( void ) = NULL;
/* logging output function */
-void (*vex_log_bytes) ( HChar*, Int nbytes ) = NULL;
+void (*vex_log_bytes) ( const HChar*, SizeT nbytes ) = NULL;
/* debug paranoia level */
Int vex_debuglevel = 0;
Modified: trunk/priv/main_globals.h
==============================================================================
--- trunk/priv/main_globals.h (original)
+++ trunk/priv/main_globals.h Mon Dec 29 20:22:26 2014
@@ -51,7 +51,7 @@
extern void (*vex_failure_exit) ( void );
/* logging output function */
-extern void (*vex_log_bytes) ( HChar*, Int nbytes );
+extern void (*vex_log_bytes) ( const HChar*, SizeT nbytes );
/* debug paranoia level */
extern Int vex_debuglevel;
Modified: trunk/priv/main_main.c
==============================================================================
--- trunk/priv/main_main.c (original)
+++ trunk/priv/main_main.c Mon Dec 29 20:22:26 2014
@@ -111,7 +111,7 @@
__attribute__ ((noreturn))
void (*failure_exit) ( void ),
/* logging output function */
- void (*log_bytes) ( HChar*, Int nbytes ),
+ void (*log_bytes) ( const HChar*, SizeT nbytes ),
/* debug paranoia level */
Int debuglevel,
/* Control ... */
Modified: trunk/priv/main_util.c
==============================================================================
--- trunk/priv/main_util.c (original)
+++ trunk/priv/main_util.c Mon Dec 29 20:22:26 2014
@@ -203,7 +203,7 @@
translation of the current basic block is complete.
*/
-void* LibVEX_Alloc ( Int nbytes )
+void* LibVEX_Alloc ( SizeT nbytes )
{
struct align {
char c;
@@ -229,7 +229,7 @@
#else
HChar* curr;
HChar* next;
- Int ALIGN;
+ SizeT ALIGN;
ALIGN = offsetof(struct align,x) - 1;
nbytes = (nbytes + ALIGN) & ~ALIGN;
curr = private_LibVEX_alloc_curr;
@@ -280,9 +280,9 @@
New code for vex_util.c should go above this point. */
#include <stdarg.h>
-Int vex_strlen ( const HChar* str )
+SizeT vex_strlen ( const HChar* str )
{
- Int i = 0;
+ SizeT i = 0;
while (str[i] != 0) i++;
return i;
}
@@ -299,9 +299,9 @@
}
}
-void vex_bzero ( void* sV, UInt n )
+void vex_bzero ( void* sV, SizeT n )
{
- UInt i;
+ SizeT i;
UChar* s = (UChar*)sV;
/* No laughing, please. Just don't call this too often. Thank you
for your attention. */
@@ -379,7 +379,8 @@
const HChar* saved_format;
Bool longlong, ljustify, is_sizet;
HChar padchar;
- Int fwidth, nout, len1, len2, len3;
+ Int fwidth, nout, len1, len3;
+ SizeT len2;
HChar intbuf[100]; /* big enough for a 64-bit # in base 2 */
nout = 0;
@@ -413,6 +414,7 @@
}
if (*format == '*') {
fwidth = va_arg(ap, Int);
+ vassert(fwidth >= 0);
format++;
} else {
while (*format >= '0' && *format <= '9') {
Modified: trunk/priv/main_util.h
==============================================================================
--- trunk/priv/main_util.h (original)
+++ trunk/priv/main_util.h Mon Dec 29 20:22:26 2014
@@ -78,8 +78,8 @@
/* String ops */
extern Bool vex_streq ( const HChar* s1, const HChar* s2 );
-extern Int vex_strlen ( const HChar* str );
-extern void vex_bzero ( void* s, UInt n );
+extern SizeT vex_strlen ( const HChar* str );
+extern void vex_bzero ( void* s, SizeT n );
/* Storage management: clear the area, and allocate from it. */
Modified: trunk/pub/libvex.h
==============================================================================
--- trunk/pub/libvex.h (original)
+++ trunk/pub/libvex.h Mon Dec 29 20:22:26 2014
@@ -453,7 +453,7 @@
callback that you have previously specified in a call to
LibVEX_Translate. The storage allocated will only stay alive until
translation of the current basic block is complete. */
-extern void* LibVEX_Alloc ( Int nbytes );
+extern void* LibVEX_Alloc ( SizeT nbytes );
/* Show Vex allocation statistics. */
extern void LibVEX_ShowAllocStats ( void );
@@ -532,7 +532,7 @@
void (*failure_exit) ( void ),
/* logging output function */
- void (*log_bytes) ( HChar*, Int nbytes ),
+ void (*log_bytes) ( const HChar*, SizeT nbytes ),
/* debug paranoia level */
Int debuglevel,
Modified: trunk/pub/libvex_basictypes.h
==============================================================================
--- trunk/pub/libvex_basictypes.h (original)
+++ trunk/pub/libvex_basictypes.h Mon Dec 29 20:22:26 2014
@@ -141,7 +141,7 @@
/* This is so useful it should be visible absolutely everywhere. */
#if !defined(offsetof)
-# define offsetof(type,memb) ((Int)(HWord)&((type*)0)->memb)
+# define offsetof(type,memb) ((SizeT)(HWord)&((type*)0)->memb)
#endif
/* Our definition of offsetof is giving the same result as
the standard/predefined offsetof. So, we use the same name.
|
|
From: <sv...@va...> - 2014-12-29 19:06:58
|
Author: florian
Date: Mon Dec 29 19:06:40 2014
New Revision: 14836
Log:
Move definition of type SizeT to VEX (see VEX r3046).
Enhance printeffery to print SizeT values.
Modified:
trunk/coregrind/m_debuglog.c
trunk/include/pub_tool_basics.h
Modified: trunk/coregrind/m_debuglog.c
==============================================================================
--- trunk/coregrind/m_debuglog.c (original)
+++ trunk/coregrind/m_debuglog.c Mon Dec 29 19:06:40 2014
@@ -731,7 +731,7 @@
Int flags;
Int width, precision;
Int n_ls = 0;
- Bool is_long, caps;
+ Bool is_long, is_sizet, caps;
/* We assume that vargs has already been initialised by the
caller, using va_start, and that the caller will similarly
@@ -811,9 +811,15 @@
}
}
}
- while (format[i] == 'l') {
- i++;
- n_ls++;
+
+ is_sizet = False;
+ if (format[i] == 'z') {
+ is_sizet = True;
+ } else {
+ while (format[i] == 'l') {
+ i++;
+ n_ls++;
+ }
}
// %d means print a 32-bit integer.
@@ -829,7 +835,10 @@
ret += 2;
send('0',send_arg2);
}
- if (is_long)
+ if (is_sizet)
+ ret += myvprintf_int64(send, send_arg2, flags, 8, width, False,
+ (ULong)(va_arg (vargs, SizeT)));
+ else if (is_long)
ret += myvprintf_int64(send, send_arg2, flags, 8, width, False,
(ULong)(va_arg (vargs, ULong)));
else
@@ -846,7 +855,10 @@
(ULong)(va_arg (vargs, Int)));
break;
case 'u': /* %u */
- if (is_long)
+ if (is_sizet)
+ ret += myvprintf_int64(send, send_arg2, flags, 10, width, False,
+ (ULong)(va_arg (vargs, SizeT)));
+ else if (is_long)
ret += myvprintf_int64(send, send_arg2, flags, 10, width, False,
(ULong)(va_arg (vargs, ULong)));
else
@@ -890,7 +902,10 @@
send('0',send_arg2);
send('x',send_arg2);
}
- if (is_long)
+ if (is_sizet)
+ ret += myvprintf_int64(send, send_arg2, flags, 16, width, False,
+ (ULong)(va_arg (vargs, SizeT)));
+ else if (is_long)
ret += myvprintf_int64(send, send_arg2, flags, 16, width, caps,
(ULong)(va_arg (vargs, ULong)));
else
Modified: trunk/include/pub_tool_basics.h
==============================================================================
--- trunk/include/pub_tool_basics.h (original)
+++ trunk/include/pub_tool_basics.h Mon Dec 29 19:06:40 2014
@@ -42,7 +42,7 @@
Other headers to include
------------------------------------------------------------------ */
-// VEX defines Char, UChar, Short, UShort, Int, UInt, Long, ULong,
+// VEX defines Char, UChar, Short, UShort, Int, UInt, Long, ULong, SizeT,
// Addr32, Addr64, HWord, HChar, Bool, False and True.
#include "libvex_basictypes.h"
@@ -89,10 +89,8 @@
// Addr is for holding an address.
typedef UWord Addr; // 32 64
-// Our equivalents of POSIX 'size_t' and 'ssize_t':
-// - size_t is an "unsigned integer type of the result of the sizeof operator".
+// Our equivalent of POSIX 'ssize_t':
// - ssize_t is "used for a count of bytes or an error indication".
-typedef UWord SizeT; // 32 64
typedef Word SSizeT; // 32 64
// Our equivalent of POSIX 'ptrdiff_t':
|
|
From: <sv...@va...> - 2014-12-29 19:05:44
|
Author: florian
Date: Mon Dec 29 19:05:37 2014
New Revision: 3046
Log:
Add type SizeT (moved here from valgrind's pub_tool_basics.h).
Enhance vprintf_wrk to print such values (%zu, %zx, %zX).
Modified:
trunk/priv/main_util.c
trunk/pub/libvex_basictypes.h
Modified: trunk/priv/main_util.c
==============================================================================
--- trunk/priv/main_util.c (original)
+++ trunk/priv/main_util.c Mon Dec 29 19:05:37 2014
@@ -377,7 +377,7 @@
while (0)
const HChar* saved_format;
- Bool longlong, ljustify;
+ Bool longlong, ljustify, is_sizet;
HChar padchar;
Int fwidth, nout, len1, len2, len3;
HChar intbuf[100]; /* big enough for a 64-bit # in base 2 */
@@ -397,7 +397,7 @@
}
saved_format = format;
- longlong = False;
+ longlong = is_sizet = False;
ljustify = False;
padchar = ' ';
fwidth = 0;
@@ -424,8 +424,11 @@
format++;
if (*format == 'l') {
format++;
- longlong = True;
+ longlong = True;
}
+ } else if (*format == 'z') {
+ format++;
+ is_sizet = True;
}
switch (*format) {
@@ -454,6 +457,7 @@
}
case 'd': {
Long l;
+ vassert(is_sizet == False); // %zd is obscure; we don't allow it
if (longlong) {
l = va_arg(ap, Long);
} else {
@@ -474,7 +478,9 @@
Int base = *format == 'u' ? 10 : 16;
Bool hexcaps = True; /* *format == 'X'; */
ULong l;
- if (longlong) {
+ if (is_sizet) {
+ l = (ULong)va_arg(ap, SizeT);
+ } else if (longlong) {
l = va_arg(ap, ULong);
} else {
l = (ULong)va_arg(ap, UInt);
Modified: trunk/pub/libvex_basictypes.h
==============================================================================
--- trunk/pub/libvex_basictypes.h (original)
+++ trunk/pub/libvex_basictypes.h Mon Dec 29 19:05:37 2014
@@ -59,6 +59,12 @@
typedef unsigned long long int ULong;
typedef signed long long int Long;
+/* Equivalent of C's size_t type. The type is unsigned and has this
+ storage requirement:
+ 32 bits on a 32-bit architecture
+ 64 bits on a 64-bit architecture. */
+typedef unsigned long SizeT;
+
/* Always 128 bits. */
typedef UInt U128[4];
|
|
From: <sv...@va...> - 2014-12-29 18:30:54
|
Author: philippe
Date: Mon Dec 29 18:24:37 2014
New Revision: 14835
Log:
Fix 342221 - socket connect produce false positive saying access to uninitialized memory area
As we check what follows af_family, the length to check must be decreased
by sizeof(af_maily)
Modified:
trunk/NEWS
trunk/coregrind/m_syswrap/syswrap-generic.c
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Mon Dec 29 18:24:37 2014
@@ -98,6 +98,7 @@
segment if it is past the heap end
341789 aarch64: shmat fails with valgrind on ARMv8
342063 wrong format specifier for test mcblocklistsearch in gdbserver_tests
+342221 socket connect false positive uninit memory for unknown af family
n-i-bz Provide implementations of certain compiler builtins to support
compilers who may not provide those
n-i-bz Old STABS code is still being compiled, but never used. Remove it.
Modified: trunk/coregrind/m_syswrap/syswrap-generic.c
==============================================================================
--- trunk/coregrind/m_syswrap/syswrap-generic.c (original)
+++ trunk/coregrind/m_syswrap/syswrap-generic.c Mon Dec 29 18:24:37 2014
@@ -1126,7 +1126,7 @@
struct sockaddr_???? has padding bytes between its elements. */
VG_(sprintf) ( outmsg, description, "sa_data" );
PRE_MEM_READ( outmsg, (Addr)&sa->sa_family + sizeof(sa->sa_family),
- salen );
+ salen - sizeof(sa->sa_family));
break;
}
|
Author: florian
Date: Mon Dec 29 17:04:46 2014
New Revision: 14834
Log:
Remove the type AddrH. The code assumes in many places that the host
and guest architecture are the same. So the type is really pointless
nowadays.
Modified:
trunk/coregrind/m_aspacemgr/aspacemgr-common.c
trunk/coregrind/m_mallocfree.c
trunk/coregrind/m_scheduler/scheduler.c
trunk/coregrind/m_transtab.c
trunk/coregrind/pub_core_transtab.h
trunk/include/pub_tool_basics.h
Modified: trunk/coregrind/m_aspacemgr/aspacemgr-common.c
==============================================================================
--- trunk/coregrind/m_aspacemgr/aspacemgr-common.c (original)
+++ trunk/coregrind/m_aspacemgr/aspacemgr-common.c Mon Dec 29 17:04:46 2014
@@ -376,7 +376,7 @@
if (sr_isError(sres))
return NULL;
- stack = (VgStack*)(AddrH)sr_Res(sres);
+ stack = (VgStack*)(Addr)sr_Res(sres);
aspacem_assert(VG_IS_PAGE_ALIGNED(szB));
aspacem_assert(VG_IS_PAGE_ALIGNED(stack));
Modified: trunk/coregrind/m_mallocfree.c
==============================================================================
--- trunk/coregrind/m_mallocfree.c (original)
+++ trunk/coregrind/m_mallocfree.c Mon Dec 29 17:04:46 2014
@@ -857,7 +857,7 @@
( cszB, VKI_PROT_READ|VKI_PROT_WRITE|VKI_PROT_EXEC );
if (sr_isError(sres))
return 0;
- sb = (Superblock*)(AddrH)sr_Res(sres);
+ sb = (Superblock*)(Addr)sr_Res(sres);
// Mark this segment as containing client heap. The leak
// checker needs to be able to identify such segments so as not
// to use them as sources of roots during leak checks.
@@ -870,7 +870,7 @@
/* NOTREACHED */
sb = NULL; /* keep gcc happy */
} else {
- sb = (Superblock*)(AddrH)sr_Res(sres);
+ sb = (Superblock*)(Addr)sr_Res(sres);
}
}
vg_assert(NULL != sb);
@@ -1763,7 +1763,7 @@
a->sblocks_size * 2);
/* NOTREACHED */
}
- array = (Superblock**)(AddrH)sr_Res(sres);
+ array = (Superblock**)(Addr)sr_Res(sres);
for (i = 0; i < a->sblocks_used; ++i) array[i] = a->sblocks[i];
a->sblocks_size *= 2;
Modified: trunk/coregrind/m_scheduler/scheduler.c
==============================================================================
--- trunk/coregrind/m_scheduler/scheduler.c (original)
+++ trunk/coregrind/m_scheduler/scheduler.c Mon Dec 29 17:04:46 2014
@@ -876,7 +876,7 @@
if (LIKELY(VG_(tt_fast)[cno].guest == (Addr)tst->arch.vex.VG_INSTR_PTR))
host_code_addr = VG_(tt_fast)[cno].host;
else {
- AddrH res = 0;
+ Addr res = 0;
/* not found in VG_(tt_fast). Searching here the transtab
improves the performance compared to returning directly
to the scheduler. */
@@ -1128,7 +1128,7 @@
/* Clear return area. */
two_words[0] = two_words[1] = 0;
- AddrH hcode = 0;
+ Addr hcode = 0;
Addr ip = VG_(get_IP)(tid);
Bool found = VG_(search_unredir_transtab)( &hcode, ip );
Modified: trunk/coregrind/m_transtab.c
==============================================================================
--- trunk/coregrind/m_transtab.c (original)
+++ trunk/coregrind/m_transtab.c Mon Dec 29 17:04:46 2014
@@ -1389,7 +1389,7 @@
8 * tc_sector_szQ );
/*NOTREACHED*/
}
- sec->tc = (ULong*)(AddrH)sr_Res(sres);
+ sec->tc = (ULong*)(Addr)sr_Res(sres);
sres = VG_(am_mmap_anon_float_valgrind)
( N_TTES_PER_SECTOR * sizeof(TTEntry) );
@@ -1398,7 +1398,7 @@
N_TTES_PER_SECTOR * sizeof(TTEntry) );
/*NOTREACHED*/
}
- sec->tt = (TTEntry*)(AddrH)sr_Res(sres);
+ sec->tt = (TTEntry*)(Addr)sr_Res(sres);
for (i = 0; i < N_TTES_PER_SECTOR; i++) {
sec->tt[i].status = Empty;
@@ -1514,7 +1514,7 @@
*/
void VG_(add_to_transtab)( const VexGuestExtents* vge,
Addr64 entry,
- AddrH code,
+ Addr code,
UInt code_len,
Bool is_self_checking,
Int offs_profInc,
@@ -1682,7 +1682,7 @@
requested, a successful search can also cause the fast-caches to be
updated.
*/
-Bool VG_(search_transtab) ( /*OUT*/AddrH* res_hcode,
+Bool VG_(search_transtab) ( /*OUT*/Addr* res_hcode,
/*OUT*/UInt* res_sNo,
/*OUT*/UInt* res_tteNo,
Addr64 guest_addr,
@@ -1716,7 +1716,7 @@
setFastCacheEntry(
guest_addr, sectors[sno].tt[k].tcptr );
if (res_hcode)
- *res_hcode = (AddrH)sectors[sno].tt[k].tcptr;
+ *res_hcode = (Addr)sectors[sno].tt[k].tcptr;
if (res_sNo)
*res_sNo = sno;
if (res_tteNo)
@@ -2076,7 +2076,7 @@
N_UNREDIR_TT * UNREDIR_SZB);
/*NOTREACHED*/
}
- unredir_tc = (ULong *)(AddrH)sr_Res(sres);
+ unredir_tc = (ULong *)(Addr)sr_Res(sres);
}
unredir_tc_used = 0;
for (i = 0; i < N_UNREDIR_TT; i++)
@@ -2107,7 +2107,7 @@
*/
void VG_(add_to_unredir_transtab)( const VexGuestExtents* vge,
Addr64 entry,
- AddrH code,
+ Addr code,
UInt code_len )
{
Int i, j, code_szQ;
@@ -2160,7 +2160,7 @@
vg_assert(&dstP[code_len] <= (HChar*)&unredir_tc[unredir_tc_used]);
}
-Bool VG_(search_unredir_transtab) ( /*OUT*/AddrH* result,
+Bool VG_(search_unredir_transtab) ( /*OUT*/Addr* result,
Addr64 guest_addr )
{
Int i;
@@ -2168,7 +2168,7 @@
if (!unredir_tt[i].inUse)
continue;
if (unredir_tt[i].vge.base[0] == guest_addr) {
- *result = (AddrH)unredir_tt[i].hcode;
+ *result = (Addr)unredir_tt[i].hcode;
return True;
}
}
Modified: trunk/coregrind/pub_core_transtab.h
==============================================================================
--- trunk/coregrind/pub_core_transtab.h (original)
+++ trunk/coregrind/pub_core_transtab.h Mon Dec 29 17:04:46 2014
@@ -83,7 +83,7 @@
extern
void VG_(add_to_transtab)( const VexGuestExtents* vge,
Addr64 entry,
- AddrH code,
+ Addr code,
UInt code_len,
Bool is_self_checking,
Int offs_profInc,
@@ -95,7 +95,7 @@
UInt to_tteNo,
Bool to_fastEP );
-extern Bool VG_(search_transtab) ( /*OUT*/AddrH* res_hcode,
+extern Bool VG_(search_transtab) ( /*OUT*/Addr* res_hcode,
/*OUT*/UInt* res_sNo,
/*OUT*/UInt* res_tteNo,
Addr64 guest_addr,
@@ -114,10 +114,10 @@
extern
void VG_(add_to_unredir_transtab)( const VexGuestExtents* vge,
Addr64 entry,
- AddrH code,
+ Addr code,
UInt code_len );
extern
-Bool VG_(search_unredir_transtab) ( /*OUT*/AddrH* result,
+Bool VG_(search_unredir_transtab) ( /*OUT*/Addr* result,
Addr64 guest_addr );
// SB profiling stuff
Modified: trunk/include/pub_tool_basics.h
==============================================================================
--- trunk/include/pub_tool_basics.h (original)
+++ trunk/include/pub_tool_basics.h Mon Dec 29 17:04:46 2014
@@ -86,12 +86,8 @@
typedef unsigned long UWord; // 32 64
typedef signed long Word; // 32 64
-// Addr is for holding an address. AddrH was intended to be "Addr on the
-// host", for the notional case where host word size != guest word size.
-// But since the assumption that host arch == guest arch has become so
-// deeply wired in, it's a pretty pointless distinction now.
+// Addr is for holding an address.
typedef UWord Addr; // 32 64
-typedef UWord AddrH; // 32 64
// Our equivalents of POSIX 'size_t' and 'ssize_t':
// - size_t is an "unsigned integer type of the result of the sizeof operator".
|
|
From: Julian S. <js...@ac...> - 2014-12-29 09:14:39
|
On 28/12/14 23:54, Florian Krohm wrote: > If I don't hear any objections I'll make the change in a couple of days. Sounds good to me. The declaration-in-for-loop thing would be nice to have -- the lack of it quite often annoys me. J |
|
From: Florian K. <fl...@ei...> - 2014-12-29 08:22:28
|
I'd like to add -std=gnu99 to the compiler options. We've been using all sorts of C99 features for quite some time, such as - // comments - mixing statements and declarations - inline functions - long long - designated initialisers - compound literals - variable length arrays The one thing I'd like to use but currently cannot, is declaring a variable in the initialisation part of a for statement, e.g. for (int i = 0; i < n; ++i) ..... Currently, this produces an error. There is a subtle difference in c99 that changes the type of an unsuffixed decimal constant. Such a constant, if its value is > LONG_MAX has type unsigned int in c90 and type long long int in c99. We do not use such constants and are therefore not affected. If I don't hear any objections I'll make the change in a couple of days. Florian |
|
From: Tom H. <to...@co...> - 2014-12-29 06:58:16
|
valgrind revision: 14833 VEX revision: 3045 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.1-48.fc15) Assembler: GNU assembler version 2.21.51.0.6-6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.17.7-300.fc21.x86_64 x86_64 Vendor version: Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2014-12-29 03:02:24 GMT Ended at 2014-12-29 04:13:16 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 698 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.10s no: 1.6s (16.5x, -----) me: 3.3s (33.4x, -----) ca:14.3s (143.5x, -----) he: 2.0s (20.4x, -----) ca: 3.9s (38.6x, -----) dr: 2.0s (20.1x, -----) ma: 1.9s (19.5x, -----) bigcode1 valgrind-old:0.10s no: 1.7s (16.6x, -0.6%) me: 3.3s (33.4x, 0.0%) ca:14.3s (142.9x, 0.4%) he: 2.1s (20.6x, -1.0%) ca: 3.9s (38.7x, -0.3%) dr: 2.0s (20.1x, 0.0%) ma: 1.9s (19.5x, 0.0%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 4.0s (36.1x, -----) me: 8.5s (77.5x, -----) ca:25.7s (233.8x, -----) he: 5.0s (45.5x, -----) ca: 7.3s (66.6x, -----) dr: 4.7s (43.0x, -----) ma: 4.6s (41.5x, -----) bigcode2 valgrind-old:0.11s no: 4.0s (36.4x, -0.8%) me: 8.5s (77.6x, -0.1%) ca:25.8s (234.4x, -0.2%) he: 5.0s (45.5x, 0.0%) ca: 7.3s (66.1x, 0.8%) dr: 4.8s (43.2x, -0.4%) ma: 4.5s (41.4x, 0.4%) -- bz2 -- bz2 valgrind-new:0.52s no: 1.6s ( 3.1x, -----) me: 5.7s (11.0x, -----) ca:13.2s (25.5x, -----) he: 8.3s (16.0x, -----) ca:10.9s (21.0x, -----) dr:10.6s (20.3x, -----) ma: 1.6s ( 3.1x, -----) bz2 valgrind-old:0.52s no: 1.6s ( 3.1x, -1.2%) me: 5.8s (11.2x, -2.3%) ca:13.3s (25.5x, -0.2%) he: 8.3s (16.0x, -0.2%) ca:10.9s (21.0x, -0.2%) dr:10.6s (20.3x, 0.0%) ma: 1.6s ( 3.1x, -0.0%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.6x, -----) me: 3.8s (17.0x, -----) ca: 5.5s (25.1x, -----) he: 3.0s (13.5x, -----) ca: 3.2s (14.5x, -----) dr: 2.7s (12.1x, -----) ma: 1.1s ( 4.8x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.0%) me: 3.8s (17.0x, 0.0%) ca: 5.5s (24.8x, 1.1%) he: 2.8s (12.9x, 4.4%) ca: 3.1s (14.2x, 1.9%) dr: 2.6s (11.8x, 2.6%) ma: 1.0s ( 4.6x, 2.9%) -- ffbench -- ffbench valgrind-new:0.20s no: 0.9s ( 4.5x, -----) me: 2.9s (14.2x, -----) ca: 1.8s ( 9.0x, -----) he: 5.2s (25.8x, -----) ca: 4.1s (20.5x, -----) dr: 3.3s (16.4x, -----) ma: 0.9s ( 4.3x, -----) ffbench valgrind-old:0.20s no: 0.9s ( 4.6x, -2.2%) me: 2.8s (14.0x, 1.8%) ca: 1.8s ( 9.0x, 0.0%) he: 5.3s (26.4x, -2.1%) ca: 4.1s (20.6x, -0.5%) dr: 3.3s (16.3x, 0.3%) ma: 0.8s ( 4.2x, 1.2%) -- heap -- heap valgrind-new:0.08s no: 0.6s ( 7.1x, -----) me: 4.9s (61.1x, -----) ca: 6.1s (76.2x, -----) he: 6.6s (82.1x, -----) ca: 3.2s (40.5x, -----) dr: 4.2s (52.6x, -----) ma: 4.8s (59.4x, -----) heap valgrind-old:0.08s no: 0.6s ( 7.2x, -1.8%) me: 4.8s (60.6x, 0.8%) ca: 6.1s (76.2x, 0.0%) he: 6.6s (82.6x, -0.6%) ca: 3.2s (39.9x, 1.5%) dr: 4.2s (52.2x, 0.7%) ma: 4.8s (59.6x, -0.4%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.10s no: 0.7s ( 6.8x, -----) me: 8.3s (83.3x, -----) ca: 6.7s (66.7x, -----) he: 7.5s (74.5x, -----) ca: 3.5s (34.7x, -----) dr: 5.0s (49.5x, -----) ma: 4.8s (47.9x, -----) heap_pdb4 valgrind-old:0.10s no: 0.6s ( 6.4x, 5.9%) me: 8.3s (83.4x, -0.1%) ca: 6.7s (66.7x, 0.0%) he: 7.5s (75.2x, -0.9%) ca: 3.6s (35.9x, -3.5%) dr: 5.0s (49.5x, 0.0%) ma: 4.9s (49.0x, -2.3%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.2s (24.0x, -----) me: 1.4s (137.0x, -----) ca: 1.0s (100.0x, -----) he: 1.1s (113.0x, -----) ca: 0.7s (65.0x, -----) dr: 1.0s (102.0x, -----) ma: 0.9s (94.0x, -----) many-loss-records valgrind-old:0.01s no: 0.2s (24.0x, 0.0%) me: 1.4s (135.0x, 1.5%) ca: 1.0s (99.0x, 1.0%) he: 1.2s (116.0x, -2.7%) ca: 0.7s (70.0x, -7.7%) dr: 1.1s (110.0x, -7.8%) ma: 1.0s (102.0x, -8.5%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.7x, -----) me: 2.0s (67.3x, -----) ca: 2.7s (91.3x, -----) he: 2.3s (77.3x, -----) ca: 1.0s (33.0x, -----) dr: 1.5s (51.3x, -----) ma: 1.4s (46.3x, -----) many-xpts valgrind-old:0.03s no: 0.3s (11.0x, -3.1%) me: 2.0s (67.7x, -0.5%) ca: 2.7s (90.7x, 0.7%) he: 2.4s (79.0x, -2.2%) ca: 1.0s (32.7x, 1.0%) dr: 1.5s (51.3x, 0.0%) ma: 1.5s (50.0x, -7.9%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.5x, -----) me: 2.6s (129.0x, -----) ca: 1.8s (92.0x, -----) he: 7.0s (347.5x, -----) ca: 1.0s (49.5x, -----) dr: 1.0s (51.5x, -----) ma: 0.3s (15.5x, -----) sarp valgrind-old:0.02s no: 0.3s (14.0x, 3.4%) me: 2.6s (129.0x, 0.0%) ca: 1.7s (85.5x, 7.1%) he: 6.6s (329.0x, 5.3%) ca: 0.9s (47.5x, 4.0%) dr: 1.0s (51.0x, 1.0%) ma: 0.3s (15.0x, 3.2%) -- tinycc -- tinycc valgrind-new:0.16s no: 1.4s ( 9.0x, -----) me: 9.2s (57.8x, -----) ca:11.2s (69.9x, -----) he: 9.9s (61.7x, -----) ca: 8.3s (52.0x, -----) dr: 8.2s (51.5x, -----) ma: 2.5s (15.9x, -----) tinycc valgrind-old:0.16s no: 1.4s ( 9.0x, 0.0%) me: 9.2s (57.6x, 0.3%) ca:11.2s (70.2x, -0.4%) he: 9.9s (62.0x, -0.5%) ca: 8.3s (51.9x, 0.1%) dr: 8.2s (51.4x, 0.2%) ma: 2.5s (15.6x, 2.4%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 34m8.990s user 33m17.824s sys 0m22.614s |
|
From: <sv...@va...> - 2014-12-29 06:55:37
|
Author: florian
Date: Sun Dec 28 16:46:14 2014
New Revision: 14832
Log:
Avoid spurious warnings about white space following a backslash
in a line splice.
Modified:
trunk/memcheck/mc_leakcheck.c
Modified: trunk/memcheck/mc_leakcheck.c
==============================================================================
--- trunk/memcheck/mc_leakcheck.c (original)
+++ trunk/memcheck/mc_leakcheck.c Sun Dec 28 16:46:14 2014
@@ -953,9 +953,9 @@
// be A, while lower level cliques will be B and C.
/*
A
- / \
+ / \
B C
- / \ / \
+ / \ / \
D E F G
*/
// Proper handling of top and lowest level clique allows block_list of a loss
|
|
From: Rich C. <rc...@wi...> - 2014-12-29 06:44:09
|
valgrind revision: 14833
VEX revision: 3045
C compiler: gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
GDB: GNU gdb (GDB; openSUSE 13.2) 7.8
Assembler: GNU assembler (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1
C library: GNU C Library (GNU libc) stable release version 2.19 (git 9a869d822025)
uname -mrs: Linux 3.16.6-2-desktop x86_64
Vendor version: Welcome to openSUSE 13.2 "Harlequin" - Kernel %r (%t).
Nightly build on rodan ( Linux 3.16.6-2-desktop x86_64 )
Started at 2014-12-28 19:22:01 CST
Ended at 2014-12-28 23:28:32 CST
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
== 615 tests, 4 stderr failures, 0 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
+ perl perf/vg_perf --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old perf
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
bigcode1 valgrind-new:0.48s no: 7.5s (15.7x, -----) me:15.0s (31.3x, -----) ca:61.0s (127.0x, -----) he: 9.6s (19.9x, -----) ca:17.1s (35.7x, -----) dr: 9.1s (19.0x, -----) ma: 8.9s (18.6x, -----)
bigcode1 valgrind-old:0.48s no: 7.5s (15.7x, 0.0%) me:15.1s (31.4x, -0.1%) ca:61.0s (127.0x, 0.0%) he: 9.5s (19.8x, 0.4%) ca:17.1s (35.7x, 0.1%) dr: 9.1s (19.0x, 0.1%) ma: 8.9s (18.6x, -0.1%)
-- bigcode2 --
bigcode2 valgrind-new:0.49s no:18.6s (38.0x, -----) me:39.4s (80.3x, -----) ca:105.4s (215.2x, -----) he:24.2s (49.4x, -----) ca:32.9s (67.1x, -----) dr:22.0s (45.0x, -----) ma:21.4s (43.7x, -----)
bigcode2 valgrind-old:0.49s no:18.7s (38.1x, -0.2%) me:39.4s (80.4x, -0.1%) ca:105.5s (215.2x, -0.0%) he:24.1s (49.2x, 0.3%) ca:32.8s (67.0x, 0.2%) dr:22.0s (44.9x, 0.0%) ma:21.4s (43.7x, 0.0%)
-- bz2 --
bz2 valgrind-new:2.32s no: 7.8s ( 3.4x, -----) me:25.4s (11.0x, -----) ca:56.8s (24.5x, -----) he:37.5s (16.2x, -----) ca:50.8s (21.9x, -----) dr:53.5s (23.0x, -----) ma: 7.4s ( 3.2x, -----)
bz2 valgrind-old:2.32s no: 7.8s ( 3.4x, 0.0%) me:25.6s (11.1x, -0.8%) ca:56.8s (24.5x, 0.0%) he:37.6s (16.2x, -0.1%) ca:50.8s (21.9x, 0.0%) dr:53.5s (23.0x, 0.0%) ma: 7.4s ( 3.2x, 0.1%)
-- fbench --
fbench valgrind-new:1.45s no: 5.2s ( 3.6x, -----) me:17.5s (12.1x, -----) ca:26.8s (18.5x, -----) he:13.0s ( 9.0x, -----) ca:16.3s (11.2x, -----) dr:13.2s ( 9.1x, -----) ma: 5.4s ( 3.7x, -----)
fbench valgrind-old:1.45s no: 5.2s ( 3.6x, 0.0%) me:17.5s (12.1x, -0.1%) ca:26.8s (18.5x, -0.0%) he:13.1s ( 9.0x, -0.4%) ca:16.2s (11.2x, 0.1%) dr:13.2s ( 9.1x, 0.2%) ma: 5.4s ( 3.7x, -0.2%)
-- ffbench --
ffbench valgrind-new:1.00s no: 3.4s ( 3.4x, -----) me:12.3s (12.3x, -----) ca: 7.8s ( 7.8x, -----) he:21.0s (21.0x, -----) ca:20.1s (20.1x, -----) dr:16.9s (16.9x, -----) ma: 3.4s ( 3.4x, -----)
ffbench valgrind-old:1.00s no: 3.4s ( 3.4x, 0.0%) me:12.3s (12.3x, -0.1%) ca: 7.8s ( 7.8x, 0.0%) he:21.0s (21.0x, 0.0%) ca:20.1s (20.1x, -0.0%) dr:16.9s (16.9x, 0.0%) ma: 3.4s ( 3.4x, 0.0%)
-- heap --
heap valgrind-new:0.40s no: 3.0s ( 7.5x, -----) me:22.1s (55.4x, -----) ca:30.1s (75.2x, -----) he:30.2s (75.5x, -----) ca:15.1s (37.6x, -----) dr:19.9s (49.8x, -----) ma:21.4s (53.5x, -----)
heap valgrind-old:0.40s no: 3.0s ( 7.5x, 0.0%) me:21.8s (54.5x, 1.5%) ca:30.1s (75.2x, -0.0%) he:30.2s (75.4x, 0.1%) ca:15.0s (37.6x, 0.1%) dr:20.0s (49.9x, -0.3%) ma:21.3s (53.3x, 0.4%)
-- heap_pdb4 --
heap_pdb4 valgrind-new:0.55s no: 3.4s ( 6.1x, -----) me:37.9s (68.9x, -----) ca:33.2s (60.4x, -----) he:34.3s (62.4x, -----) ca:17.2s (31.3x, -----) dr:22.7s (41.3x, -----) ma:22.4s (40.7x, -----)
heap_pdb4 valgrind-old:0.55s no: 3.4s ( 6.1x, 0.6%) me:37.6s (68.3x, 0.8%) ca:33.3s (60.5x, -0.1%) he:34.2s (62.2x, 0.3%) ca:17.1s (31.1x, 0.5%) dr:22.8s (41.4x, -0.1%) ma:22.3s (40.5x, 0.4%)
-- many-loss-records --
many-loss-records valgrind-new:0.06s no: 1.0s (17.2x, -----) me: 6.0s (100.8x, -----) ca: 4.8s (79.3x, -----) he: 5.3s (88.7x, -----) ca: 2.9s (47.7x, -----) dr: 4.8s (80.8x, -----) ma: 4.6s (77.3x, -----)
many-loss-records valgrind-old:0.06s no: 1.0s (17.0x, 1.0%) me: 6.0s (100.8x, 0.0%) ca: 4.8s (79.3x, 0.0%) he: 5.3s (88.8x, -0.2%) ca: 2.9s (47.7x, 0.0%) dr: 4.9s (81.0x, -0.2%) ma: 4.6s (76.8x, 0.6%)
-- many-xpts --
many-xpts valgrind-new:0.16s no: 1.3s ( 8.1x, -----) me: 7.3s (45.6x, -----) ca:12.8s (79.7x, -----) he: 9.8s (61.5x, -----) ca: 4.2s (26.2x, -----) dr: 6.6s (41.0x, -----) ma: 7.0s (43.6x, -----)
many-xpts valgrind-old:0.16s no: 1.3s ( 8.1x, -0.8%) me: 7.3s (45.6x, 0.0%) ca:12.8s (79.7x, 0.0%) he: 9.7s (60.9x, 1.0%) ca: 4.2s (26.4x, -0.7%) dr: 6.5s (40.9x, 0.2%) ma: 6.9s (43.3x, 0.7%)
-- sarp --
sarp valgrind-new:0.11s no: 1.2s (11.3x, -----) me: 9.1s (82.8x, -----) ca: 7.8s (70.5x, -----) he:31.1s (282.5x, -----) ca: 4.3s (39.3x, -----) dr: 4.3s (39.4x, -----) ma: 1.3s (12.0x, -----)
sarp valgrind-old:0.11s no: 1.2s (11.3x, 0.0%) me: 9.0s (82.1x, 0.9%) ca: 7.8s (70.5x, 0.1%) he:31.1s (282.3x, 0.1%) ca: 4.3s (39.3x, 0.0%) dr: 4.3s (39.4x, 0.0%) ma: 1.3s (12.0x, 0.0%)
-- tinycc --
tinycc valgrind-new:0.76s no: 7.4s ( 9.7x, -----) me:37.4s (49.3x, -----) ca:46.8s (61.6x, -----) he:48.2s (63.4x, -----) ca:39.2s (51.6x, -----) dr:37.9s (49.9x, -----) ma:11.6s (15.3x, -----)
tinycc valgrind-old:0.76s no: 7.4s ( 9.7x, 0.1%) me:37.5s (49.3x, -0.1%) ca:46.8s (61.6x, 0.0%) he:44.7s (58.8x, 7.3%) ca:39.2s (51.6x, 0.0%) dr:37.9s (49.9x, 0.1%) ma:11.6s (15.3x, 0.0%)
-- Finished tests in perf ----------------------------------------------
== 11 programs, 154 timings =================
real 151m1.507s
user 149m36.162s
sys 1m20.429s
=================================================
./valgrind-new/gdbserver_tests/hgtls.stdoutB.diff
=================================================
--- hgtls.stdoutB.exp 2014-12-28 20:09:50.165928797 -0600
+++ hgtls.stdoutB.out 2014-12-28 20:23:13.671640083 -0600
@@ -35,11 +35,11 @@
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-12-28 20:09:50.965937553 -0600
+++ err_disable3.stderr.out 2014-12-28 20:27:32.349420845 -0600
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-12-28 20:09:51.807946769 -0600
+++ err_disable4.stderr.out 2014-12-28 20:27:36.456464888 -0600
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-new/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-12-28 20:09:51.566944131 -0600
+++ threadname.stderr.out 2014-12-28 20:34:17.122749006 -0600
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:61)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:61)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-new/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-12-28 20:09:51.271940902 -0600
+++ threadname_xml.stderr.out 2014-12-28 20:34:19.412773439 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/gdbserver_tests/hgtls.stdoutB.diff
=================================================
--- hgtls.stdoutB.exp 2014-12-28 19:22:14.208842153 -0600
+++ hgtls.stdoutB.out 2014-12-28 19:35:37.031377865 -0600
@@ -35,11 +35,11 @@
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-12-28 19:22:15.008850695 -0600
+++ err_disable3.stderr.out 2014-12-28 19:39:55.477188957 -0600
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-old/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-12-28 19:22:15.851859696 -0600
+++ err_disable4.stderr.out 2014-12-28 19:39:59.570233937 -0600
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-old/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-12-28 19:22:15.611857133 -0600
+++ threadname.stderr.out 2014-12-28 19:46:40.019624640 -0600
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:61)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:61)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-12-28 19:22:15.315853973 -0600
+++ threadname_xml.stderr.out 2014-12-28 19:46:42.310649704 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
|
|
From: Tom H. <to...@co...> - 2014-12-29 04:05:58
|
valgrind revision: 14833
VEX revision: 3045
C compiler: gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7)
GDB: GNU gdb (GDB) Fedora 7.7.1-21.fc20
Assembler: GNU assembler version 2.23.2
C library: GNU C Library (GNU libc) stable release version 2.18
uname -mrs: Linux 3.17.7-300.fc21.x86_64 x86_64
Vendor version:
Nightly build on bristol ( x86_64, Fedora 20 )
Started at 2014-12-29 02:31:27 GMT
Ended at 2014-12-29 03:45:46 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
== 698 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
none/tests/fdleak_ipv4 (stdout)
none/tests/fdleak_ipv4 (stderr)
=================================================
== 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
== 698 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
=================================================
== Difference between 24 hours ago and now ==
=================================================
*** old.short 2014-12-29 02:51:27.896948144 +0000
--- new.short 2014-12-29 03:11:45.872339634 +0000
***************
*** 4,6 ****
Building valgrind ... done
! Running regression tests ... done
--- 4,6 ----
Building valgrind ... done
! Running regression tests ... failed
***************
*** 8,10 ****
! == 698 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
--- 8,12 ----
! == 698 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures ==
! none/tests/fdleak_ipv4 (stdout)
! none/tests/fdleak_ipv4 (stderr)
--tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old
-- Running tests in perf ----------------------------------------------
-- bigcode1 --
bigcode1 valgrind-new:0.10s no: 1.6s (16.4x, -----) me: 3.4s (33.8x, -----) ca:13.3s (132.6x, -----) he: 2.1s (21.0x, -----) ca: 3.8s (37.9x, -----) dr: 2.0s (20.1x, -----) ma: 1.9s (19.3x, -----)
bigcode1 valgrind-old:0.10s no: 1.6s (16.3x, 0.6%) me: 3.4s (34.1x, -0.9%) ca:13.3s (133.0x, -0.3%) he: 2.1s (20.7x, 1.4%) ca: 3.8s (37.6x, 0.8%) dr: 2.0s (20.4x, -1.5%) ma: 1.9s (19.5x, -1.0%)
-- bigcode2 --
bigcode2 valgrind-new:0.11s no: 3.9s (35.7x, -----) me: 8.6s (78.4x, -----) ca:25.7s (233.7x, -----) he: 4.9s (44.5x, -----) ca: 7.0s (64.0x, -----) dr: 4.7s (42.6x, -----) ma: 4.5s (40.6x, -----)
bigcode2 valgrind-old:0.11s no: 3.8s (34.8x, 2.5%) me: 8.6s (77.9x, 0.6%) ca:24.6s (224.1x, 4.1%) he: 4.9s (44.5x, 0.0%) ca: 7.1s (64.5x, -0.7%) dr: 4.6s (42.0x, 1.5%) ma: 4.5s (41.1x, -1.1%)
-- bz2 --
bz2 valgrind-new:0.49s no: 1.6s ( 3.2x, -----) me: 5.8s (11.7x, -----) ca:12.5s (25.5x, -----) he: 8.6s (17.5x, -----) ca:10.3s (21.1x, -----) dr:10.5s (21.5x, -----) ma: 1.6s ( 3.2x, -----)
bz2 valgrind-old:0.49s no: 1.6s ( 3.2x, 0.0%) me: 5.8s (11.7x, 0.0%) ca:12.6s (25.6x, -0.6%) he: 8.6s (17.5x, -0.2%) ca:10.3s (21.1x, -0.3%) dr:10.6s (21.6x, -0.5%) ma: 1.6s ( 3.2x, 0.0%)
-- fbench --
fbench valgrind-new:0.22s no: 1.0s ( 4.6x, -----) me: 3.5s (15.7x, -----) ca: 5.4s (24.6x, -----) he: 2.6s (11.8x, -----) ca: 3.0s (13.6x, -----) dr: 2.5s (11.5x, -----) ma: 1.1s ( 4.8x, -----)
fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 0.0%) me: 3.4s (15.6x, 0.6%) ca: 5.5s (24.9x, -0.9%) he: 2.7s (12.2x, -3.1%) ca: 3.0s (13.7x, -1.0%) dr: 2.5s (11.5x, -0.4%) ma: 1.1s ( 4.8x, 0.0%)
-- ffbench --
ffbench valgrind-new:0.21s no: 0.9s ( 4.5x, -----) me: 3.0s (14.1x, -----) ca: 1.9s ( 9.0x, -----) he: 6.4s (30.4x, -----) ca: 4.5s (21.4x, -----) dr: 3.4s (16.2x, -----) ma: 0.9s ( 4.3x, -----)
ffbench valgrind-old:0.21s no: 1.0s ( 4.6x, -1.1%) me: 3.0s (14.1x, 0.3%) ca: 1.9s ( 8.9x, 0.5%) he: 6.0s (28.5x, 6.3%) ca: 4.4s (21.0x, 2.0%) dr: 3.4s (16.1x, 0.3%) ma: 0.9s ( 4.3x, -1.1%)
-- heap --
heap valgrind-new:0.08s no: 0.6s ( 7.5x, -----) me: 5.1s (63.9x, -----) ca: 6.1s (75.8x, -----) he: 6.7s (84.2x, -----) ca: 3.2s (40.6x, -----) dr: 4.8s (60.6x, -----) ma: 4.7s (58.6x, -----)
heap valgrind-old:0.08s no: 0.6s ( 7.6x, -1.7%) me: 5.1s (64.2x, -0.6%) ca: 6.1s (76.0x, -0.3%) he: 6.7s (83.9x, 0.4%) ca: 3.3s (40.8x, -0.3%) dr: 4.8s (60.6x, 0.0%) ma: 4.7s (59.0x, -0.6%)
-- heap_pdb4 --
heap_pdb4 valgrind-new:0.10s no: 0.7s ( 6.7x, -----) me: 8.8s (88.4x, -----) ca: 6.6s (66.1x, -----) he: 7.8s (77.5x, -----) ca: 3.6s (35.8x, -----) dr: 4.9s (49.2x, -----) ma: 4.9s (49.0x, -----)
heap_pdb4 valgrind-old:0.10s no: 0.7s ( 6.8x, -1.5%) me: 8.8s (87.9x, 0.6%) ca: 6.6s (65.9x, 0.3%) he: 7.7s (77.4x, 0.1%) ca: 3.6s (35.8x, 0.0%) dr: 4.9s (48.8x, 0.8%) ma: 4.9s (49.3x, -0.6%)
-- many-loss-records --
many-loss-records valgrind-new:0.01s no: 0.2s (25.0x, -----) me: 1.4s (142.0x, -----) ca: 1.0s (101.0x, -----) he: 1.3s (127.0x, -----) ca: 0.7s (67.0x, -----) dr: 1.2s (116.0x, -----) ma: 1.0s (103.0x, -----)
many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, -4.0%) me: 1.4s (141.0x, 0.7%) ca: 1.0s (101.0x, 0.0%) he: 1.3s (127.0x, 0.0%) ca: 0.7s (67.0x, 0.0%) dr: 1.1s (115.0x, 0.9%) ma: 1.1s (105.0x, -1.9%)
-- many-xpts --
many-xpts valgrind-new:0.03s no: 0.3s (10.3x, -----) me: 1.7s (55.3x, -----) ca: 2.5s (83.7x, -----) he: 2.2s (74.3x, -----) ca: 0.9s (31.7x, -----) dr: 1.6s (52.0x, -----) ma: 1.5s (51.3x, -----)
many-xpts valgrind-old:0.03s no: 0.3s (10.3x, 0.0%) me: 1.6s (54.0x, 2.4%) ca: 2.5s (84.0x, -0.4%) he: 2.2s (74.3x, 0.0%) ca: 0.9s (31.7x, 0.0%) dr: 1.6s (52.7x, -1.3%) ma: 1.5s (51.0x, 0.6%)
-- sarp --
sarp valgrind-new:0.02s no: 0.3s (14.5x, -----) me: 2.3s (116.0x, -----) ca: 1.8s (87.5x, -----) he: 6.7s (334.5x, -----) ca: 0.9s (45.0x, -----) dr: 1.1s (53.5x, -----) ma: 0.3s (15.0x, -----)
sarp valgrind-old:0.02s no: 0.3s (14.0x, 3.4%) me: 2.3s (116.0x, 0.0%) ca: 1.8s (87.5x, 0.0%) he: 6.7s (334.0x, 0.1%) ca: 0.9s (45.0x, 0.0%) dr: 1.1s (53.5x, 0.0%) ma: 0.3s (15.0x, 0.0%)
-- tinycc --
tinycc valgrind-new:0.16s no: 1.4s ( 8.4x, -----) me: 7.9s (49.4x, -----) ca:10.6s (66.2x, -----) he: 9.8s (61.3x, -----) ca: 8.0s (50.1x, -----) dr: 8.1s (50.6x, -----) ma: 2.4s (14.7x, -----)
tinycc valgrind-old:0.16s no: 1.4s ( 8.4x, 0.0%) me: 7.8s (48.6x, 1.8%) ca:10.7s (66.9x, -1.0%) he: 9.8s (61.2x, 0.2%) ca: 8.0s (49.9x, 0.5%) dr: 8.1s (50.6x, -0.1%) ma: 2.4s (14.9x, -0.8%)
-- Finished tests in perf ----------------------------------------------
== 11 programs, 154 timings =================
real 34m0.420s
user 33m1.057s
sys 0m24.249s
|
|
From: Tom H. <to...@co...> - 2014-12-29 04:05:56
|
valgrind revision: 14833 VEX revision: 3045 C compiler: gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-7) GDB: GNU gdb (GDB) Fedora 7.6.1-46.fc19 Assembler: GNU assembler version 2.23.52.0.1-9.fc19 20130226 C library: GNU C Library (GNU libc) stable release version 2.17 uname -mrs: Linux 3.17.7-300.fc21.x86_64 x86_64 Vendor version: Nightly build on bristol ( x86_64, Fedora 19 (Schrödingerâs Cat) ) Started at 2014-12-29 02:41:24 GMT Ended at 2014-12-29 03:54:55 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 698 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.11s no: 1.6s (14.8x, -----) me: 3.4s (31.2x, -----) ca:13.3s (120.9x, -----) he: 2.1s (19.0x, -----) ca: 3.8s (34.5x, -----) dr: 2.0s (18.6x, -----) ma: 1.9s (17.7x, -----) bigcode1 valgrind-old:0.11s no: 1.6s (14.8x, 0.0%) me: 3.4s (31.3x, -0.3%) ca:13.2s (120.5x, 0.4%) he: 2.1s (18.9x, 0.5%) ca: 3.8s (34.4x, 0.3%) dr: 2.0s (18.5x, 0.5%) ma: 1.9s (17.6x, 0.5%) -- bigcode2 -- bigcode2 valgrind-new:0.11s no: 4.0s (35.9x, -----) me: 8.4s (76.6x, -----) ca:24.6s (224.1x, -----) he: 5.0s (45.0x, -----) ca: 7.0s (64.1x, -----) dr: 4.7s (42.8x, -----) ma: 4.5s (40.8x, -----) bigcode2 valgrind-old:0.11s no: 3.9s (35.4x, 1.5%) me: 8.5s (77.3x, -0.8%) ca:24.8s (225.1x, -0.4%) he: 4.9s (44.9x, 0.2%) ca: 7.1s (64.7x, -1.0%) dr: 4.7s (43.0x, -0.4%) ma: 4.5s (41.1x, -0.7%) -- bz2 -- bz2 valgrind-new:0.51s no: 1.6s ( 3.1x, -----) me: 5.8s (11.3x, -----) ca:12.6s (24.8x, -----) he: 8.6s (16.9x, -----) ca:10.4s (20.4x, -----) dr:10.8s (21.2x, -----) ma: 1.6s ( 3.1x, -----) bz2 valgrind-old:0.51s no: 1.6s ( 3.1x, 0.0%) me: 5.7s (11.2x, 0.7%) ca:12.7s (24.8x, -0.2%) he: 8.6s (16.9x, -0.5%) ca:10.4s (20.5x, -0.5%) dr:10.8s (21.2x, -0.2%) ma: 1.6s ( 3.0x, 1.3%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.7x, -----) me: 3.5s (15.8x, -----) ca: 5.5s (25.0x, -----) he: 2.8s (12.8x, -----) ca: 3.0s (13.8x, -----) dr: 2.7s (12.4x, -----) ma: 1.1s ( 4.9x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.7x, 0.0%) me: 3.5s (15.7x, 0.3%) ca: 5.5s (25.0x, 0.2%) he: 2.8s (12.8x, 0.0%) ca: 3.0s (13.8x, 0.3%) dr: 2.7s (12.3x, 0.7%) ma: 1.1s ( 4.8x, 0.9%) -- ffbench -- ffbench valgrind-new:0.22s no: 0.9s ( 4.3x, -----) me: 3.0s (13.5x, -----) ca: 1.9s ( 8.6x, -----) he: 5.9s (26.9x, -----) ca: 4.5s (20.6x, -----) dr: 3.4s (15.5x, -----) ma: 0.9s ( 4.1x, -----) ffbench valgrind-old:0.22s no: 1.0s ( 4.4x, -1.1%) me: 3.0s (13.7x, -1.3%) ca: 1.9s ( 8.6x, -0.5%) he: 6.0s (27.3x, -1.7%) ca: 4.4s (20.0x, 3.1%) dr: 3.4s (15.4x, 0.9%) ma: 0.9s ( 4.0x, 1.1%) -- heap -- heap valgrind-new:0.07s no: 0.6s ( 8.7x, -----) me: 5.1s (73.3x, -----) ca: 6.1s (86.7x, -----) he: 6.7s (96.3x, -----) ca: 3.2s (45.1x, -----) dr: 4.7s (66.4x, -----) ma: 4.6s (65.7x, -----) heap valgrind-old:0.07s no: 0.6s ( 8.7x, 0.0%) me: 5.2s (74.6x, -1.8%) ca: 6.1s (86.9x, -0.2%) he: 6.7s (96.1x, 0.1%) ca: 3.2s (45.1x, 0.0%) dr: 4.6s (66.1x, 0.4%) ma: 4.7s (66.7x, -1.5%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.10s no: 0.7s ( 6.6x, -----) me: 8.9s (88.9x, -----) ca: 6.7s (66.6x, -----) he: 7.8s (78.1x, -----) ca: 3.5s (35.3x, -----) dr: 4.8s (48.3x, -----) ma: 4.9s (49.1x, -----) heap_pdb4 valgrind-old:0.10s no: 0.7s ( 6.6x, 0.0%) me: 8.8s (88.3x, 0.7%) ca: 6.7s (66.9x, -0.5%) he: 7.7s (77.3x, 1.0%) ca: 3.5s (35.3x, 0.0%) dr: 4.8s (48.1x, 0.4%) ma: 4.9s (49.4x, -0.6%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.3s (26.0x, -----) me: 1.4s (144.0x, -----) ca: 1.0s (99.0x, -----) he: 1.3s (127.0x, -----) ca: 0.7s (65.0x, -----) dr: 1.2s (116.0x, -----) ma: 1.0s (103.0x, -----) many-loss-records valgrind-old:0.01s no: 0.3s (26.0x, 0.0%) me: 1.4s (143.0x, 0.7%) ca: 1.0s (100.0x, -1.0%) he: 1.3s (129.0x, -1.6%) ca: 0.7s (65.0x, 0.0%) dr: 1.1s (114.0x, 1.7%) ma: 1.0s (102.0x, 1.0%) -- many-xpts -- many-xpts valgrind-new:0.03s no: 0.3s (10.7x, -----) me: 1.6s (53.7x, -----) ca: 2.5s (84.0x, -----) he: 2.2s (73.7x, -----) ca: 0.9s (31.7x, -----) dr: 1.6s (51.7x, -----) ma: 1.6s (52.0x, -----) many-xpts valgrind-old:0.03s no: 0.3s (10.7x, 0.0%) me: 1.6s (53.7x, -0.0%) ca: 2.5s (84.3x, -0.4%) he: 2.2s (74.0x, -0.5%) ca: 0.9s (31.3x, 1.1%) dr: 1.5s (51.0x, 1.3%) ma: 1.6s (51.7x, 0.6%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.0x, -----) me: 2.3s (114.5x, -----) ca: 1.8s (87.5x, -----) he: 6.6s (331.5x, -----) ca: 0.9s (45.5x, -----) dr: 1.1s (54.0x, -----) ma: 0.3s (15.5x, -----) sarp valgrind-old:0.02s no: 0.3s (14.5x, -3.6%) me: 2.3s (114.5x, 0.0%) ca: 1.7s (86.5x, 1.1%) he: 6.6s (332.0x, -0.2%) ca: 0.9s (45.5x, 0.0%) dr: 1.1s (54.5x, -0.9%) ma: 0.3s (15.0x, 3.2%) -- tinycc -- tinycc valgrind-new:0.16s no: 1.4s ( 8.5x, -----) me: 7.8s (48.9x, -----) ca:10.6s (65.9x, -----) he: 9.8s (61.3x, -----) ca: 7.6s (47.2x, -----) dr: 8.0s (50.2x, -----) ma: 2.4s (14.8x, -----) tinycc valgrind-old:0.16s no: 1.3s ( 8.4x, 1.5%) me: 7.8s (48.6x, 0.5%) ca:10.6s (66.3x, -0.6%) he: 9.8s (61.4x, -0.2%) ca: 7.6s (47.2x, 0.0%) dr: 8.0s (50.2x, 0.1%) ma: 2.4s (14.8x, 0.0%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 33m45.858s user 32m48.470s sys 0m23.918s |
|
From: <sv...@va...> - 2014-12-29 04:05:56
|
Author: philippe
Date: Sun Dec 28 17:30:22 2014
New Revision: 14833
Log:
Fix 341539 VG_(describe_addr) should not describe address as belonging to client
segment if it is past the heap end
Describes specifically an address that is in the brk data segment
or in the 'reduced' (after brk reduction) section of the brk data segment.
Based on a patch from Ivo Raisr.
Modified:
trunk/NEWS
trunk/coregrind/m_addrinfo.c
trunk/include/pub_tool_addrinfo.h
trunk/memcheck/tests/dw4.c
trunk/memcheck/tests/dw4.stderr.exp
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Sun Dec 28 17:30:22 2014
@@ -18,8 +18,8 @@
* ==================== OTHER CHANGES ====================
* Address description logic (used by memcheck and helgrind)
- now describes anonymous or file mmap-ed segments and
- shared memory segments.
+ now describes addressed in anonymous segments, file mmap-ed
+ segments, shared memory segments and the brk data segment.
* Option --error-markers=<begin>,<end> can be used to mark
the begin/end of errors in textual output mode, to facilitate
@@ -94,6 +94,8 @@
340856 disInstr(arm64): unhandled instruction 0x1E634C45 (fcsel)
340922 arm64: unhandled getgroups/setgroups syscalls
341238 Recognize GCC5/DWARFv5 DW_LANG constants (Go, C11, C++11, C++14)
+341539 VG_(describe_addr) should not describe address as belonging to client
+ segment if it is past the heap end
341789 aarch64: shmat fails with valgrind on ARMv8
342063 wrong format specifier for test mcblocklistsearch in gdbserver_tests
n-i-bz Provide implementations of certain compiler builtins to support
Modified: trunk/coregrind/m_addrinfo.c
==============================================================================
--- trunk/coregrind/m_addrinfo.c (original)
+++ trunk/coregrind/m_addrinfo.c Sun Dec 28 17:30:22 2014
@@ -30,6 +30,7 @@
*/
#include "pub_core_basics.h"
+#include "pub_core_clientstate.h"
#include "pub_core_libcassert.h"
#include "pub_core_libcbase.h"
#include "pub_core_libcprint.h"
@@ -263,6 +264,27 @@
/* Try to find a segment belonging to the client. */
{
const NSegment *seg = VG_(am_find_nsegment) (a);
+
+ /* Special case to detect the brk data segment. */
+ if (seg != NULL
+ && seg->kind == SkAnonC
+ && VG_(brk_limit) >= seg->start
+ && VG_(brk_limit) <= seg->end+1) {
+ /* Address a is in a Anon Client segment which contains
+ VG_(brk_limit). So, this segment is the brk data segment
+ as initimg-linux.c:setup_client_dataseg maps an anonymous
+ segment followed by a reservation, with one reservation
+ page that will never be used by syswrap-generic.c:do_brk,
+ when increasing VG_(brk_limit).
+ So, the brk data segment will never be merged with the
+ next segment, and so an address in that area will
+ either be in the brk data segment, or in the unmapped
+ part of the brk data segment reservation. */
+ ai->tag = Addr_BrkSegment;
+ ai->Addr.BrkSegment.brk_limit = VG_(brk_limit);
+ return;
+ }
+
if (seg != NULL
&& (seg->kind == SkAnonC
|| seg->kind == SkFileC
@@ -328,6 +350,9 @@
VG_(free)(ai->Addr.SectKind.objname);
break;
+ case Addr_BrkSegment:
+ break;
+
case Addr_SegmentKind:
VG_(free)(ai->Addr.SegmentKind.filename);
break;
@@ -586,6 +611,26 @@
}
break;
+ case Addr_BrkSegment:
+ if (a < ai->Addr.BrkSegment.brk_limit)
+ VG_(emit)( "%sAddress 0x%llx is in the brk data segment"
+ " 0x%llx-0x%llx%s\n",
+ xpre,
+ (ULong)a,
+ (ULong)VG_(brk_base),
+ (ULong)ai->Addr.BrkSegment.brk_limit - 1,
+ xpost );
+ else
+ VG_(emit)( "%sAddress 0x%llx is %lu bytes after "
+ "the brk data segment limit"
+ " 0x%llx%s\n",
+ xpre,
+ (ULong)a,
+ a - ai->Addr.BrkSegment.brk_limit,
+ (ULong)ai->Addr.BrkSegment.brk_limit,
+ xpost );
+ break;
+
case Addr_SegmentKind:
VG_(emit)( "%sAddress 0x%llx is in "
"a %s%s%s %s%s%pS segment%s\n",
Modified: trunk/include/pub_tool_addrinfo.h
==============================================================================
--- trunk/include/pub_tool_addrinfo.h (original)
+++ trunk/include/pub_tool_addrinfo.h Sun Dec 28 17:30:22 2014
@@ -72,6 +72,7 @@
Addr_DataSym, // in a global data sym
Addr_Variable, // variable described by the debug info
Addr_SectKind, // Section from a mmap-ed object file
+ Addr_BrkSegment, // address in brk data segment
Addr_SegmentKind // Client segment (mapped memory)
}
AddrTag;
@@ -174,6 +175,15 @@
VgSectKind kind;
} SectKind;
+ // Described address is or was in the brk data segment.
+ // brk_limit is the limit that was in force
+ // at the time address was described.
+ // If address is >= brk_limit, it means address is in a zone
+ // of the data segment that was shrinked.
+ struct {
+ Addr brk_limit; // limit in force when address was described.
+ } BrkSegment;
+
struct {
SegKind segkind; // SkAnonC, SkFileC or SkShmC.
HChar *filename; // NULL if segkind != SkFileC
Modified: trunk/memcheck/tests/dw4.c
==============================================================================
--- trunk/memcheck/tests/dw4.c (original)
+++ trunk/memcheck/tests/dw4.c Sun Dec 28 17:30:22 2014
@@ -19,11 +19,11 @@
#include "memcheck/memcheck.h"
/* Cause memcheck to complain about the address "a" and so to print
- its best guess as to what "a" actually is. a must be
- addressible. */
-
+ its best guess as to what "a" actually is.*/
void croak ( void* aV )
{
+ if(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(aV,1) != 0)
+ return;
char* a = (char*)aV;
char* undefp = malloc(1);
char saved = *a;
@@ -82,5 +82,15 @@
croak( q);
unlink(filename);
+ /* Describe memory in or past the heap end. */
+ void *addr = sbrk(0);
+ croak(addr); // in the first brk page, after brk_limit
+ sbrk(4 * 1024); // increase brk segment
+ croak(addr); // Now, must be inside.
+ addr = (void *) ((char*)addr + 2 * 1024);
+ croak(addr); // Must still be inside.
+ sbrk(-3*1024);
+ croak(addr); // Must now be after.
+
return 0;
}
Modified: trunk/memcheck/tests/dw4.stderr.exp
==============================================================================
--- trunk/memcheck/tests/dw4.stderr.exp (original)
+++ trunk/memcheck/tests/dw4.stderr.exp Sun Dec 28 17:30:22 2014
@@ -27,3 +27,23 @@
by 0x........: main (dw4.c:82)
Address 0x........ is in a rw- mapped file valgrind-dw4-test.PID segment
+Uninitialised byte(s) found during client check request
+ at 0x........: croak (dw4.c:32)
+ by 0x........: main (dw4.c:87)
+ Address 0x........ is 0 bytes after the brk data segment limit 0x........
+
+Uninitialised byte(s) found during client check request
+ at 0x........: croak (dw4.c:32)
+ by 0x........: main (dw4.c:89)
+ Address 0x........ is in the brk data segment 0x........-0x........
+
+Uninitialised byte(s) found during client check request
+ at 0x........: croak (dw4.c:32)
+ by 0x........: main (dw4.c:91)
+ Address 0x........ is in the brk data segment 0x........-0x........
+
+Unaddressable byte(s) found during client check request
+ at 0x........: croak (dw4.c:25)
+ by 0x........: main (dw4.c:93)
+ Address 0x........ is 1024 bytes after the brk data segment limit 0x........
+
|
|
From: Tom H. <to...@co...> - 2014-12-29 04:05:37
|
valgrind revision: 14833 VEX revision: 3045 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) GDB: GNU gdb (GDB) Fedora (7.3.50.20110722-16.fc16) Assembler: GNU assembler version 2.21.53.0.1-6.fc16 20110716 C library: GNU C Library development release version 2.14.90 uname -mrs: Linux 3.17.7-300.fc21.x86_64 x86_64 Vendor version: Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2014-12-29 02:51:44 GMT Ended at 2014-12-29 04:04:57 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 698 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == --tools=none,memcheck,callgrind,helgrind,cachegrind,drd,massif --reps=3 --vg=../valgrind-new --vg=../valgrind-old -- Running tests in perf ---------------------------------------------- -- bigcode1 -- bigcode1 valgrind-new:0.11s no: 1.7s (15.2x, -----) me: 3.4s (31.3x, -----) ca:14.3s (130.2x, -----) he: 2.1s (19.3x, -----) ca: 3.9s (35.1x, -----) dr: 2.0s (18.6x, -----) ma: 2.0s (17.8x, -----) bigcode1 valgrind-old:0.11s no: 1.7s (15.3x, -0.6%) me: 3.4s (31.2x, 0.3%) ca:14.4s (130.8x, -0.5%) he: 2.1s (18.9x, 1.9%) ca: 3.9s (35.3x, -0.5%) dr: 2.1s (18.7x, -0.5%) ma: 2.0s (18.1x, -1.5%) -- bigcode2 -- bigcode2 valgrind-new:0.10s no: 4.0s (39.9x, -----) me: 8.6s (86.4x, -----) ca:26.6s (266.5x, -----) he: 5.2s (51.7x, -----) ca: 7.3s (72.8x, -----) dr: 4.8s (47.5x, -----) ma: 4.6s (45.9x, -----) bigcode2 valgrind-old:0.10s no: 4.0s (40.4x, -1.3%) me: 8.6s (85.8x, 0.7%) ca:26.3s (263.2x, 1.2%) he: 5.1s (50.6x, 2.1%) ca: 7.3s (73.5x, -1.0%) dr: 4.8s (48.0x, -1.1%) ma: 4.7s (47.1x, -2.6%) -- bz2 -- bz2 valgrind-new:0.52s no: 1.6s ( 3.1x, -----) me: 5.8s (11.1x, -----) ca:13.3s (25.6x, -----) he: 8.4s (16.1x, -----) ca:10.9s (21.0x, -----) dr:10.6s (20.3x, -----) ma: 1.6s ( 3.1x, -----) bz2 valgrind-old:0.52s no: 1.6s ( 3.1x, 0.6%) me: 5.8s (11.1x, -0.2%) ca:13.3s (25.6x, -0.2%) he: 8.4s (16.2x, -0.5%) ca:11.0s (21.1x, -0.2%) dr:10.6s (20.4x, -0.2%) ma: 1.6s ( 3.1x, -0.6%) -- fbench -- fbench valgrind-new:0.22s no: 1.0s ( 4.6x, -----) me: 3.8s (17.1x, -----) ca: 5.6s (25.5x, -----) he: 2.8s (12.8x, -----) ca: 3.2s (14.4x, -----) dr: 2.7s (12.1x, -----) ma: 1.1s ( 4.8x, -----) fbench valgrind-old:0.22s no: 1.0s ( 4.6x, 1.0%) me: 3.8s (17.1x, -0.3%) ca: 5.6s (25.6x, -0.4%) he: 2.9s (13.0x, -1.4%) ca: 3.1s (14.2x, 1.6%) dr: 2.6s (12.0x, 0.4%) ma: 1.1s ( 4.8x, -1.0%) -- ffbench -- ffbench valgrind-new:0.21s no: 0.9s ( 4.5x, -----) me: 2.9s (13.9x, -----) ca: 1.9s ( 9.0x, -----) he: 5.8s (27.6x, -----) ca: 4.2s (20.0x, -----) dr: 3.4s (16.2x, -----) ma: 0.9s ( 4.2x, -----) ffbench valgrind-old:0.21s no: 0.9s ( 4.5x, 1.1%) me: 2.9s (14.0x, -0.3%) ca: 1.9s ( 8.9x, 1.1%) he: 5.2s (25.0x, 9.3%) ca: 4.2s (20.0x, -0.2%) dr: 3.4s (16.1x, 0.6%) ma: 0.9s ( 4.2x, 0.0%) -- heap -- heap valgrind-new:0.08s no: 0.6s ( 7.9x, -----) me: 5.1s (64.1x, -----) ca: 6.7s (83.6x, -----) he: 6.8s (85.5x, -----) ca: 3.3s (41.5x, -----) dr: 4.4s (54.5x, -----) ma: 4.7s (58.9x, -----) heap valgrind-old:0.08s no: 0.6s ( 7.8x, 1.6%) me: 5.0s (62.9x, 1.9%) ca: 6.7s (83.8x, -0.1%) he: 6.8s (85.2x, 0.3%) ca: 3.3s (41.5x, 0.0%) dr: 4.3s (54.4x, 0.2%) ma: 4.8s (59.8x, -1.5%) -- heap_pdb4 -- heap_pdb4 valgrind-new:0.11s no: 0.7s ( 6.2x, -----) me: 8.7s (78.9x, -----) ca: 7.2s (65.4x, -----) he: 7.9s (72.1x, -----) ca: 3.6s (33.1x, -----) dr: 5.4s (48.7x, -----) ma: 5.0s (45.1x, -----) heap_pdb4 valgrind-old:0.11s no: 0.7s ( 6.3x, -1.5%) me: 8.5s (77.2x, 2.2%) ca: 7.0s (63.5x, 2.8%) he: 7.8s (70.5x, 2.1%) ca: 3.5s (32.3x, 2.5%) dr: 5.2s (47.6x, 2.2%) ma: 4.9s (44.6x, 1.0%) -- many-loss-records -- many-loss-records valgrind-new:0.01s no: 0.2s (25.0x, -----) me: 1.4s (137.0x, -----) ca: 1.0s (104.0x, -----) he: 1.2s (119.0x, -----) ca: 0.7s (69.0x, -----) dr: 1.1s (106.0x, -----) ma: 0.9s (95.0x, -----) many-loss-records valgrind-old:0.01s no: 0.2s (25.0x, 0.0%) me: 1.4s (139.0x, -1.5%) ca: 1.0s (104.0x, 0.0%) he: 1.2s (119.0x, 0.0%) ca: 0.7s (66.0x, 4.3%) dr: 1.1s (106.0x, 0.0%) ma: 1.0s (96.0x, -1.1%) -- many-xpts -- many-xpts valgrind-new:0.04s no: 0.3s ( 7.8x, -----) me: 1.9s (47.5x, -----) ca: 2.7s (66.5x, -----) he: 2.2s (55.2x, -----) ca: 1.0s (24.0x, -----) dr: 1.5s (37.8x, -----) ma: 1.4s (35.2x, -----) many-xpts valgrind-old:0.04s no: 0.3s ( 7.8x, 0.0%) me: 1.9s (47.5x, 0.0%) ca: 2.7s (66.8x, -0.4%) he: 2.2s (54.5x, 1.4%) ca: 1.0s (24.0x, 0.0%) dr: 1.5s (38.0x, -0.7%) ma: 1.4s (35.8x, -1.4%) -- sarp -- sarp valgrind-new:0.02s no: 0.3s (14.5x, -----) me: 2.5s (122.5x, -----) ca: 1.7s (85.0x, -----) he: 6.7s (336.0x, -----) ca: 0.9s (45.0x, -----) dr: 1.0s (50.0x, -----) ma: 0.3s (14.5x, -----) sarp valgrind-old:0.02s no: 0.3s (13.5x, 6.9%) me: 2.5s (122.5x, 0.0%) ca: 1.7s (85.5x, -0.6%) he: 6.7s (333.0x, 0.9%) ca: 0.9s (44.5x, 1.1%) dr: 1.0s (50.0x, 0.0%) ma: 0.3s (15.5x, -6.9%) -- tinycc -- tinycc valgrind-new:0.15s no: 1.4s ( 9.3x, -----) me: 8.8s (58.3x, -----) ca:10.8s (72.3x, -----) he: 9.3s (61.9x, -----) ca: 7.8s (51.9x, -----) dr: 7.8s (51.9x, -----) ma: 2.4s (16.1x, -----) tinycc valgrind-old:0.15s no: 1.4s ( 9.2x, 0.7%) me: 8.7s (58.0x, 0.6%) ca:10.8s (71.7x, 0.8%) he: 9.3s (61.9x, 0.0%) ca: 7.8s (52.2x, -0.6%) dr: 7.9s (52.5x, -1.3%) ma: 2.4s (15.9x, 1.2%) -- Finished tests in perf ---------------------------------------------- == 11 programs, 154 timings ================= real 34m28.485s user 33m34.267s sys 0m22.861s |
|
From: Rich C. <rc...@wi...> - 2014-12-29 04:04:19
|
valgrind revision: 14833
VEX revision: 3045
C compiler: gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064]
GDB: GNU gdb (GDB; openSUSE 13.2) 7.8
Assembler: GNU assembler (GNU Binutils; openSUSE 13.2) 2.24.0.20140403-6.1
C library: GNU C Library (GNU libc) stable release version 2.19 (git 9a869d822025)
uname -mrs: Linux 3.16.6-2-desktop x86_64
Vendor version: openSUSE 13.2 (Harlequin)
Nightly build on ultra ( gcc (SUSE Linux) 4.8.3 20140627 [gcc-4_8-branch revision 212064] Linux 3.16.6-2-desktop x86_64 )
Started at 2014-12-28 21:30:01 CST
Ended at 2014-12-28 22:04:00 CST
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
== 615 tests, 6 stderr failures, 0 stdout failures, 0 stderrB failures, 1 stdoutB failure, 0 post failures ==
gdbserver_tests/hgtls (stdoutB)
memcheck/tests/err_disable3 (stderr)
memcheck/tests/err_disable4 (stderr)
memcheck/tests/threadname (stderr)
memcheck/tests/threadname_xml (stderr)
helgrind/tests/hg05_race2 (stderr)
helgrind/tests/tc09_bad_unlock (stderr)
=================================================
./valgrind-new/gdbserver_tests/hgtls.stdoutB.diff
=================================================
--- hgtls.stdoutB.exp 2014-12-28 21:47:20.674704226 -0600
+++ hgtls.stdoutB.out 2014-12-28 21:51:48.393336510 -0600
@@ -35,11 +35,11 @@
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
=================================================
./valgrind-new/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2014-12-28 21:47:46.021006761 -0600
+++ hg05_race2.stderr.out 2014-12-28 21:58:28.850312919 -0600
@@ -26,8 +26,7 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack
----------------------------------------------------------------
@@ -42,8 +41,7 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-new/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2014-12-28 21:47:46.045006101 -0600
+++ tc09_bad_unlock.stderr.out 2014-12-28 21:58:56.450552780 -0600
@@ -37,7 +37,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:31)
by 0x........: main (tc09_bad_unlock.c:49)
Address 0x........ is on thread #x's stack
- in frame #x, created by nearly_main (tc09_bad_unlock.c:16)
----------------------------------------------------------------
=================================================
./valgrind-new/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-12-28 21:47:21.363685267 -0600
+++ err_disable3.stderr.out 2014-12-28 21:53:39.477278941 -0600
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-new/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-12-28 21:47:22.034666804 -0600
+++ err_disable4.stderr.out 2014-12-28 21:53:40.725244589 -0600
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-new/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-12-28 21:47:21.710675719 -0600
+++ threadname.stderr.out 2014-12-28 21:55:40.021960649 -0600
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:61)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:61)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-new/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-12-28 21:47:21.628677975 -0600
+++ threadname_xml.stderr.out 2014-12-28 21:55:40.660943058 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
=================================================
./valgrind-old/gdbserver_tests/hgtls.stdoutB.diff
=================================================
--- hgtls.stdoutB.exp 2014-12-28 21:30:18.036924171 -0600
+++ hgtls.stdoutB.out 2014-12-28 21:35:04.426020320 -0600
@@ -35,11 +35,11 @@
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
-test so_extern tls_ip 0x........ ip 0x........ equal 1
+test so_extern tls_ip 0x........ ip 0x........ equal 0
[New Thread ....]
Breakpoint 1, tls_ptr (p=0x........) at tls.c:55
55 int here = 0;
=================================================
./valgrind-old/helgrind/tests/hg05_race2.stderr.diff
=================================================
--- hg05_race2.stderr.exp 2014-12-28 21:30:44.789185874 -0600
+++ hg05_race2.stderr.out 2014-12-28 21:41:45.139960286 -0600
@@ -26,8 +26,7 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack
----------------------------------------------------------------
@@ -42,8 +41,7 @@
at 0x........: th (hg05_race2.c:17)
by 0x........: mythread_wrapper (hg_intercepts.c:...)
...
- Location 0x........ is 0 bytes inside foo.poot[5].plop[11],
- declared at hg05_race2.c:24, in frame #x of thread x
+ Address 0x........ is on thread #x's stack
ERROR SUMMARY: 2 errors from 2 contexts (suppressed: 0 from 0)
=================================================
./valgrind-old/helgrind/tests/tc09_bad_unlock.stderr.diff
=================================================
--- tc09_bad_unlock.stderr.exp 2014-12-28 21:30:44.811185267 -0600
+++ tc09_bad_unlock.stderr.out 2014-12-28 21:42:12.629201833 -0600
@@ -37,7 +37,6 @@
by 0x........: nearly_main (tc09_bad_unlock.c:31)
by 0x........: main (tc09_bad_unlock.c:49)
Address 0x........ is on thread #x's stack
- in frame #x, created by nearly_main (tc09_bad_unlock.c:16)
----------------------------------------------------------------
=================================================
./valgrind-old/memcheck/tests/err_disable3.stderr.diff
=================================================
--- err_disable3.stderr.exp 2014-12-28 21:30:18.432913243 -0600
+++ err_disable3.stderr.out 2014-12-28 21:36:56.591924611 -0600
@@ -10,8 +10,6 @@
Thread 2:
Invalid read of size 1
at 0x........: err (err_disable3.c:25)
- by 0x........: child_fn (err_disable3.c:31)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable3.c:42)
=================================================
./valgrind-old/memcheck/tests/err_disable4.stderr.diff
=================================================
--- err_disable4.stderr.exp 2014-12-28 21:30:18.975898258 -0600
+++ err_disable4.stderr.out 2014-12-28 21:36:57.877889118 -0600
@@ -1501,8 +1501,6 @@
Thread x:
Invalid read of size 1
at 0x........: err (err_disable4.c:41)
- by 0x........: child_fn_2 (err_disable4.c:55)
- ...
Address 0x........ is 5 bytes inside a block of size 10 free'd
at 0x........: free (vg_replace_malloc.c:...)
by 0x........: main (err_disable4.c:68)
=================================================
./valgrind-old/memcheck/tests/threadname.stderr.diff
=================================================
--- threadname.stderr.exp 2014-12-28 21:30:18.724905185 -0600
+++ threadname.stderr.out 2014-12-28 21:38:57.048600009 -0600
@@ -9,36 +9,12 @@
Thread 2:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_0 (threadname.c:61)
- ...
Address 0x........ is 0 bytes after a block of size 2 alloc'd
at 0x........: malloc (vg_replace_malloc.c:...)
by 0x........: bad_things (threadname.c:15)
by 0x........: child_fn_0 (threadname.c:61)
...
-Thread 3 try1:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
- Address 0x........ is 0 bytes after a block of size 3 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_1 (threadname.c:46)
- ...
-
-Thread 4 012345678901234:
-Invalid write of size 1
- at 0x........: bad_things (threadname.c:16)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
- Address 0x........ is 0 bytes after a block of size 4 alloc'd
- at 0x........: malloc (vg_replace_malloc.c:...)
- by 0x........: bad_things (threadname.c:15)
- by 0x........: child_fn_2 (threadname.c:30)
- ...
-
Thread 1:
Invalid write of size 1
at 0x........: bad_things (threadname.c:16)
=================================================
./valgrind-old/memcheck/tests/threadname_xml.stderr.diff
=================================================
--- threadname_xml.stderr.exp 2014-12-28 21:30:18.590908883 -0600
+++ threadname_xml.stderr.out 2014-12-28 21:38:57.683582483 -0600
@@ -94,14 +94,6 @@
<file>threadname.c</file>
<line>...</line>
</frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_0</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
</stack>
<auxwhat>Address 0x........ is 0 bytes after a block of size 2 alloc'd</auxwhat>
<stack>
@@ -135,112 +127,6 @@
<error>
<unique>0x........</unique>
<tid>...</tid>
- <threadname>try1</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 3 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>malloc</fn>
- <dir>...</dir>
- <file>vg_replace_malloc.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_1</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
-</error>
-
-<error>
- <unique>0x........</unique>
- <tid>...</tid>
- <threadname>012345678901234</threadname>
- <kind>InvalidWrite</kind>
- <what>Invalid write of size 1</what>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>bad_things</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
- <fn>child_fn_2</fn>
- <dir>...</dir>
- <file>threadname.c</file>
- <line>...</line>
- </frame>
- </stack>
- <auxwhat>Address 0x........ is 0 bytes after a block of size 4 alloc'd</auxwhat>
- <stack>
- <frame>
- <ip>0x........</ip>
- <obj>...</obj>
<truncated beyond 100 lines>
|