Implement --merge-recursive-frames + provide VALGRIND_MONITOR_COMMAND client req.

In a big applications, some recursive algorithms have created
hundreds of thousands of stacktraces, taking a lot of memory.

Option --merge-recursive-frames=<number> tells Valgrind to
detect and merge (collapse) recursive calls when recording stack traces.
The value is changeable using the monitor command
'v.set merge-recursive-frames'.

Also, this provides a new client request: VALGRIND_MONITOR_COMMAND
allowing to execute a gdbsrv monitor command from the client
program.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13246 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/NEWS b/NEWS
index dfef853..81c34e9 100644
--- a/NEWS
+++ b/NEWS
@@ -30,6 +30,18 @@
     This can be used to analyse one possible cause of Valgrind high
     memory usage for some programs.
 
+  - Option --merge-recursive-frames=<number> tells Valgrind to
+    detect and merge (collapse) recursive calls when recording stack traces.
+    When your program has recursive algorithms, this limits
+    the memory used by Valgrind for recorded stack traces and avoid
+    recording uninteresting repeated calls.
+    The value is changeable using the monitor command
+    'v.set merge-recursive-frames'.
+
+  - valgrind.h has a new request VALGRIND_MONITOR_COMMAND.
+    This can be used to execute gdbserver monitor commands from
+    the client program.
+
 * ==================== FIXED BUGS ====================
 
 The following bugs have been fixed or resolved.  Note that "n-i-bz"