Change message "Use of uninitialized CPU condition code" to
"Conditional jump or move depends on uninitialised value(s)", since
that will be more meaningful to most programmers. Also change the
suppression-kind to Cond in .supp files. The old Value0 descriptor
means the same and is still accepted. Suggested by Joe Buck
<Joe.Buck@synopsys.com>.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@18 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/ChangeLog b/ChangeLog
index 544738d..2498803 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2002-03-24 Julian Seward <sewardj@localhost.localdomain>
+ * vg_errcontext.c (pp_ErrContext): Change message "Use of
+ uninitialized CPU condition code" to "Conditional jump or move
+ depends on uninitialised value(s)", since that will be more
+ meaningful to most programmers. Also change the suppression-kind
+ to Cond in .supp files. The old Value0 descriptor means the same
+ and is still accepted. Suggested by Joe Buck
+ <Joe.Buck@synopsys.com>.
+
* vg_syscall_mem.c: Add syscall setresgid32, from "Arkadi
E. Shishlov" <arkadi@it.lv>
diff --git a/cachegrind/docs/manual.html b/cachegrind/docs/manual.html
index 1bcd02a..874f707 100644
--- a/cachegrind/docs/manual.html
+++ b/cachegrind/docs/manual.html
@@ -24,7 +24,7 @@
<body bgcolor="#ffffff">
<a name="title"> </a>
-<h1 align=center>Valgrind, snapshot 20020317</h1>
+<h1 align=center>Valgrind, snapshot 20020324</h1>
<center>
<a href="mailto:jseward@acm.org">jseward@acm.org<br>
@@ -737,7 +737,7 @@
<h4>2.6.2 Use of uninitialised values</h4>
For example:
<pre>
- ==19146== Use of uninitialised CPU condition code
+ ==19146== Conditional jump or move depends on uninitialised value(s)
==19146== at 0x402DFA94: _IO_vfprintf (_itoa.h:49)
==19146== by 0x402E8476: _IO_printf (printf.c:36)
==19146== by 0x8048472: main (tests/manuel1.c:8)
@@ -958,12 +958,13 @@
<li>The nature of the error to suppress. Either:
<code>Value1</code>,
<code>Value2</code>,
- <code>Value4</code>,
- <code>Value8</code> or
- <code>Value0</code>,
+ <code>Value4</code> or
+ <code>Value8</code>,
meaning an uninitialised-value error when
- using a value of 1, 2, 4 or 8 bytes,
- or the CPU's condition codes, respectively. Or:
+ using a value of 1, 2, 4 or 8 bytes.
+ Or
+ <code>Cond</code> (or its old name, <code>Value0</code>),
+ meaning use of an uninitialised CPU condition code. Or:
<code>Addr1</code>,
<code>Addr2</code>,
<code>Addr4</code> or
diff --git a/coregrind/docs/manual.html b/coregrind/docs/manual.html
index 1bcd02a..874f707 100644
--- a/coregrind/docs/manual.html
+++ b/coregrind/docs/manual.html
@@ -24,7 +24,7 @@
<body bgcolor="#ffffff">
<a name="title"> </a>
-<h1 align=center>Valgrind, snapshot 20020317</h1>
+<h1 align=center>Valgrind, snapshot 20020324</h1>
<center>
<a href="mailto:jseward@acm.org">jseward@acm.org<br>
@@ -737,7 +737,7 @@
<h4>2.6.2 Use of uninitialised values</h4>
For example:
<pre>
- ==19146== Use of uninitialised CPU condition code
+ ==19146== Conditional jump or move depends on uninitialised value(s)
==19146== at 0x402DFA94: _IO_vfprintf (_itoa.h:49)
==19146== by 0x402E8476: _IO_printf (printf.c:36)
==19146== by 0x8048472: main (tests/manuel1.c:8)
@@ -958,12 +958,13 @@
<li>The nature of the error to suppress. Either:
<code>Value1</code>,
<code>Value2</code>,
- <code>Value4</code>,
- <code>Value8</code> or
- <code>Value0</code>,
+ <code>Value4</code> or
+ <code>Value8</code>,
meaning an uninitialised-value error when
- using a value of 1, 2, 4 or 8 bytes,
- or the CPU's condition codes, respectively. Or:
+ using a value of 1, 2, 4 or 8 bytes.
+ Or
+ <code>Cond</code> (or its old name, <code>Value0</code>),
+ meaning use of an uninitialised CPU condition code. Or:
<code>Addr1</code>,
<code>Addr2</code>,
<code>Addr4</code> or
diff --git a/coregrind/vg_errcontext.c b/coregrind/vg_errcontext.c
index 46a581e..178594c 100644
--- a/coregrind/vg_errcontext.c
+++ b/coregrind/vg_errcontext.c
@@ -313,8 +313,9 @@
switch (ec->ekind) {
case ValueErr:
if (ec->size == 0) {
- VG_(message)(Vg_UserMsg,
- "Use of uninitialised CPU condition code");
+ VG_(message)(
+ Vg_UserMsg,
+ "Conditional jump or move depends on uninitialised value(s)");
} else {
VG_(message)(Vg_UserMsg,
"Use of uninitialised value of size %d",
@@ -841,7 +842,8 @@
eof = getLine ( fd, buf, N_BUF );
if (eof) goto syntax_error;
else if (STREQ(buf, "Param")) supp->skind = Param;
- else if (STREQ(buf, "Value0")) supp->skind = Value0;
+ else if (STREQ(buf, "Value0")) supp->skind = Value0; /* backwards compat */
+ else if (STREQ(buf, "Cond")) supp->skind = Value0;
else if (STREQ(buf, "Value1")) supp->skind = Value1;
else if (STREQ(buf, "Value2")) supp->skind = Value2;
else if (STREQ(buf, "Value4")) supp->skind = Value4;
diff --git a/docs/manual.html b/docs/manual.html
index 1bcd02a..874f707 100644
--- a/docs/manual.html
+++ b/docs/manual.html
@@ -24,7 +24,7 @@
<body bgcolor="#ffffff">
<a name="title"> </a>
-<h1 align=center>Valgrind, snapshot 20020317</h1>
+<h1 align=center>Valgrind, snapshot 20020324</h1>
<center>
<a href="mailto:jseward@acm.org">jseward@acm.org<br>
@@ -737,7 +737,7 @@
<h4>2.6.2 Use of uninitialised values</h4>
For example:
<pre>
- ==19146== Use of uninitialised CPU condition code
+ ==19146== Conditional jump or move depends on uninitialised value(s)
==19146== at 0x402DFA94: _IO_vfprintf (_itoa.h:49)
==19146== by 0x402E8476: _IO_printf (printf.c:36)
==19146== by 0x8048472: main (tests/manuel1.c:8)
@@ -958,12 +958,13 @@
<li>The nature of the error to suppress. Either:
<code>Value1</code>,
<code>Value2</code>,
- <code>Value4</code>,
- <code>Value8</code> or
- <code>Value0</code>,
+ <code>Value4</code> or
+ <code>Value8</code>,
meaning an uninitialised-value error when
- using a value of 1, 2, 4 or 8 bytes,
- or the CPU's condition codes, respectively. Or:
+ using a value of 1, 2, 4 or 8 bytes.
+ Or
+ <code>Cond</code> (or its old name, <code>Value0</code>),
+ meaning use of an uninitialised CPU condition code. Or:
<code>Addr1</code>,
<code>Addr2</code>,
<code>Addr4</code> or
diff --git a/linux22.supp b/linux22.supp
index d50994c..18cf1a1 100644
--- a/linux22.supp
+++ b/linux22.supp
@@ -9,6 +9,7 @@
# name_of_suppression
# kind: one of Param Value1 Value2 Value4 Value8
# Free Addr1 Addr2 Addr4 Addr8
+# Cond (previously known as Value0)
# (if Param: name of system call param, if Free: name of free-ing fn)
# caller0 name, or /name/of/so/file.so
# caller1 name, or ditto
@@ -60,45 +61,45 @@
# new ones for RH62 ls -l
{
- __strchrnul/__nss_database_lookup(Value0)
- Value0
+ __strchrnul/__nss_database_lookup(Cond)
+ Cond
fun:__strchrnul
fun:__nss_database_lookup
}
{
- __strchrnul/__gethostbyname_r(Value0)
- Value0
+ __strchrnul/__gethostbyname_r(Cond)
+ Cond
fun:__strchrnul
fun:__gethostbyname_r
}
{
- strrchr/_dl_map*/_dl_map*(Value0)
- Value0
+ strrchr/_dl_map*/_dl_map*(Cond)
+ Cond
fun:strrchr
fun:_dl_map*
fun:_dl_map*
}
{
- strchr/dl_open_worker/_dl_catch_error(Value0)
- Value0
+ strchr/dl_open_worker/_dl_catch_error(Cond)
+ Cond
fun:strchr
fun:dl_open_worker
fun:_dl_catch_error
}
{
- __rawmemchr/???/__getgrgid_r(Value0)
- Value0
+ __rawmemchr/???/__getgrgid_r(Cond)
+ Cond
fun:__rawmemchr
fun:*
fun:__getgrgid_r
}
{
- __rawmemchr/_nl_*/*locale*(Value0)
- Value0
+ __rawmemchr/_nl_*/*locale*(Cond)
+ Cond
fun:__rawmemchr
fun:_nl_*
fun:*locale*
@@ -110,23 +111,23 @@
## Debian stripped their libc-2.1.3
{
- libc-2.1.3.so/libc-2.1.3.so/libc-2.1.3.so(Value0)
- Value0
+ libc-2.1.3.so/libc-2.1.3.so/libc-2.1.3.so(Cond)
+ Cond
obj:*libc-2.1.3.so
obj:*libc-2.1.3.so
obj:*libc-2.1.3.so
}
{
- strchr/libc-2.1.3.so(Value0)
- Value0
+ strchr/libc-2.1.3.so(Cond)
+ Cond
fun:*strchr*
obj:*libc-2.1.3.so
}
{
- libc-2.1.3.so/libXt.so(Value0)
- Value0
+ libc-2.1.3.so/libXt.so(Cond)
+ Cond
obj:*libc-2.1.3.so
obj:*libXt.so*
}
@@ -143,15 +144,15 @@
##----------------------------------------------------------------------##
{
- X11-Value0-0
- Value0
+ X11-Cond-0
+ Cond
obj:*libXt.so.6.0
obj:*libXt.so.6.0
obj:*libXt.so.6.0
}
{
- X11-Value0-1
- Value0
+ X11-Cond-1
+ Cond
fun:__rawmemchr
obj:*libXt.so.6.0
obj:*libXt.so.6.0
diff --git a/linux24.supp b/linux24.supp
index f5943a6..1401a4c 100644
--- a/linux24.supp
+++ b/linux24.supp
@@ -9,6 +9,7 @@
# name_of_suppression
# kind: one of Param Value1 Value2 Value4 Value8
# Free Addr1 Addr2 Addr4 Addr8
+# Cond (previously known as Value0)
# (if Param: name of system call param, if Free: name of free-ing fn)
# caller0 name, or /name/of/so/file.so
# caller1 name, or ditto
@@ -19,8 +20,8 @@
# even more glibc suppressions ?
{
- libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Value0)
- Value0
+ libc-2.2.4.so/libc-2.2.4.so/libc-2.2.4.so(Cond)
+ Cond
obj:*libc-2.2.4.so
obj:*libc-2.2.4.so
obj:*libc-2.2.4.so
@@ -36,26 +37,26 @@
##### glibc 2.2.5 stuff perhaps?
##### suppressions for coolo
{
- strchr/dl_open_worker(Value0)
- Value0
+ strchr/dl_open_worker(Cond)
+ Cond
fun:strchr
fun:dl_open_worker
}
{
- __rawmemchr/internal_getgrgid_r(Value0)
- Value0
+ __rawmemchr/internal_getgrgid_r(Cond)
+ Cond
fun:__rawmemchr
fun:internal_getgrgid_r
}
{
- _IO_vfprintf/__strnlen(Value0)
- Value0
+ _IO_vfprintf/__strnlen(Cond)
+ Cond
fun:__strnlen
fun:_IO_vfprintf
}
{
- __strchrnul/gethostbyname*(Value0)
- Value0
+ __strchrnul/gethostbyname*(Cond)
+ Cond
fun:__strchrnul
fun:gethostbyname*
}
@@ -63,29 +64,29 @@
##----
{
- strlen/*dl_map_object*(Value0)
- Value0
+ strlen/*dl_map_object*(Cond)
+ Cond
fun:strlen
fun:*dl_map_object*
}
{
- strlen/*dl_open_worker*(Value0)
- Value0
+ strlen/*dl_open_worker*(Cond)
+ Cond
fun:strlen
fun:*dl_open_worker*
}
{
- *rawmemchr*/*nss*(Value0)
- Value0
+ *rawmemchr*/*nss*(Cond)
+ Cond
fun:*rawmemchr*
fun:*nss*
}
{
- *strchrnul*/*nss*(Value0)
- Value0
+ *strchrnul*/*nss*(Cond)
+ Cond
fun:*strchrnul*
fun:*nss*
}
@@ -137,8 +138,8 @@
# More glibc stuff, AFAICS
{
- __strnlen/__argz_stringify/_nl_make_l10nflist(Value0)
- Value0
+ __strnlen/__argz_stringify/_nl_make_l10nflist(Cond)
+ Cond
fun:__strnlen
fun:__argz_stringify
fun:_nl_make_l10nflist
@@ -146,23 +147,23 @@
#--------------
{
- _dl_relocate_object/dl_open_worker/_dl_catch_error(Value0)
- Value0
+ _dl_relocate_object/dl_open_worker/_dl_catch_error(Cond)
+ Cond
fun:_dl_relocate_object
fun:dl_open_worker
fun:_dl_catch_error
}
{
- _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Value0)
- Value0
+ _dl_relocate_object/libc-2.2.4.so/_dl_catch_error(Cond)
+ Cond
fun:_dl_relocate_object
obj:*libc-2.2.4.so
fun:_dl_catch_error
}
{
- strrchr/_dl_map_object_from_fd/_dl_map_object(Value0)
- Value0
+ strrchr/_dl_map_object_from_fd/_dl_map_object(Cond)
+ Cond
fun:strrchr
fun:_dl_map_object_from_fd
fun:_dl_map_object
@@ -185,16 +186,16 @@
}
{
- libX11.so.6.2/libX11.so.6.2/libX11.so.6.2(Value0)
- Value0
+ libX11.so.6.2/libX11.so.6.2/libX11.so.6.2(Cond)
+ Cond
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libX11.so.6.2
}
{
- libXt.so.6.2/libXt.so.6.2/libXt.so.6.2(Value0)
- Value0
+ libXt.so.6.2/libXt.so.6.2/libXt.so.6.2(Cond)
+ Cond
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
@@ -202,24 +203,24 @@
{
- libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Value0)
- Value0
+ libXaw.so.7.0/libXaw.so.7.0/libXaw.so.7.0(Cond)
+ Cond
obj:/usr/X11R6/lib/libXaw.so.7.0
obj:/usr/X11R6/lib/libXaw.so.7.0
obj:/usr/X11R6/lib/libXaw.so.7.0
}
{
- libXmu.so.6.2/libXmu.so.6.2/libXmu.so.6.2(Value0)
- Value0
+ libXmu.so.6.2/libXmu.so.6.2/libXmu.so.6.2(Cond)
+ Cond
obj:/usr/X11R6/lib/libXmu.so.6.2
obj:/usr/X11R6/lib/libXmu.so.6.2
obj:/usr/X11R6/lib/libXmu.so.6.2
}
{
- libXt.so.6.0/libXt.so.6.0/libXaw.so.7.0(Value0)
- Value0
+ libXt.so.6.0/libXt.so.6.0/libXaw.so.7.0(Cond)
+ Cond
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -234,8 +235,8 @@
}
{
- libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Value0)
- Value0
+ libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0(Cond)
+ Cond
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libXaw.so.7.0
@@ -279,14 +280,14 @@
#----------------
{
__rawmemchr/libXt.so.6.0/libXt.so.6.0
- Value0
+ Cond
fun:__rawmemchr
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
}
{
libc-2.2.4.so/libXt.so.6.0/libXt.so.6.0
- Value0
+ Cond
obj:*libc-2.2.4.so
obj:/usr/X11R6/lib/libXt.so.6.0
obj:/usr/X11R6/lib/libXt.so.6.0
diff --git a/memcheck/docs/manual.html b/memcheck/docs/manual.html
index 1bcd02a..874f707 100644
--- a/memcheck/docs/manual.html
+++ b/memcheck/docs/manual.html
@@ -24,7 +24,7 @@
<body bgcolor="#ffffff">
<a name="title"> </a>
-<h1 align=center>Valgrind, snapshot 20020317</h1>
+<h1 align=center>Valgrind, snapshot 20020324</h1>
<center>
<a href="mailto:jseward@acm.org">jseward@acm.org<br>
@@ -737,7 +737,7 @@
<h4>2.6.2 Use of uninitialised values</h4>
For example:
<pre>
- ==19146== Use of uninitialised CPU condition code
+ ==19146== Conditional jump or move depends on uninitialised value(s)
==19146== at 0x402DFA94: _IO_vfprintf (_itoa.h:49)
==19146== by 0x402E8476: _IO_printf (printf.c:36)
==19146== by 0x8048472: main (tests/manuel1.c:8)
@@ -958,12 +958,13 @@
<li>The nature of the error to suppress. Either:
<code>Value1</code>,
<code>Value2</code>,
- <code>Value4</code>,
- <code>Value8</code> or
- <code>Value0</code>,
+ <code>Value4</code> or
+ <code>Value8</code>,
meaning an uninitialised-value error when
- using a value of 1, 2, 4 or 8 bytes,
- or the CPU's condition codes, respectively. Or:
+ using a value of 1, 2, 4 or 8 bytes.
+ Or
+ <code>Cond</code> (or its old name, <code>Value0</code>),
+ meaning use of an uninitialised CPU condition code. Or:
<code>Addr1</code>,
<code>Addr2</code>,
<code>Addr4</code> or
diff --git a/vg_errcontext.c b/vg_errcontext.c
index 46a581e..178594c 100644
--- a/vg_errcontext.c
+++ b/vg_errcontext.c
@@ -313,8 +313,9 @@
switch (ec->ekind) {
case ValueErr:
if (ec->size == 0) {
- VG_(message)(Vg_UserMsg,
- "Use of uninitialised CPU condition code");
+ VG_(message)(
+ Vg_UserMsg,
+ "Conditional jump or move depends on uninitialised value(s)");
} else {
VG_(message)(Vg_UserMsg,
"Use of uninitialised value of size %d",
@@ -841,7 +842,8 @@
eof = getLine ( fd, buf, N_BUF );
if (eof) goto syntax_error;
else if (STREQ(buf, "Param")) supp->skind = Param;
- else if (STREQ(buf, "Value0")) supp->skind = Value0;
+ else if (STREQ(buf, "Value0")) supp->skind = Value0; /* backwards compat */
+ else if (STREQ(buf, "Cond")) supp->skind = Value0;
else if (STREQ(buf, "Value1")) supp->skind = Value1;
else if (STREQ(buf, "Value2")) supp->skind = Value2;
else if (STREQ(buf, "Value4")) supp->skind = Value4;