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
(16) |
2
(16) |
3
(17) |
|
4
(14) |
5
(16) |
6
(4) |
7
(18) |
8
(24) |
9
(19) |
10
(8) |
|
11
(6) |
12
(4) |
13
|
14
|
15
(1) |
16
(15) |
17
(13) |
|
18
(16) |
19
(11) |
20
(18) |
21
(6) |
22
(4) |
23
(15) |
24
(15) |
|
25
(22) |
26
(17) |
27
(18) |
28
(2) |
29
(16) |
30
(8) |
|
|
From: <sv...@va...> - 2012-11-23 16:17:54
|
florian 2012-11-23 16:17:43 +0000 (Fri, 23 Nov 2012)
New Revision: 13137
Log:
Changes to allow compilation with -Wwrite-strings. That compiler option
is not used for testcases, just for valgrind proper.
Modified files:
trunk/Makefile.tool-tests.am
trunk/cachegrind/cg_merge.c
trunk/callgrind/dump.c
trunk/callgrind/main.c
trunk/configure.in
trunk/coregrind/m_commandline.c
trunk/coregrind/m_debuginfo/d3basics.c
trunk/coregrind/m_debuginfo/debuginfo.c
trunk/coregrind/m_debuginfo/priv_d3basics.h
trunk/coregrind/m_debuginfo/priv_storage.h
trunk/coregrind/m_debuginfo/priv_tytypes.h
trunk/coregrind/m_debuginfo/readdwarf.c
trunk/coregrind/m_debuginfo/readdwarf3.c
trunk/coregrind/m_debuginfo/readelf.c
trunk/coregrind/m_debuginfo/readpdb.c
trunk/coregrind/m_debuginfo/storage.c
trunk/coregrind/m_debuginfo/tytypes.c
trunk/coregrind/m_debuglog.c
trunk/coregrind/m_gdbserver/m_gdbserver.c
trunk/coregrind/m_gdbserver/regdef.h
trunk/coregrind/m_gdbserver/remote-utils.c
trunk/coregrind/m_gdbserver/server.c
trunk/coregrind/m_gdbserver/server.h
trunk/coregrind/m_gdbserver/signals.c
trunk/coregrind/m_gdbserver/target.c
trunk/coregrind/m_gdbserver/target.h
trunk/coregrind/m_gdbserver/utils.c
trunk/coregrind/m_gdbserver/valgrind-low-amd64.c
trunk/coregrind/m_gdbserver/valgrind-low-arm.c
trunk/coregrind/m_gdbserver/valgrind-low-mips32.c
trunk/coregrind/m_gdbserver/valgrind-low-ppc32.c
trunk/coregrind/m_gdbserver/valgrind-low-ppc64.c
trunk/coregrind/m_gdbserver/valgrind-low-s390x.c
trunk/coregrind/m_gdbserver/valgrind-low-x86.c
trunk/coregrind/m_gdbserver/valgrind_low.h
trunk/coregrind/m_libcbase.c
trunk/coregrind/m_libcfile.c
trunk/coregrind/m_machine.c
trunk/coregrind/m_main.c
trunk/coregrind/m_mallocfree.c
trunk/coregrind/m_redir.c
trunk/coregrind/m_syswrap/syswrap-xen.c
trunk/coregrind/m_transtab.c
trunk/coregrind/m_xarray.c
trunk/coregrind/pub_core_debuginfo.h
trunk/coregrind/vgdb.c
trunk/drd/tests/unit_bitmap.c
trunk/exp-sgcheck/sg_main.c
trunk/helgrind/hg_errors.c
trunk/helgrind/hg_errors.h
trunk/helgrind/hg_main.c
trunk/helgrind/libhb_core.c
trunk/include/pub_tool_gdbserver.h
trunk/include/pub_tool_libcbase.h
trunk/include/pub_tool_libcfile.h
trunk/include/pub_tool_machine.h
trunk/include/pub_tool_xarray.h
trunk/massif/ms_main.c
trunk/memcheck/mc_errors.c
trunk/memcheck/mc_leakcheck.c
trunk/memcheck/mc_main.c
trunk/memcheck/mc_malloc_wrappers.c
trunk/memcheck/mc_translate.c
Modified: trunk/exp-sgcheck/sg_main.c (+4 -4)
===================================================================
--- trunk/exp-sgcheck/sg_main.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/exp-sgcheck/sg_main.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -146,7 +146,7 @@
vectors describe the same set of variables but are not structurally
identical. */
-static inline Bool StackBlock__sane ( StackBlock* fb )
+static inline Bool StackBlock__sane ( const StackBlock* fb )
{
if (fb->name[ sizeof(fb->name)-1 ] != 0)
return False;
@@ -158,7 +158,7 @@
}
/* Generate an arbitrary total ordering on StackBlocks. */
-static Word StackBlock__cmp ( StackBlock* fb1, StackBlock* fb2 )
+static Word StackBlock__cmp ( const StackBlock* fb1, const StackBlock* fb2 )
{
Word r;
tl_assert(StackBlock__sane(fb1));
@@ -261,7 +261,7 @@
UWord key, val;
/* First, normalise, as per comments above. */
- VG_(setCmpFnXA)( orig, (Int(*)(void*,void*))StackBlock__cmp );
+ VG_(setCmpFnXA)( orig, (XACmpFn_t)StackBlock__cmp );
VG_(sortXA)( orig );
/* Now get rid of any exact duplicates. */
@@ -944,7 +944,7 @@
messages. */
static void show_Invar( HChar* buf, Word nBuf, Invar* inv, Word depth )
{
- HChar* str;
+ const HChar* str;
tl_assert(nBuf >= 128);
buf[0] = 0;
switch (inv->tag) {
Modified: trunk/drd/tests/unit_bitmap.c (+1 -1)
===================================================================
--- trunk/drd/tests/unit_bitmap.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/drd/tests/unit_bitmap.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -63,7 +63,7 @@
const HChar* format, va_list vargs)
{ assert(0); }
void VG_(ssort)( void* base, SizeT nmemb, SizeT size,
- Int (*compar)(void*, void*) )
+ Int (*compar)(const void*, const void*) )
{ assert(0); }
/* Actual unit test */
Modified: trunk/coregrind/m_transtab.c (+5 -6)
===================================================================
--- trunk/coregrind/m_transtab.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_transtab.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -623,10 +623,10 @@
}
static
-Int HostExtent__cmpOrd ( void* v1, void* v2 )
+Int HostExtent__cmpOrd ( const void* v1, const void* v2 )
{
- HostExtent* hx1 = (HostExtent*)v1;
- HostExtent* hx2 = (HostExtent*)v2;
+ const HostExtent* hx1 = v1;
+ const HostExtent* hx2 = v2;
if (hx1->start + hx1->len <= hx2->start) return -1;
if (hx2->start + hx2->len <= hx1->start) return 1;
return 0; /* partial overlap */
@@ -656,8 +656,7 @@
Word firstW = -1, lastW = -1;
Bool found = VG_(lookupXA_UNSAFE)(
host_extents, &key, &firstW, &lastW,
- (Int(*)(void*,void*))HostExtent__cmpOrd
- );
+ HostExtent__cmpOrd );
vg_assert(firstW == lastW); // always true, even if not found
if (found) {
HostExtent* hx = VG_(indexXA)(host_extents, firstW);
@@ -1044,7 +1043,7 @@
{
# define BAD(_str) do { whassup = (_str); goto bad; } while (0)
- HChar* whassup = NULL;
+ const HChar* whassup = NULL;
Int i, j, k, n, ec_num, ec_idx;
TTEntry* tte;
UShort tteno;
Modified: trunk/coregrind/m_libcfile.c (+2 -2)
===================================================================
--- trunk/coregrind/m_libcfile.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_libcfile.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1054,7 +1054,7 @@
}
-HChar *VG_(basename)(const HChar *path)
+const HChar *VG_(basename)(const HChar *path)
{
static HChar buf[VKI_PATH_MAX];
@@ -1090,7 +1090,7 @@
}
-HChar *VG_(dirname)(const HChar *path)
+const HChar *VG_(dirname)(const HChar *path)
{
static HChar buf[VKI_PATH_MAX];
Modified: trunk/coregrind/m_gdbserver/valgrind_low.h (+1 -1)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind_low.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/valgrind_low.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -63,7 +63,7 @@
including the two shadow registers sets.
This is mandatory to use the option --vgdb-shadow-registers=yes.
Returns NULL if there is no target xml file*/
- char* (*target_xml) (Bool shadow_mode);
+ const char* (*target_xml) (Bool shadow_mode);
};
Modified: trunk/coregrind/m_gdbserver/valgrind-low-mips32.c (+1 -1)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-mips32.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/valgrind-low-mips32.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -230,7 +230,7 @@
}
static
-char* target_xml (Bool shadow_mode)
+const char* target_xml (Bool shadow_mode)
{
if (shadow_mode) {
return "mips-linux-valgrind.xml";
Modified: trunk/coregrind/m_debuginfo/d3basics.c (+5 -5)
===================================================================
--- trunk/coregrind/m_debuginfo/d3basics.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_debuginfo/d3basics.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -48,7 +48,7 @@
#include "priv_d3basics.h" /* self */
#include "priv_storage.h"
-HChar* ML_(pp_DW_children) ( DW_children hashch )
+const HChar* ML_(pp_DW_children) ( DW_children hashch )
{
switch (hashch) {
case DW_children_no: return "no children";
@@ -57,7 +57,7 @@
return "DW_children_???";
}
-HChar* ML_(pp_DW_TAG) ( DW_TAG tag )
+const HChar* ML_(pp_DW_TAG) ( DW_TAG tag )
{
switch (tag) {
case DW_TAG_padding: return "DW_TAG_padding";
@@ -152,7 +152,7 @@
return "DW_TAG_???";
}
-HChar* ML_(pp_DW_FORM) ( DW_FORM form )
+const HChar* ML_(pp_DW_FORM) ( DW_FORM form )
{
switch (form) {
case DW_FORM_addr: return "DW_FORM_addr";
@@ -186,7 +186,7 @@
return "DW_FORM_???";
}
-HChar* ML_(pp_DW_AT) ( DW_AT attr )
+const HChar* ML_(pp_DW_AT) ( DW_AT attr )
{
switch (attr) {
case DW_AT_sibling: return "DW_AT_sibling";
@@ -1013,7 +1013,7 @@
Word i, nGuards;
MaybeULong *mul, *mul2;
- HChar* badness = NULL;
+ const HChar* badness = NULL;
UChar* p = &gx->payload[0]; /* must remain unsigned */
XArray* results = VG_(newXA)( ML_(dinfo_zalloc), "di.d3basics.etG.1",
ML_(dinfo_free),
Modified: trunk/coregrind/m_commandline.c (+1 -1)
===================================================================
--- trunk/coregrind/m_commandline.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_commandline.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -53,7 +53,7 @@
// Note that we deliberately don't free the malloc'd memory. See
// comment at call site.
-static HChar* read_dot_valgrindrc ( HChar* dir )
+static HChar* read_dot_valgrindrc ( const HChar* dir )
{
Int n;
SysRes fd;
Modified: trunk/coregrind/m_debuginfo/tytypes.c (+3 -3)
===================================================================
--- trunk/coregrind/m_debuginfo/tytypes.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_debuginfo/tytypes.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -198,7 +198,7 @@
/* Print a whole XArray of TyEnts, debug-style */
-void ML_(pp_TyEnts)( XArray* tyents, HChar* who )
+void ML_(pp_TyEnts)( XArray* tyents, const HChar* who )
{
Word i, n;
VG_(printf)("------ %s ------\n", who);
@@ -410,7 +410,7 @@
/* Generates a total ordering on TyEnts based only on their .cuOff
fields. */
-Word ML_(TyEnt__cmp_by_cuOff_only) ( TyEnt* te1, TyEnt* te2 )
+Word ML_(TyEnt__cmp_by_cuOff_only) ( const TyEnt* te1, const TyEnt* te2 )
{
if (te1->cuOff < te2->cuOff) return -1;
if (te1->cuOff > te2->cuOff) return 1;
@@ -477,7 +477,7 @@
return VG_(strcmp)(a, b);
}
-Word ML_(TyEnt__cmp_by_all_except_cuOff) ( TyEnt* te1, TyEnt* te2 )
+Word ML_(TyEnt__cmp_by_all_except_cuOff) ( const TyEnt* te1, const TyEnt* te2 )
{
Word r;
if (te1->tag < te2->tag) return -1;
Modified: trunk/coregrind/m_debuginfo/readpdb.c (+7 -6)
===================================================================
--- trunk/coregrind/m_debuginfo/readpdb.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_debuginfo/readpdb.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1800,13 +1800,14 @@
/*--- ---*/
/*------------------------------------------------------------*/
-static Int cmp_FPO_DATA_for_canonicalisation ( void* f1V, void* f2V )
+static Int cmp_FPO_DATA_for_canonicalisation ( const void* f1V,
+ const void* f2V )
{
/* Cause FPO data to be sorted first in ascending order of range
starts, and for entries with the same range start, with the
shorter range (length) first. */
- FPO_DATA* f1 = (FPO_DATA*)f1V;
- FPO_DATA* f2 = (FPO_DATA*)f2V;
+ const FPO_DATA* f1 = f1V;
+ const FPO_DATA* f2 = f2V;
if (f1->ulOffStart < f2->ulOffStart) return -1;
if (f1->ulOffStart > f2->ulOffStart) return 1;
if (f1->cbProcSize < f2->cbProcSize) return -1;
@@ -2428,9 +2429,9 @@
/* Make up the command to run, essentially:
sh -c "strings (pename) | egrep '\.pdb|\.PDB' > (tmpname)"
*/
- HChar* sh = "/bin/sh";
- HChar* strings = "/usr/bin/strings";
- HChar* egrep = "/usr/bin/egrep";
+ const HChar* sh = "/bin/sh";
+ const HChar* strings = "/usr/bin/strings";
+ const HChar* egrep = "/usr/bin/egrep";
/* (sh) -c "(strings) (pename) | (egrep) 'pdb' > (tmpname) */
Int cmdlen = VG_(strlen)(strings) + VG_(strlen)(pename)
Modified: trunk/include/pub_tool_machine.h (+1 -1)
===================================================================
--- trunk/include/pub_tool_machine.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/include/pub_tool_machine.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -130,7 +130,7 @@
// This is very Memcheck-specific -- it's used to find the roots when
// doing leak checking.
extern void VG_(apply_to_GP_regs)(void (*f)(ThreadId tid,
- HChar* regname, UWord val));
+ const HChar* regname, UWord val));
// This iterator lets you inspect each live thread's stack bounds.
// Returns False at the end. 'tid' is the iterator and you can only
Modified: trunk/coregrind/m_gdbserver/valgrind-low-s390x.c (+1 -1)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-s390x.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/valgrind-low-s390x.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -188,7 +188,7 @@
}
static
-char* target_xml (Bool shadow_mode)
+const char* target_xml (Bool shadow_mode)
{
if (shadow_mode) {
return "s390x-generic-valgrind.xml";
Modified: trunk/coregrind/m_gdbserver/valgrind-low-ppc32.c (+1 -1)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-ppc32.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/valgrind-low-ppc32.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -323,7 +323,7 @@
}
static
-char* target_xml (Bool shadow_mode)
+const char* target_xml (Bool shadow_mode)
{
if (shadow_mode) {
return "powerpc-altivec32l-valgrind.xml";
Modified: trunk/coregrind/m_gdbserver/signals.c (+5 -5)
===================================================================
--- trunk/coregrind/m_gdbserver/signals.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/signals.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -30,15 +30,15 @@
#endif
#endif
-enum target_signal target_signal_from_name (char *name);
+enum target_signal target_signal_from_name (const char *name);
enum target_signal target_signal_from_command (int num);
/* This table must match in order and size the signals in enum target_signal
in gdb/signals.h. */
/* *INDENT-OFF* */
static struct {
- char *name;
- char *string;
+ const char *name;
+ const char *string;
} signals [] =
{
{"0", "Signal 0"},
@@ -205,7 +205,7 @@
/* Return the name for a signal. */
-char *target_signal_to_name (enum target_signal sig)
+const char *target_signal_to_name (enum target_signal sig)
{
if ((sig >= TARGET_SIGNAL_FIRST) && (sig <= TARGET_SIGNAL_LAST)
&& signals[sig].name != NULL)
@@ -217,7 +217,7 @@
}
/* Given a name, return its signal. */
-enum target_signal target_signal_from_name (char *name)
+enum target_signal target_signal_from_name (const char *name)
{
enum target_signal sig;
Modified: trunk/coregrind/m_gdbserver/server.h (+4 -4)
===================================================================
--- trunk/coregrind/m_gdbserver/server.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/server.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -76,7 +76,7 @@
returns 2 if remote_desc_activity detected the connection has been
lost and should be reopened.
msg is used for debug logging.*/
-extern int remote_desc_activity(char *msg);
+extern int remote_desc_activity(const char *msg);
/* output some status of gdbserver communication */
extern void remote_utils_output_status(void);
@@ -92,7 +92,7 @@
/* If Valgrind sink was changed by gdbserver:
Resets the valgrind sink to before the changes done by gdbserver,
and does VG_(umsg). If info != NULL, info added in VG_(usmg). */
-extern void reset_valgrind_sink(char* info);
+extern void reset_valgrind_sink(const char* info);
/* For ARM usage.
Guesses if pc is a thumb pc.
@@ -312,14 +312,14 @@
enum target_signal target_signal_from_host (int hostsig);
int target_signal_to_host_p (enum target_signal oursig);
int target_signal_to_host (enum target_signal oursig);
-char *target_signal_to_name (enum target_signal);
+const char *target_signal_to_name (enum target_signal);
/* Functions from utils.c */
/* error is like VG_(umsg), then VG_MINIMAL_LONGJMP to gdbserver toplevel. */
void error (const char *string,...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
/* first output a description of the error inside sr, then like VG_(umsg). */
-void sr_perror (SysRes sr,char *string,...) ATTR_FORMAT (printf, 2, 3);
+void sr_perror (SysRes sr,const char *string,...) ATTR_FORMAT (printf, 2, 3);
/* fatal is like VG_(umsg), then exit(1). */
void fatal (const char *string,...) ATTR_NORETURN ATTR_FORMAT (printf, 1, 2);
/* warning is like VG_(umsg). */
Modified: trunk/coregrind/m_gdbserver/server.c (+10 -8)
===================================================================
--- trunk/coregrind/m_gdbserver/server.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/server.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -53,7 +53,7 @@
or -1 otherwise. */
static
-int decode_xfer_read (char *buf, char **annex, CORE_ADDR *ofs, unsigned int *len)
+int decode_xfer_read (char *buf, const char **annex, CORE_ADDR *ofs, unsigned int *len)
{
/* Extract and NUL-terminate the annex. */
*annex = buf;
@@ -95,7 +95,7 @@
static Bool command_output_to_log = False;
/* True <=> command output goes to log instead of gdb */
-void reset_valgrind_sink(char *info)
+void reset_valgrind_sink(const char *info)
{
if (VG_(log_output_sink).fd != initial_valgrind_sink.fd
&& initial_valgrind_sink_saved) {
@@ -106,7 +106,7 @@
}
static
-void kill_request (char *msg)
+void kill_request (const char *msg)
{
VG_(umsg) ("%s", msg);
remote_close();
@@ -127,7 +127,7 @@
char s[strlen(mon)+1]; /* copy for strtok_r */
char* wcmd;
HChar* ssaveptr;
- char* endptr;
+ const char* endptr;
int kwdid;
int int_value;
@@ -200,7 +200,9 @@
int_value = 0;
endptr = "empty"; /* to report an error below */
} else {
- int_value = strtol (wcmd, &endptr, 10);
+ HChar *the_end;
+ int_value = strtol (wcmd, &the_end, 10);
+ endptr = the_end;
}
if (*endptr != '\0') {
VG_(gdb_printf) ("missing or malformed integer value\n");
@@ -301,7 +303,7 @@
case 3: /* v.wait */
wcmd = strtok_r (NULL, " ", &ssaveptr);
if (wcmd != NULL) {
- int_value = strtol (wcmd, &endptr, 10);
+ int_value = strtol (wcmd, NULL, 10);
VG_(gdb_printf) ("gdbserver: continuing in %d ms ...\n", int_value);
VG_(poll)(NULL, 0, int_value);
}
@@ -547,7 +549,7 @@
&& strncmp ("qXfer:features:read:", arg_own_buf, 20) == 0) {
CORE_ADDR ofs;
unsigned int len, doc_len;
- char *annex = NULL;
+ const char *annex = NULL;
// First, the annex is extracted from the packet received.
// Then, it is replaced by the corresponding file name.
int fd;
@@ -611,7 +613,7 @@
int n;
CORE_ADDR ofs;
unsigned int len;
- char *annex;
+ const char *annex;
/* Reject any annex; grab the offset and length. */
if (decode_xfer_read (arg_own_buf + 16, &annex, &ofs, &len) < 0
Modified: trunk/coregrind/m_gdbserver/m_gdbserver.c (+2 -1)
===================================================================
--- trunk/coregrind/m_gdbserver/m_gdbserver.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/m_gdbserver.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1269,7 +1269,8 @@
return b.ret;
}
-Int VG_(keyword_id) (HChar* keywords, HChar* input_word, kwd_report_error report)
+Int VG_(keyword_id) (const HChar* keywords, const HChar* input_word,
+ kwd_report_error report)
{
const Int il = (input_word == NULL ? 0 : VG_(strlen) (input_word));
HChar iw[il+1];
Modified: trunk/coregrind/m_debuginfo/readelf.c (+1 -1)
===================================================================
--- trunk/coregrind/m_debuginfo/readelf.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_debuginfo/readelf.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -149,7 +149,7 @@
ElfXX_Sym* sym, const HChar* sym_name, Addr sym_svma,
Bool ppc64_linux_format )
{
- HChar* space = ppc64_linux_format ? " " : "";
+ const HChar* space = ppc64_linux_format ? " " : "";
VG_(printf)("raw symbol [%4d]: ", i);
switch (ELFXX_ST_BIND(sym->st_info)) {
case STB_LOCAL: VG_(printf)("LOC "); break;
Modified: trunk/coregrind/m_debuginfo/priv_tytypes.h (+3 -3)
===================================================================
--- trunk/coregrind/m_debuginfo/priv_tytypes.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_debuginfo/priv_tytypes.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -146,7 +146,7 @@
void ML_(pp_TyEnt)( TyEnt* );
/* Print a whole XArray of TyEnts, debug-style */
-void ML_(pp_TyEnts)( XArray* tyents, HChar* who );
+void ML_(pp_TyEnts)( XArray* tyents, const HChar* who );
/* Print a TyEnt, C style, chasing stuff as necessary. */
void ML_(pp_TyEnt_C_ishly)( XArray* /* of TyEnt */ tyents,
@@ -154,11 +154,11 @@
/* Generates a total ordering on TyEnts based only on their .cuOff
fields. */
-Word ML_(TyEnt__cmp_by_cuOff_only) ( TyEnt* te1, TyEnt* te2 );
+Word ML_(TyEnt__cmp_by_cuOff_only) ( const TyEnt* te1, const TyEnt* te2 );
/* Generates a total ordering on TyEnts based on everything except
their .cuOff fields. */
-Word ML_(TyEnt__cmp_by_all_except_cuOff) ( TyEnt* te1, TyEnt* te2 );
+Word ML_(TyEnt__cmp_by_all_except_cuOff) ( const TyEnt* te1, const TyEnt* te2 );
/* Free up all directly or indirectly heap-allocated stuff attached to
this TyEnt, and set its tag to Te_EMPTY. The .cuOff field is
Modified: trunk/coregrind/m_debuginfo/priv_d3basics.h (+4 -4)
===================================================================
--- trunk/coregrind/m_debuginfo/priv_d3basics.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_debuginfo/priv_d3basics.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -562,10 +562,10 @@
}
DW_OP;
-HChar* ML_(pp_DW_children) ( DW_children hashch );
-HChar* ML_(pp_DW_TAG) ( DW_TAG tag );
-HChar* ML_(pp_DW_FORM) ( DW_FORM form );
-HChar* ML_(pp_DW_AT) ( DW_AT attr );
+const HChar* ML_(pp_DW_children) ( DW_children hashch );
+const HChar* ML_(pp_DW_TAG) ( DW_TAG tag );
+const HChar* ML_(pp_DW_FORM) ( DW_FORM form );
+const HChar* ML_(pp_DW_AT) ( DW_AT attr );
/* --- To do with evaluation of Dwarf expressions --- */
Modified: trunk/coregrind/m_syswrap/syswrap-xen.c (+2 -2)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-xen.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_syswrap/syswrap-xen.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -71,7 +71,7 @@
/*MOD*/SyscallArgs* args,
/*OUT*/SyscallStatus* status,
/*OUT*/UWord* flags,
- const char* hypercall,
+ const HChar* hypercall,
UWord subop)
{
VG_(dmsg)("WARNING: unhandled %s subop: %ld\n",
@@ -107,7 +107,7 @@
case VKI_XENMEM_populate_physmap: {
struct xen_memory_reservation *memory_reservation =
(struct xen_memory_reservation *)ARG2;
- char *which;
+ const HChar *which;
switch (ARG1) {
case VKI_XENMEM_increase_reservation:
Modified: trunk/memcheck/mc_main.c (+5 -3)
===================================================================
--- trunk/memcheck/mc_main.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/memcheck/mc_main.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -5203,14 +5203,16 @@
lcp.max_loss_records_output = 999999999; break;
case 9: { /* limited */
Int int_value;
- HChar* endptr;
+ const HChar* endptr;
wcmd = VG_(strtok_r) (NULL, " ", &ssaveptr);
if (wcmd == NULL) {
int_value = 0;
endptr = "empty"; /* to report an error below */
} else {
- int_value = VG_(strtoll10) (wcmd, &endptr);
+ HChar *the_end;
+ int_value = VG_(strtoll10) (wcmd, &the_end);
+ endptr = the_end;
}
if (*endptr != '\0')
VG_(gdb_printf) ("missing or malformed integer value\n");
@@ -5256,7 +5258,7 @@
SizeT szB = 1;
Addr bad_addr;
UInt okind;
- HChar* src;
+ const HChar* src;
UInt otag;
UInt ecu;
ExeContext* origin_ec;
Modified: trunk/include/pub_tool_libcfile.h (+2 -2)
===================================================================
--- trunk/include/pub_tool_libcfile.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/include/pub_tool_libcfile.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -91,8 +91,8 @@
extern Int VG_(readlink)( const HChar* path, HChar* buf, UInt bufsize );
extern Int VG_(getdents)( Int fd, struct vki_dirent *dirp, UInt count );
-extern HChar* VG_(basename)( const HChar* path );
-extern HChar* VG_(dirname) ( const HChar* path );
+extern const HChar* VG_(basename)( const HChar* path );
+extern const HChar* VG_(dirname) ( const HChar* path );
/* Return the name of a directory for temporary files. */
extern const HChar* VG_(tmpdir)(void);
Modified: trunk/include/pub_tool_libcbase.h (+1 -1)
===================================================================
--- trunk/include/pub_tool_libcbase.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/include/pub_tool_libcbase.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -179,7 +179,7 @@
/* Like qsort(). The name VG_(ssort) is for historical reasons -- it used
* to be a shell sort, but is now a quicksort. */
extern void VG_(ssort)( void* base, SizeT nmemb, SizeT size,
- Int (*compar)(void*, void*) );
+ Int (*compar)(const void*, const void*) );
/* Returns the base-2 logarithm of a 32 bit unsigned number. Returns
-1 if it is not a power of two. Nb: VG_(log2)(1) == 0. */
Modified: trunk/include/pub_tool_gdbserver.h (+1 -1)
===================================================================
--- trunk/include/pub_tool_gdbserver.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/include/pub_tool_gdbserver.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -160,7 +160,7 @@
kwd_report_none,
kwd_report_all,
kwd_report_duplicated_matches } kwd_report_error;
-extern Int VG_(keyword_id) (HChar* keywords, HChar* input_word,
+extern Int VG_(keyword_id) (const HChar* keywords, const HChar* input_word,
kwd_report_error report);
/* Extract an address and (optionally) a size from the string
Modified: trunk/helgrind/hg_main.c (+3 -3)
===================================================================
--- trunk/helgrind/hg_main.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/helgrind/hg_main.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1951,9 +1951,9 @@
this is a real lock operation (not a speculative "tryLock"
kind of thing). Duh. Deadlock coming up; but at least
produce an error message. */
- HChar* errstr = "Attempt to re-lock a "
- "non-recursive lock I already hold";
- HChar* auxstr = "Lock was previously acquired";
+ const HChar* errstr = "Attempt to re-lock a "
+ "non-recursive lock I already hold";
+ const HChar* auxstr = "Lock was previously acquired";
if (lk->acquired_at) {
HG_(record_error_Misc_w_aux)( thr, errstr, auxstr, lk->acquired_at );
} else {
Modified: trunk/coregrind/m_xarray.c (+7 -7)
===================================================================
--- trunk/coregrind/m_xarray.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_xarray.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -41,7 +41,7 @@
void* (*alloc) ( const HChar*, SizeT ); /* alloc fn (nofail) */
const HChar* cc; /* cost centre for alloc */
void (*free) ( void* ); /* free fn */
- Int (*cmpFn) ( void*, void* ); /* cmp fn (may be NULL) */
+ Int (*cmpFn) ( const void*, const void* ); /* cmp fn (may be NULL) */
Word elemSzB; /* element size in bytes */
void* arr; /* pointer to elements */
Word usedsizeE; /* # used elements in arr */
@@ -125,7 +125,7 @@
xa->free(xa);
}
-void VG_(setCmpFnXA) ( XArray* xao, Int (*compar)(void*,void*) )
+void VG_(setCmpFnXA) ( XArray* xao, XACmpFn_t compar )
{
struct _XArray* xa = (struct _XArray*)xao;
vg_assert(xa);
@@ -178,7 +178,7 @@
}
}
-Word VG_(addToXA) ( XArray* xao, void* elem )
+Word VG_(addToXA) ( XArray* xao, const void* elem )
{
struct _XArray* xa = (struct _XArray*)xao;
vg_assert(xa);
@@ -195,7 +195,7 @@
return xa->usedsizeE-1;
}
-Word VG_(addBytesToXA) ( XArray* xao, void* bytesV, Word nbytes )
+Word VG_(addBytesToXA) ( XArray* xao, const void* bytesV, Word nbytes )
{
Word r, i;
struct _XArray* xa = (struct _XArray*)xao;
@@ -225,9 +225,9 @@
xa->sorted = True;
}
-Bool VG_(lookupXA_UNSAFE) ( XArray* xao, void* key,
+Bool VG_(lookupXA_UNSAFE) ( XArray* xao, const void* key,
/*OUT*/Word* first, /*OUT*/Word* last,
- Int(*cmpFn)(void*,void*) )
+ Int(*cmpFn)(const void*, const void*) )
{
Word lo, mid, hi, cres;
void* midv;
@@ -264,7 +264,7 @@
}
}
-Bool VG_(lookupXA) ( XArray* xao, void* key,
+Bool VG_(lookupXA) ( XArray* xao, const void* key,
/*OUT*/Word* first, /*OUT*/Word* last )
{
struct _XArray* xa = (struct _XArray*)xao;
Modified: trunk/coregrind/m_main.c (+2 -2)
===================================================================
--- trunk/coregrind/m_main.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_main.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1161,8 +1161,8 @@
const HChar* toolname )
{
Int i;
- HChar* xpre = VG_(clo_xml) ? " <line>" : "";
- HChar* xpost = VG_(clo_xml) ? "</line>" : "";
+ const HChar* xpre = VG_(clo_xml) ? " <line>" : "";
+ const HChar* xpost = VG_(clo_xml) ? "</line>" : "";
UInt (*umsg_or_xml)( const HChar*, ... )
= VG_(clo_xml) ? VG_(printf_xml) : VG_(umsg);
Modified: trunk/configure.in (+23 -0)
===================================================================
--- trunk/configure.in 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/configure.in 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1417,6 +1417,29 @@
AM_CONDITIONAL(HAS_POINTER_SIGN_WARNING, test x$no_pointer_sign = xyes)
+# does this compiler support -Wno-write-strings ?
+AC_MSG_CHECKING([if gcc accepts -Wwrite-strings])
+
+safe_CFLAGS=$CFLAGS
+CFLAGS="-Wwrite-strings"
+
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[
+ return 0;
+]])], [
+no_write_strings=yes
+AC_MSG_RESULT([yes])
+], [
+no_write_strings=no
+AC_MSG_RESULT([no])
+])
+CFLAGS=$safe_CFLAGS
+
+if test x$no_write_strings = xyes; then
+ CFLAGS="$CFLAGS -Wwrite-strings"
+fi
+
+AM_CONDITIONAL(HAS_WRITE_STRINGS_WARNING, test x$no_write_strings = xyes)
+
# does this compiler support -Wno-empty-body ?
AC_MSG_CHECKING([if gcc accepts -Wno-empty-body])
Modified: trunk/include/pub_tool_xarray.h (+8 -6)
===================================================================
--- trunk/include/pub_tool_xarray.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/include/pub_tool_xarray.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -46,6 +46,8 @@
/* It's an abstract type. Bwaha. */
typedef struct _XArray XArray;
+typedef Int (*XACmpFn_t)(const void *, const void *);
+
/* Create new XArray, using given allocation and free function, and
for elements of the specified size. Alloc fn must not fail (that
is, if it returns it must have succeeded.) */
@@ -60,17 +62,17 @@
/* Set the comparison function for this XArray. This clears an
internal 'array is sorted' flag, which means you must call sortXA
before making further queries with lookupXA. */
-extern void VG_(setCmpFnXA) ( XArray*, Int (*compar)(void*,void*) );
+extern void VG_(setCmpFnXA) ( XArray*, XACmpFn_t);
/* Add an element to an XArray. Element is copied into the XArray.
Index at which it was added is returned. Note this will be
invalidated if the array is later sortXA'd. */
-extern Word VG_(addToXA) ( XArray*, void* elem );
+extern Word VG_(addToXA) ( XArray*, const void* elem );
/* Add a sequence of bytes to an XArray of bytes. Asserts if nbytes
is negative or the array's element size is not 1. Returns the
index at which the first byte was added. */
-extern Word VG_(addBytesToXA) ( XArray* xao, void* bytesV, Word nbytes );
+extern Word VG_(addBytesToXA) ( XArray* xao, const void* bytesV, Word nbytes );
/* Sort an XArray using its comparison function, if set; else bomb.
Probably not a stable sort w.r.t. equal elements module cmpFn. */
@@ -81,7 +83,7 @@
value found. If any values are found, return True, else return
False, and don't change *first or *last. first and/or last may be
NULL. Bomb if the array is not sorted. */
-extern Bool VG_(lookupXA) ( XArray*, void* key,
+extern Bool VG_(lookupXA) ( XArray*, const void* key,
/*OUT*/Word* first, /*OUT*/Word* last );
/* A version of VG_(lookupXA) in which you can specify your own
@@ -92,9 +94,9 @@
VG_(lookupXA), which refuses to do anything (asserts) unless the
array has first been sorted using the same comparison function as
is being used for the lookup. */
-extern Bool VG_(lookupXA_UNSAFE) ( XArray* xao, void* key,
+extern Bool VG_(lookupXA_UNSAFE) ( XArray* xao, const void* key,
/*OUT*/Word* first, /*OUT*/Word* last,
- Int(*cmpFn)(void*,void*) );
+ XACmpFn_t cmpFn );
/* How elements are there in this XArray now? */
extern Word VG_(sizeXA) ( XArray* );
Modified: trunk/coregrind/pub_core_debuginfo.h (+2 -1)
===================================================================
--- trunk/coregrind/pub_core_debuginfo.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/pub_core_debuginfo.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -153,7 +153,8 @@
platforms, a symbol is deemed to be found only if it has a nonzero
TOC pointer. */
extern
-Bool VG_(lookup_symbol_SLOW)(HChar* sopatt, HChar* name, Addr* pEnt, Addr* pToc);
+Bool VG_(lookup_symbol_SLOW)(const HChar* sopatt, HChar* name, Addr* pEnt,
+ Addr* pToc);
#endif // __PUB_CORE_DEBUGINFO_H
Modified: trunk/coregrind/m_libcbase.c (+3 -3)
===================================================================
--- trunk/coregrind/m_libcbase.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_libcbase.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -672,7 +672,7 @@
pv = (Char*)&v, v = *(Word*)pm
static Char* bm_med3 ( Char* a, Char* b, Char* c,
- Int (*cmp)(void*,void*) ) {
+ Int (*cmp)(const void*, const void*) ) {
return cmp(a, b) < 0
? (cmp(b, c) < 0 ? b : cmp(a, c) < 0 ? c : a)
: (cmp(b, c) > 0 ? b : cmp(a, c) > 0 ? c : a);
@@ -693,7 +693,7 @@
}
static void bm_qsort ( Char* a, SizeT n, SizeT es,
- Int (*cmp)(void*,void*) )
+ Int (*cmp)(const void*, const void*) )
{
Char *pa, *pb, *pc, *pd, *pl, *pm, *pn, *pv;
Int r, swaptype;
@@ -802,7 +802,7 @@
// Generic quick sort.
void VG_(ssort)( void* base, SizeT nmemb, SizeT size,
- Int (*compar)(void*, void*) )
+ Int (*compar)(const void*, const void*) )
{
bm_qsort(base,nmemb,size,compar);
}
Modified: trunk/coregrind/m_debuginfo/readdwarf3.c (+18 -24)
===================================================================
--- trunk/coregrind/m_debuginfo/readdwarf3.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_debuginfo/readdwarf3.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -169,8 +169,8 @@
UChar* region_start_img;
UWord region_szB;
UWord region_next;
- void (*barf)( HChar* ) __attribute__((noreturn));
- HChar* barfstr;
+ void (*barf)( const HChar* ) __attribute__((noreturn));
+ const HChar* barfstr;
}
Cursor;
@@ -185,8 +185,8 @@
UChar* region_start_img,
UWord region_szB,
UWord region_next,
- __attribute__((noreturn)) void (*barf)( HChar* ),
- HChar* barfstr )
+ __attribute__((noreturn)) void (*barf)( const HChar* ),
+ const HChar* barfstr )
{
vg_assert(c);
VG_(memset)(c, 0, sizeof(*c));
@@ -343,7 +343,7 @@
/* Read a DWARF3 'Initial Length' field */
static ULong get_Initial_Length ( /*OUT*/Bool* is64,
Cursor* c,
- HChar* barfMsg )
+ const HChar* barfMsg )
{
ULong w64;
UInt w32;
@@ -377,7 +377,7 @@
typedef
struct {
/* Call here if anything goes wrong */
- void (*barf)( HChar* ) __attribute__((noreturn));
+ void (*barf)( const HChar* ) __attribute__((noreturn));
/* Is this 64-bit DWARF ? */
Bool is_dw64;
/* Which DWARF version ? (2, 3 or 4) */
@@ -1045,7 +1045,7 @@
BARF. */
static UWord lookup_signatured_type ( VgHashTable tab,
ULong type_signature,
- void (*barf)( HChar* ) __attribute__((noreturn)) )
+ void (*barf)( const HChar* ) __attribute__((noreturn)) )
{
D3SignatureType *dstype = VG_(HT_lookup) ( tab, (UWord) type_signature );
/* This may be unwarranted chumminess with the hash table
@@ -1439,7 +1439,7 @@
}
D3VarParser;
-static void varstack_show ( D3VarParser* parser, HChar* str ) {
+static void varstack_show ( D3VarParser* parser, const HChar* str ) {
Word i, j;
VG_(printf)(" varstack (%s) {\n", str);
for (i = 0; i <= parser->sp; i++) {
@@ -2164,7 +2164,7 @@
}
D3TypeParser;
-static void typestack_show ( D3TypeParser* parser, HChar* str ) {
+static void typestack_show ( D3TypeParser* parser, const HChar* str ) {
Word i;
VG_(printf)(" typestack (%s) {\n", str);
for (i = 0; i <= parser->sp; i++) {
@@ -3292,10 +3292,7 @@
/* First we must sort .ents by its .cuOff fields, so we
can index into it. */
- VG_(setCmpFnXA)(
- ents,
- (Int(*)(void*,void*)) ML_(TyEnt__cmp_by_cuOff_only)
- );
+ VG_(setCmpFnXA)( ents, (XACmpFn_t) ML_(TyEnt__cmp_by_cuOff_only) );
VG_(sortXA)( ents );
/* Now repeatedly do commoning and substitution passes over
@@ -3344,7 +3341,7 @@
__attribute__((noinline))
static void resolve_variable_types (
- void (*barf)( HChar* ) __attribute__((noreturn)),
+ void (*barf)( const HChar* ) __attribute__((noreturn)),
/*R-O*/XArray* /* of TyEnt */ ents,
/*MOD*/TyEntIndexCache* ents_cache,
/*MOD*/XArray* /* of TempVar* */ vars
@@ -3396,9 +3393,9 @@
/*--- ---*/
/*------------------------------------------------------------*/
-static Int cmp_TempVar_by_dioff ( void* v1, void* v2 ) {
- TempVar* t1 = *(TempVar**)v1;
- TempVar* t2 = *(TempVar**)v2;
+static Int cmp_TempVar_by_dioff ( const void* v1, const void* v2 ) {
+ const TempVar* t1 = *(const TempVar**)v1;
+ const TempVar* t2 = *(const TempVar**)v2;
if (t1->dioff < t2->dioff) return -1;
if (t1->dioff > t2->dioff) return 1;
return 0;
@@ -3518,7 +3515,7 @@
static
void new_dwarf3_reader_wrk (
struct _DebugInfo* di,
- __attribute__((noreturn)) void (*barf)( HChar* ),
+ __attribute__((noreturn)) void (*barf)( const HChar* ),
UChar* debug_info_img, SizeT debug_info_sz,
UChar* debug_types_img, SizeT debug_types_sz,
UChar* debug_abbv_img, SizeT debug_abbv_sz,
@@ -4048,10 +4045,7 @@
minor) waste of time, since tyents itself is sorted, but
necessary since VG_(lookupXA) refuses to cooperate if we
don't. */
- VG_(setCmpFnXA)(
- tyents_to_keep,
- (Int(*)(void*,void*)) ML_(TyEnt__cmp_by_cuOff_only)
- );
+ VG_(setCmpFnXA)( tyents_to_keep, (XACmpFn_t) ML_(TyEnt__cmp_by_cuOff_only) );
VG_(sortXA)( tyents_to_keep );
/* Enable cacheing on tyents_to_keep */
@@ -4337,10 +4331,10 @@
/*------------------------------------------------------------*/
static Bool d3rd_jmpbuf_valid = False;
-static HChar* d3rd_jmpbuf_reason = NULL;
+static const HChar* d3rd_jmpbuf_reason = NULL;
static VG_MINIMAL_JMP_BUF(d3rd_jmpbuf);
-static __attribute__((noreturn)) void barf ( HChar* reason ) {
+static __attribute__((noreturn)) void barf ( const HChar* reason ) {
vg_assert(d3rd_jmpbuf_valid);
d3rd_jmpbuf_reason = reason;
VG_MINIMAL_LONGJMP(d3rd_jmpbuf);
Modified: trunk/Makefile.tool-tests.am (+4 -0)
===================================================================
--- trunk/Makefile.tool-tests.am 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/Makefile.tool-tests.am 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -27,6 +27,10 @@
noinst_DSYMS = $(check_PROGRAMS)
endif
+if HAS_WRITE_STRINGS_WARNING
+CFLAGS += -Wno-write-strings
+endif
+
check-local: build-noinst_DSYMS
clean-local: clean-noinst_DSYMS
Modified: trunk/coregrind/m_redir.c (+8 -8)
===================================================================
--- trunk/coregrind/m_redir.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_redir.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -801,7 +801,7 @@
}
if (sp) {
const HChar** strp;
- HChar* v = "valgrind: ";
+ const HChar* v = "valgrind: ";
vg_assert(sp->mark);
vg_assert(!sp->done);
vg_assert(sp->mandatory);
@@ -846,7 +846,7 @@
conflicting bindings. */
static void maybe_add_active ( Active act )
{
- HChar* what = NULL;
+ const HChar* what = NULL;
Active* old = NULL;
Bool add_act = False;
@@ -1129,9 +1129,9 @@
entry that holds these initial specs. */
__attribute__((unused)) /* not used on all platforms */
-static void add_hardwired_spec ( HChar* sopatt, HChar* fnpatt,
- Addr to_addr,
- const HChar** mandatory )
+static void add_hardwired_spec (const HChar* sopatt, const HChar* fnpatt,
+ Addr to_addr,
+ const HChar** mandatory )
{
Spec* spec = dinfo_zalloc("redir.ahs.1", sizeof(Spec));
vg_assert(spec);
@@ -1146,8 +1146,8 @@
vg_assert(topSpecs->next == NULL);
vg_assert(topSpecs->seginfo == NULL);
/* FIXED PARTS */
- spec->from_sopatt = sopatt;
- spec->from_fnpatt = fnpatt;
+ spec->from_sopatt = (HChar *)sopatt;
+ spec->from_fnpatt = (HChar *)fnpatt;
spec->to_addr = to_addr;
spec->isWrap = False;
spec->mandatory = mandatory;
@@ -1544,7 +1544,7 @@
}
if (!found) {
- HChar* v = "valgrind: ";
+ const HChar* v = "valgrind: ";
VG_(printf)("\n");
VG_(printf)(
"%sFatal error at when loading library with soname\n", v);
Modified: trunk/coregrind/m_mallocfree.c (+2 -2)
===================================================================
--- trunk/coregrind/m_mallocfree.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_mallocfree.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -243,7 +243,7 @@
#define SIZE_T_0x1 ((SizeT)0x1)
-static char* probably_your_fault =
+static const char* probably_your_fault =
"This is probably caused by your program erroneously writing past the\n"
"end of a heap block and corrupting heap metadata. If you fix any\n"
"invalid writes reported by Memcheck, this assertion failure will\n"
@@ -1280,7 +1280,7 @@
static AnCC anCCs[N_AN_CCS];
-static Int cmp_AnCC_by_vol ( void* v1, void* v2 ) {
+static Int cmp_AnCC_by_vol ( const void* v1, const void* v2 ) {
AnCC* ancc1 = (AnCC*)v1;
AnCC* ancc2 = (AnCC*)v2;
if (ancc1->nBytes < ancc2->nBytes) return -1;
Modified: trunk/coregrind/m_gdbserver/valgrind-low-x86.c (+1 -1)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-x86.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/valgrind-low-x86.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -244,7 +244,7 @@
}
static
-char* target_xml (Bool shadow_mode)
+const char* target_xml (Bool shadow_mode)
{
if (shadow_mode) {
#if defined(VGO_linux)
Modified: trunk/coregrind/m_gdbserver/valgrind-low-arm.c (+1 -1)
===================================================================
--- trunk/coregrind/m_gdbserver/valgrind-low-arm.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/valgrind-low-arm.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -278,7 +278,7 @@
}
static
-char* target_xml (Bool shadow_mode)
+const char* target_xml (Bool shadow_mode)
{
if (shadow_mode) {
return "arm-with-vfpv3-valgrind.xml";
Modified: trunk/coregrind/m_gdbserver/utils.c (+1 -1)
===================================================================
--- trunk/coregrind/m_gdbserver/utils.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_gdbserver/utils.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -26,7 +26,7 @@
/* Print the system error message for sr.
Then print the rest of the args. */
-void sr_perror (SysRes sr,char *string,...)
+void sr_perror (SysRes sr, const char *string,...)
{
va_list args;
if (sr_isError (sr))
Modified: trunk/coregrind/m_debuginfo/storage.c (+13 -13)
===================================================================
--- trunk/coregrind/m_debuginfo/storage.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_debuginfo/storage.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -59,7 +59,7 @@
/* Show a non-fatal debug info reading error. Use vg_panic if
terminal. 'serious' errors are shown regardless of the
verbosity setting. */
-void ML_(symerr) ( struct _DebugInfo* di, Bool serious, HChar* msg )
+void ML_(symerr) ( struct _DebugInfo* di, Bool serious, const HChar* msg )
{
/* XML mode hides everything :-( */
if (VG_(clo_xml))
@@ -215,7 +215,7 @@
a chunking memory allocator rather than reallocating, so the
pointers are stable.
*/
-HChar* ML_(addStr) ( struct _DebugInfo* di, HChar* str, Int len )
+HChar* ML_(addStr) ( struct _DebugInfo* di, const HChar* str, Int len )
{
struct strchunk *chunk;
Int space_needed;
@@ -725,7 +725,7 @@
}
static
-void show_scope ( OSet* /* of DiAddrRange */ scope, HChar* who )
+void show_scope ( OSet* /* of DiAddrRange */ scope, const HChar* who )
{
DiAddrRange* range;
VG_(printf)("Scope \"%s\" = {\n", who);
@@ -910,7 +910,7 @@
Bool all;
TyEnt* ent;
MaybeULong mul;
- HChar* badness;
+ const HChar* badness;
tl_assert(di && di->admin_tyents);
@@ -1131,10 +1131,10 @@
facilitates using binary search to map addresses to symbols when we
come to query the table.
*/
-static Int compare_DiSym ( void* va, void* vb )
+static Int compare_DiSym ( const void* va, const void* vb )
{
- DiSym* a = (DiSym*)va;
- DiSym* b = (DiSym*)vb;
+ const DiSym* a = va;
+ const DiSym* b = vb;
if (a->addr < b->addr) return -1;
if (a->addr > b->addr) return 1;
return 0;
@@ -1608,10 +1608,10 @@
ranges do not overlap. This facilitates using binary search to map
addresses to locations when we come to query the table.
*/
-static Int compare_DiLoc ( void* va, void* vb )
+static Int compare_DiLoc ( const void* va, const void* vb )
{
- DiLoc* a = (DiLoc*)va;
- DiLoc* b = (DiLoc*)vb;
+ const DiLoc* a = va;
+ const DiLoc* b = vb;
if (a->addr < b->addr) return -1;
if (a->addr > b->addr) return 1;
return 0;
@@ -1694,10 +1694,10 @@
as to facilitate rapidly skipping this SegInfo when looking for an
address which falls outside that range.
*/
-static Int compare_DiCfSI ( void* va, void* vb )
+static Int compare_DiCfSI ( const void* va, const void* vb )
{
- DiCfSI* a = (DiCfSI*)va;
- DiCfSI* b = (DiCfSI*)vb;
+ const DiCfSI* a = va;
+ const DiCfSI* b = vb;
if (a->base < b->base) return -1;
if (a->base > b->base) return 1;
return 0;
Modified: trunk/memcheck/mc_translate.c (+3 -3)
===================================================================
--- trunk/memcheck/mc_translate.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/memcheck/mc_translate.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1109,7 +1109,7 @@
IRAtom* cond;
IRAtom* origin;
void* fn;
- HChar* nm;
+ const HChar* nm;
IRExpr** args;
Int nargs;
@@ -5859,7 +5859,7 @@
IRAtom* baseaddr, Int offset )
{
void* hFun;
- HChar* hName;
+ const HChar* hName;
IRTemp bTmp;
IRDirty* di;
IRType aTy = typeOfIRExpr( mce->sb->tyenv, baseaddr );
@@ -5937,7 +5937,7 @@
IRAtom* guard )
{
void* hFun;
- HChar* hName;
+ const HChar* hName;
IRDirty* di;
IRType aTy = typeOfIRExpr( mce->sb->tyenv, baseaddr );
IROp opAdd = aTy == Ity_I32 ? Iop_Add32 : Iop_Add64;
Modified: trunk/memcheck/mc_malloc_wrappers.c (+3 -3)
===================================================================
--- trunk/memcheck/mc_malloc_wrappers.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/memcheck/mc_malloc_wrappers.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -667,10 +667,10 @@
}
static Int
-mp_compar(void* n1, void* n2)
+mp_compar(const void* n1, const void* n2)
{
- MC_Chunk* mc1 = *(MC_Chunk**)n1;
- MC_Chunk* mc2 = *(MC_Chunk**)n2;
+ const MC_Chunk* mc1 = *(const MC_Chunk**)n1;
+ const MC_Chunk* mc2 = *(const MC_Chunk**)n2;
if (mc1->data < mc2->data) return -1;
if (mc1->data > mc2->data) return 1;
return 0;
Modified: trunk/helgrind/hg_errors.h (+6 -4)
===================================================================
--- trunk/helgrind/hg_errors.h 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/helgrind/hg_errors.h 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -56,16 +56,18 @@
void HG_(record_error_UnlockUnlocked) ( Thread*, Lock* );
void HG_(record_error_UnlockForeign) ( Thread*, Thread*, Lock* );
void HG_(record_error_UnlockBogus) ( Thread*, Addr );
-void HG_(record_error_PthAPIerror) ( Thread*, HChar*, Word, HChar* );
+void HG_(record_error_PthAPIerror) ( Thread*, const HChar*, Word,
+ const HChar* );
/* see the implementation for meaning of these params */
void HG_(record_error_LockOrder) ( Thread*, Addr, Addr,
ExeContext*, ExeContext*,
ExeContext* );
-void HG_(record_error_Misc_w_aux) ( Thread*, HChar* errstr,
- HChar* auxstr, ExeContext* auxctx );
-void HG_(record_error_Misc) ( Thread* thr, HChar* errstr );
+void HG_(record_error_Misc_w_aux) ( Thread*, const HChar* errstr,
+ const HChar* auxstr,
+ ExeContext* auxctx );
+void HG_(record_error_Misc) ( Thread* thr, const HChar* errstr );
/* Statistics pertaining to error management. */
Modified: trunk/helgrind/hg_errors.c (+6 -6)
===================================================================
--- trunk/helgrind/hg_errors.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/helgrind/hg_errors.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -641,8 +641,8 @@
XE_LockOrder, 0, NULL, &xe );
}
-void HG_(record_error_PthAPIerror) ( Thread* thr, HChar* fnname,
- Word err, HChar* errstr )
+void HG_(record_error_PthAPIerror) ( Thread* thr, const HChar* fnname,
+ Word err, const HChar* errstr )
{
XError xe;
tl_assert( HG_(is_sane_Thread)(thr) );
@@ -661,8 +661,8 @@
XE_PthAPIerror, 0, NULL, &xe );
}
-void HG_(record_error_Misc_w_aux) ( Thread* thr, HChar* errstr,
- HChar* auxstr, ExeContext* auxctx )
+void HG_(record_error_Misc_w_aux) ( Thread* thr, const HChar* errstr,
+ const HChar* auxstr, ExeContext* auxctx )
{
XError xe;
tl_assert( HG_(is_sane_Thread)(thr) );
@@ -680,7 +680,7 @@
XE_Misc, 0, NULL, &xe );
}
-void HG_(record_error_Misc) ( Thread* thr, HChar* errstr )
+void HG_(record_error_Misc) ( Thread* thr, const HChar* errstr )
{
HG_(record_error_Misc_w_aux)(thr, errstr, NULL, NULL);
}
@@ -848,7 +848,7 @@
}
-static void show_LockP_summary_textmode ( Lock** locks, HChar* pre )
+static void show_LockP_summary_textmode ( Lock** locks, const HChar* pre )
{
tl_assert(locks);
UWord i;
Modified: trunk/coregrind/m_machine.c (+3 -2)
===================================================================
--- trunk/coregrind/m_machine.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/coregrind/m_machine.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -198,7 +198,8 @@
}
-static void apply_to_GPs_of_tid(ThreadId tid, void (*f)(ThreadId, HChar*, Addr))
+static void apply_to_GPs_of_tid(ThreadId tid, void (*f)(ThreadId,
+ const HChar*, Addr))
{
VexGuestArchState* vex = &(VG_(get_ThreadState)(tid)->arch.vex);
#if defined(VGA_x86)
@@ -333,7 +334,7 @@
}
-void VG_(apply_to_GP_regs)(void (*f)(ThreadId, HChar*, UWord))
+void VG_(apply_to_GP_regs)(void (*f)(ThreadId, const HChar*, UWord))
{
ThreadId tid;
Modified: trunk/callgrind/main.c (+3 -2)
===================================================================
--- trunk/callgrind/main.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/callgrind/main.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1376,8 +1376,9 @@
CLG_(zero_cost)( CLG_(sets).full, CLG_(current_state).cost );
}
-/* Ups, this can go very wrong... */
-extern void VG_(discard_translations) ( Addr64 start, ULong range, HChar* who );
+/* Ups, this can go very wrong...
+ FIXME: We should export this function or provide other means to get a handle */
+extern void VG_(discard_translations) ( Addr64 start, ULong range, const HChar* who );
void CLG_(set_instrument_state)(const HChar* reason, Bool state)
{
Modified: trunk/callgrind/dump.c (+2 -2)
===================================================================
--- trunk/callgrind/dump.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/callgrind/dump.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -145,7 +145,7 @@
#if 0
static __inline__
-static void my_fwrite(Int fd, HChar* buf, Int len)
+static void my_fwrite(Int fd, const HChar* buf, Int len)
{
VG_(write)(fd, buf, len);
}
@@ -165,7 +165,7 @@
fwrite_pos = 0;
}
-static void my_fwrite(Int fd, HChar* buf, Int len)
+static void my_fwrite(Int fd, const HChar* buf, Int len)
{
if (fwrite_fd != fd) {
fwrite_flush();
Modified: trunk/helgrind/libhb_core.c (+16 -15)
===================================================================
--- trunk/helgrind/libhb_core.c 2012-11-23 00:01:36 +00:00 (rev 13136)
+++ trunk/helgrind/libhb_core.c 2012-11-23 16:17:43 +00:00 (rev 13137)
@@ -1832,9 +1832,9 @@
static XArray* /* of ThrID */ verydead_thread_table = NULL;
/* Arbitrary total ordering on ThrIDs. */
-static Int cmp__ThrID ( void* v1, void* v2 ) {
- ThrID id1 = *(ThrID*)v1;
- ThrID id2 = *(ThrID*)v2;
+static Int cmp__ThrID ( const void* v1, const void* v2 ) {
+ ThrID id1 = *(const ThrID*)v1;
+ ThrID id2 = *(const ThrID*)v2;
if (id1 < id2) return -1;
if (id1 > id2) return 1;
return 0;
@@ -1866,17 +1866,17 @@
VTS;
/* Allocate a VTS capable of storing 'sizeTS' entries. */
-static VTS* VTS__new ( HChar* who, UInt sizeTS );
+static VTS* VTS__new ( const HChar* who, UInt sizeTS );
/* Make a clone of 'vts', sizing the new array to exactly match the
number of ScalarTSs present. */
-static VTS* VTS__clone ( HChar* who, VTS* vts );
+static VTS* VTS__clone ( const HChar* who, VTS* vts );
/* Make a clone of 'vts' with the thrids in 'thrids' removed. The new
array is sized exactly to hold the number of required elements.
'thridsToDel' is an array of ThrIDs to be omitted in the clone, and
must be in strictly increasing order. */
-static VTS* VTS__subtract ( HChar* who, VTS* vts, XArray* thridsToDel );
+static VTS* VTS__subtract ( const HChar* who, VTS* vts, XArray* thridsToDel );
/* Delete this VTS in its entirety. */
static void VTS__delete ( VTS* vts );
@@ -1960,7 +1960,7 @@
/* Create a new, empty VTS.
*/
-static VTS* VTS__new ( HChar* who, UInt sizeTS )
+static VTS* VTS__new ( const HChar* who, UInt sizeTS )
{
VTS* vts = HG_(zalloc)(who, sizeof(VTS) + (sizeTS+1) * sizeof(ScalarTS));
tl_assert(vts->usedTS == 0);
@@ -1971,7 +1971,7 @@
/* Clone this VTS.
*/
-static VTS* VTS__clone ( HChar* who, VTS* vts )
+static VTS* VTS__clone ( const HChar* who, VTS* vts )
{
tl_assert(vts);
tl_assert( *(ULong*)(&vts->ts[vts->sizeTS]) == 0x0ddC0ffeeBadF00dULL);
@@ -1993,7 +1993,7 @@
must be in strictly increasing order. We could obviously do this
much more efficiently (in linear time) if necessary.
*/
-static VTS* VTS__subtract ( HChar* who, VTS* vts, XArray* thridsToDel )
+static VTS* VTS__subtract ( const HChar* who, VTS* vts, XArray* thridsToDel )
{
UInt i, j;
tl_assert(vts);
@@ -2672,7 +2672,7 @@
}
-static void show_vts_stats ( HChar* caller )
+static void show_vts_stats ( const HChar* caller )
{
UWord nSet, nTab, nLive;
ULong totrc;
@@ -3333,7 +3333,7 @@
fast way to do this is simply to stuff in tags which we know are
not going to match anything, since they're not aligned to the start
of a line. */
-static void Filter__clear ( Filter* fi, HChar* who )
+static void Filter__clear ( Filter* fi, const HChar* who )
{
UWord i;
if (0) VG_(printf)(" Filter__clear(%p, %s)\n", fi, who);
@@ -3745,7 +3745,8 @@
VG_(pp_ExeContext)(pair.ec);
}
-static Int cmp__ULong_n_EC__by_ULong ( ULong_n_EC* pair1, ULong_n_EC* pair2 )
+static Int cmp__ULong_n_EC__by_ULong ( const ULong_n_EC* pair1,
+ const ULong_n_EC* pair2 )
{
if (pair1->ull < pair2->ull) return -1;
if (pair1->ull > pair2->ull) return 1;
@@ -4897,7 +4898,7 @@
found = VG_(lookupXA_UNSAFE)(
confThr->local_Kws_n_stacks,
&key, &firstIx, &lastIx,
- (Int(*)(void*,void*))cmp__ULong_n_EC__by_ULong
+ (XACmpFn_t)cmp__ULong_n_EC__by_ULong
);
if (0) VG_(printf)("record_race_info %u %u %u confThr %p "
"confTym %llu found %d (%lu,%lu)\n",
@@ -6047,7 +6048,7 @@
// //
/////////////////////////////////////////////////////////
-static void show_thread_state ( HChar* str, Thr* t )
+static void show_thread_state ( const...
[truncated message content] |
|
From: Philippe W. <phi...@sk...> - 2012-11-23 05:14:46
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) 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.3.1-3.fc16.ppc64 ppc64 Vendor version: Fedora release 16 (Verne) Nightly build on gcc110 ( Fedora release 16 (Verne), ppc64 ) Started at 2012-11-22 20:00:05 PST Ended at 2012-11-22 21:13:07 PST 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 == 538 tests, 8 stderr failures, 3 stdout failures, 1 stderrB failure, 1 stdoutB failure, 2 post failures == gdbserver_tests/mcmain_pic (stdout) gdbserver_tests/mcmain_pic (stderr) gdbserver_tests/mcmain_pic (stdoutB) gdbserver_tests/mcmain_pic (stderrB) memcheck/tests/linux/getregset (stdout) memcheck/tests/linux/getregset (stderr) memcheck/tests/supp_unknown (stderr) memcheck/tests/trivialleak (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stdout) memcheck/tests/wrap8 (stderr) massif/tests/big-alloc (post) massif/tests/deep-D (post) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-23 04:08:30
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.3.0 20080428 (Red Hat 4.3.0-8) Assembler: GNU assembler version 2.18.50.0.6-2 20080403 C library: GNU C Library stable release version 2.8 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 9 (Sulphur) Nightly build on bristol ( x86_64, Fedora 9 ) Started at 2012-11-23 03:41:31 GMT Ended at 2012-11-23 04:08:12 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 613 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/amd64/insn-pcmpistri (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2012-11-23 03:57:23
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2) Assembler: GNU assembler version 2.19.51.0.14-3.fc11 20090722 C library: GNU C Library stable release version 2.10.2 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 11 (Leonidas) Nightly build on bristol ( x86_64, Fedora 11 ) Started at 2012-11-23 03:31:02 GMT Ended at 2012-11-23 03:57:06 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 617 tests, 1 stderr failure, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/long_namespace_xml (stderr) none/tests/amd64/sse4-64 (stdout) |
|
From: Tom H. <to...@co...> - 2012-11-23 03:51:20
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2) Assembler: GNU assembler version 2.20.51.0.2-20.fc13 20091009 C library: GNU C Library stable release version 2.12.2 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 13 (Goddard) Nightly build on bristol ( x86_64, Fedora 13 ) Started at 2012-11-23 03:22:05 GMT Ended at 2012-11-23 03:51:09 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 617 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == helgrind/tests/pth_barrier3 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-23 03:44:06
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) Assembler: GNU assembler version 2.20.51.0.7-8.fc14 20100318 C library: GNU C Library stable release version 2.13 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 14 (Laughlin) Nightly build on bristol ( x86_64, Fedora 14 ) Started at 2012-11-23 03:12:44 GMT Ended at 2012-11-23 03:43:50 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 635 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-23 03:36:27
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) 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.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 15 (Lovelock) Nightly build on bristol ( x86_64, Fedora 15 ) Started at 2012-11-23 03:03:15 GMT Ended at 2012-11-23 03:36:01 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 637 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-23 03:25:17
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.6.3 20120306 (Red Hat 4.6.3-2) 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.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 16 (Verne) Nightly build on bristol ( x86_64, Fedora 16 ) Started at 2012-11-23 02:52:11 GMT Ended at 2012-11-23 03:25:03 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 637 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: Christian B. <bor...@de...> - 2012-11-23 03:13:32
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973] Assembler: GNU assembler (GNU Binutils; SUSE Linux Enterprise 11) 2.21.1 C library: GNU C Library stable release version 2.11.3 (20110527) uname -mrs: Linux 3.0.42-0.7-default s390x Vendor version: Welcome to SUSE Linux Enterprise Server 11 SP2 (s390x) - Kernel %r (%t). Nightly build on sless390 ( SUSE Linux Enterprise Server 11 SP1 gcc 4.3.4 on z196 (s390x) ) Started at 2012-11-23 03:45:01 CET Ended at 2012-11-23 04:13:21 CET 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 == 610 tests, 0 stderr failures, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == |
|
From: Tom H. <to...@co...> - 2012-11-23 03:13:16
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.7.2 20120921 (Red Hat 4.7.2-2) Assembler: GNU assembler version 2.22.52.0.1-10.fc17 20120131 C library: GNU C Library stable release version 2.15 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 17 (Beefy Miracle) Nightly build on bristol ( x86_64, Fedora 17 (Beefy Miracle) ) Started at 2012-11-23 02:41:20 GMT Ended at 2012-11-23 03:12:58 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 637 tests, 5 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcinfcallRU (stderr) gdbserver_tests/mcinfcallWSRU (stderr) gdbserver_tests/mcmain_pic (stderr) memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Christian B. <bor...@de...> - 2012-11-23 03:11:32
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9bb4) Assembler: GNU assembler version 2.21.51.0.6-6bb6.fc15 20110118 C library: GNU C Library stable release version 2.14.1 uname -mrs: Linux 3.6.1-56.x.20121010-s390xperformance s390x Vendor version: unknown Nightly build on fedora390 ( Fedora 15 with devel libc/toolchain on z196 (s390x) ) Started at 2012-11-23 03:45:01 CET Ended at 2012-11-23 04:11:39 CET 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 == 611 tests, 3 stderr failures, 1 stdout failure, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) gdbserver_tests/mcclean_after_fork (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mcmain_pic (stderrB) gdbserver_tests/mcvabits (stderrB) gdbserver_tests/mssnapshot (stderrB) memcheck/tests/linux/timerfd-syscall (stderr) none/tests/s390x/test_clone (stdout) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 611 tests, 3 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) gdbserver_tests/mcclean_after_fork (stderrB) gdbserver_tests/mcleak (stderrB) gdbserver_tests/mcmain_pic (stderrB) gdbserver_tests/mcvabits (stderrB) gdbserver_tests/mssnapshot (stderrB) memcheck/tests/linux/timerfd-syscall (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc20_verifywrap (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Fri Nov 23 03:58:24 2012 --- new.short Fri Nov 23 04:11:39 2012 *************** *** 8,10 **** ! == 611 tests, 3 stderr failures, 0 stdout failures, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) --- 8,10 ---- ! == 611 tests, 3 stderr failures, 1 stdout failure, 6 stderrB failures, 0 stdoutB failures, 0 post failures == gdbserver_tests/mcbreak (stderrB) *************** *** 16,17 **** --- 16,18 ---- memcheck/tests/linux/timerfd-syscall (stderr) + none/tests/s390x/test_clone (stdout) helgrind/tests/tc18_semabuse (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-23 03:03:40
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) Assembler: GNU assembler version 2.23.51.0.1-3.fc18 20120806 C library: GNU C Library stable release version 2.16 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 18 (Spherical Cow) Nightly build on bristol ( x86_64, Fedora 18 (Spherical Cow) ) Started at 2012-11-23 02:31:11 GMT Ended at 2012-11-23 03:03:21 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 637 tests, 2 stderr failures, 1 stdout failure, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) exp-sgcheck/tests/preen_invars (stdout) exp-sgcheck/tests/preen_invars (stderr) |
|
From: Tom H. <to...@co...> - 2012-11-23 02:47:44
|
valgrind revision: 13136 VEX revision: 2565 C compiler: gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) Assembler: GNU assembler version 2.23.51.0.5-1.fc19 20121110 C library: GNU C Library development release version 2.16.90 uname -mrs: Linux 3.5.3-1.fc17.x86_64 x86_64 Vendor version: Fedora release 19 (Rawhide) Nightly build on bristol ( x86_64, Fedora 19 ) Started at 2012-11-23 02:21:09 GMT Ended at 2012-11-23 02:47:31 GMT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 637 tests, 1 stderr failure, 0 stdout failures, 0 stderrB failures, 0 stdoutB failures, 0 post failures == memcheck/tests/origin5-bz2 (stderr) |
|
From: <sv...@va...> - 2012-11-23 00:44:44
|
petarj 2012-11-23 00:44:37 +0000 (Fri, 23 Nov 2012)
New Revision: 2565
Log:
Correctly model LL/SC on MIPS.
As the issue with RMW on MIPS does not block execution anymore (see Valgrind
patch r13136), we can switch back to model it through LoadL and StoreC instead
of using incorrect Load and Store.
This will give back correct output to memcheck/tests/atomic_incs on MIPS.
Modified files:
trunk/priv/host_mips_isel.c
Modified: trunk/priv/host_mips_isel.c (+6 -6)
===================================================================
--- trunk/priv/host_mips_isel.c 2012-11-21 00:36:55 +00:00 (rev 2564)
+++ trunk/priv/host_mips_isel.c 2012-11-23 00:44:37 +00:00 (rev 2565)
@@ -2954,10 +2954,10 @@
HReg r_dst = lookupIRTemp(env, res);
if (tyRes == Ity_I32) {
- addInstr(env, MIPSInstr_Load(4, r_dst, r_addr, mode64));
+ addInstr(env, MIPSInstr_LoadL(4, r_dst, r_addr, mode64));
return;
} else if (tyRes == Ity_I64 && mode64) {
- addInstr(env, MIPSInstr_Load(8, r_dst, r_addr, mode64));
+ addInstr(env, MIPSInstr_LoadL(8, r_dst, r_addr, mode64));
return;
}
/* fallthru */ ;
@@ -2971,12 +2971,12 @@
stmt->Ist.LLSC.storedata);
if (tyData == Ity_I32) {
- addInstr(env, MIPSInstr_Store(4, r_addr, r_src, mode64));
- addInstr(env, MIPSInstr_LI(r_dst, 0x1));
+ addInstr(env, mk_iMOVds_RR(r_dst, r_src));
+ addInstr(env, MIPSInstr_StoreC(4, r_addr, r_dst, mode64));
return;
} else if (tyData == Ity_I64 && mode64) {
- addInstr(env, MIPSInstr_Store(8, r_addr, r_src, mode64));
- addInstr(env, MIPSInstr_LI(r_dst, 0x1));
+ addInstr(env, mk_iMOVds_RR(r_dst, r_src));
+ addInstr(env, MIPSInstr_StoreC(8, r_addr, r_dst, mode64));
return;
}
/* fallthru */
|
|
From: <sv...@va...> - 2012-11-23 00:01:44
|
petarj 2012-11-23 00:01:36 +0000 (Fri, 23 Nov 2012)
New Revision: 13136
Log:
Flush events in Callgrind before enering a RMW region.
On some MIPS platforms, we had an issue in which SC would fail each time
due to some memory access occuring in the RMW region.
If code for simulator events is called before LL, it can help SC to pass.
This change fixes a few LL/SC issues on MIPS arch.
The patch by Josef Weidendorfer.
Modified files:
trunk/callgrind/main.c
Modified: trunk/callgrind/main.c (+2 -0)
===================================================================
--- trunk/callgrind/main.c 2012-11-22 18:57:29 +00:00 (rev 13135)
+++ trunk/callgrind/main.c 2012-11-23 00:01:36 +00:00 (rev 13136)
@@ -1073,6 +1073,8 @@
dataTy = typeOfIRTemp(sbIn->tyenv, st->Ist.LLSC.result);
addEvent_Dr( &clgs, curr_inode,
sizeofIRType(dataTy), st->Ist.LLSC.addr );
+ /* flush events before LL, should help SC to succeed */
+ flushEvents( &clgs );
} else {
/* SC */
dataTy = typeOfIRExpr(sbIn->tyenv, st->Ist.LLSC.storedata);
|