Merge r14513 from 3_10_BRANCH (Update docs w.r.t. status of
partially-enabled --read-inline-info.)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@14520 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index e9f6616..83abd6b 100644
--- a/NEWS
+++ b/NEWS
@@ -92,16 +92,14 @@
* ==================== OTHER CHANGES ====================
-* Unwinding through inlined function calls. By default, stack
- unwinding now makes use of Dwarf3 inlined-unwind information if it
- is available. The practical effect is that inlined calls become
- visible in stack traces. The suppression matching machinery has
- been adjusted accordingly. This is controlled by the new option
- --read-inline-info=yes|no [yes].
-
- In the 3.10.0 beta release(s), inlined unwinding is only enabled for
- Memcheck and Helgrind. It is hoped to enable it for all tools in
- the 3.10.0 final release.
+* Unwinding through inlined function calls. Stack unwinding can now
+ make use of Dwarf3 inlined-unwind information if it is available.
+ The practical effect is that inlined calls become visible in stack
+ traces. The suppression matching machinery has been adjusted
+ accordingly. This is controlled by the new option
+ --read-inline-info=yes|no. Currently this is enabled by default
+ only on Linux and Android targets and only for the tools Memcheck,
+ Helgrind and DRD.
* Valgrind can now read EXIDX unwind information on 32-bit ARM
targets. If an object contains both CFI and EXIDX unwind
diff --git a/coregrind/m_main.c b/coregrind/m_main.c
index d1cc392..a1e7a3a 100644
--- a/coregrind/m_main.c
+++ b/coregrind/m_main.c
@@ -167,7 +167,9 @@
" code found in stacks, for all code, or for all\n"
" code except that from file-backed mappings\n"
" --read-inline-info=yes|no read debug info about inlined function calls\n"
-" and use it to do better stack traces [no]\n"
+" and use it to do better stack traces. [yes]\n"
+" on Linux/Android for Memcheck/Helgrind/DRD\n"
+" only. [no] for all other tools and platforms.\n"
" --read-var-info=yes|no read debug info on stack and global variables\n"
" and use it to print better error messages in\n"
" tools that make use of it (Memcheck, Helgrind,\n"
diff --git a/docs/xml/manual-core.xml b/docs/xml/manual-core.xml
index 77a8d3b..8544084 100644
--- a/docs/xml/manual-core.xml
+++ b/docs/xml/manual-core.xml
@@ -1784,14 +1784,19 @@
<varlistentry id="opt.read-inline-info" xreflabel="--read-inline-info">
<term>
- <option><![CDATA[--read-inline-info=<yes|no> [default: no] ]]></option>
+ <option><![CDATA[--read-inline-info=<yes|no> [default: see below] ]]></option>
</term>
<listitem>
- <para>When enabled, Valgrind will read information about
- inlined function calls from DWARF3 debug info.
- This slows Valgrind startup and makes it use more memory (typically
- for each inlined piece of code, 6 words + the function name), but
- it results in more descriptive stacktraces:</para>
+ <para>When enabled, Valgrind will read information about inlined
+ function calls from DWARF3 debug info. This slows Valgrind
+ startup and makes it use more memory (typically for each inlined
+ piece of code, 6 words and space for the function name), but it
+ results in more descriptive stacktraces. For the 3.10.0
+ release, this functionality is enabled by default only for Linux
+ and Android targets and only for the tools Memcheck, Helgrind
+ and DRD. Here is an example of some stacktraces with
+ <option>--read-inline-info=no</option>:
+</para>
<programlisting><![CDATA[
==15380== Conditional jump or move depends on uninitialised value(s)
==15380== at 0x80484EA: main (inlinfo.c:6)
@@ -1801,11 +1806,10 @@
==15380== by 0x804850E: main (inlinfo.c:34)
==15380==
==15380== Conditional jump or move depends on uninitialised value(s)
-==15380== at 0x8048520: main (inlinfo.c:6)]]></programlisting>
-
+==15380== at 0x8048520: main (inlinfo.c:6)
+]]></programlisting>
<para>And here are the same errors with
<option>--read-inline-info=yes</option>:</para>
-
<programlisting><![CDATA[
==15377== Conditional jump or move depends on uninitialised value(s)
==15377== at 0x80484EA: fun_d (inlinfo.c:6)
diff --git a/none/tests/cmdline1.stdout.exp b/none/tests/cmdline1.stdout.exp
index 88cbb92..cb80d84 100644
--- a/none/tests/cmdline1.stdout.exp
+++ b/none/tests/cmdline1.stdout.exp
@@ -80,7 +80,9 @@
code found in stacks, for all code, or for all
code except that from file-backed mappings
--read-inline-info=yes|no read debug info about inlined function calls
- and use it to do better stack traces [no]
+ and use it to do better stack traces. [yes]
+ on Linux/Android for Memcheck/Helgrind/DRD
+ only. [no] for all other tools and platforms.
--read-var-info=yes|no read debug info on stack and global variables
and use it to print better error messages in
tools that make use of it (Memcheck, Helgrind,
diff --git a/none/tests/cmdline2.stdout.exp b/none/tests/cmdline2.stdout.exp
index 6a7d7ba..990f056 100644
--- a/none/tests/cmdline2.stdout.exp
+++ b/none/tests/cmdline2.stdout.exp
@@ -80,7 +80,9 @@
code found in stacks, for all code, or for all
code except that from file-backed mappings
--read-inline-info=yes|no read debug info about inlined function calls
- and use it to do better stack traces [no]
+ and use it to do better stack traces. [yes]
+ on Linux/Android for Memcheck/Helgrind/DRD
+ only. [no] for all other tools and platforms.
--read-var-info=yes|no read debug info on stack and global variables
and use it to print better error messages in
tools that make use of it (Memcheck, Helgrind,