Fixed up various command line option scenarios:
  - If no tool is specified, V now gives a short message and a list of
    available tools.  This was meant to happen previously, but a bug prevented
    it from working properly;  it gave the usage message instead.

  - If a bad option is given, V now gives a short message rather than the full
    --help.  This make V consistent with all other programs I looked at.

  - Now returning 0 when you do 'valgrind --help' and 'valgrind --version'
    as other programs do.

  - Removed VG_(startup_logging)() and VG_(shutdown_logging)() as they were
    empty and have been for a long time (always?).

  - Added various tests for these scenarios.  Had to change the regtest
    script slightly to allow for malformed command lines.

This addresses bug (wishlist) #82999.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@2418 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/none/tests/cmdline2.stdout.exp b/none/tests/cmdline2.stdout.exp
new file mode 100644
index 0000000..3c5cdb4
--- /dev/null
+++ b/none/tests/cmdline2.stdout.exp
@@ -0,0 +1,73 @@
+usage: valgrind --tool=<toolname> [options] prog-and-args
+
+  common user options for all Valgrind tools, with defaults in [ ]:
+    --tool=<name>             Use the Valgrind tool named <name>
+    --help                    show this message
+    --help-debug              show this message, plus debugging options
+    --version                 show version
+    -q --quiet                run silently; only print error msgs
+    -v --verbose              be more verbose, incl counts of errors
+    --trace-children=no|yes   Valgrind-ise child processes? [no]
+    --track-fds=no|yes        Track open file descriptors? [no]
+
+  uncommon user options for all Valgrind tools:
+    --run-libc-freeres=no|yes Free up glibc memory at exit? [yes]
+    --weird-hacks=hack1,hack2,...  [none]
+         recognised hacks are: ioctl-VTIME truncate-writes lax-ioctls
+    --signal-polltime=<time>  time, in mS, we should poll for signals.
+                              Only applies for older kernels which need
+                              signal routing [50]
+    --lowlat-signals=no|yes   improve wake-up latency when a thread receives
+			       a signal [no]
+    --lowlat-syscalls=no|yes  improve wake-up latency when a thread's
+			       syscall completes [no]
+    --pointercheck=no|yes     enforce client address space limits [yes]
+
+  user options for Valgrind tools that report errors:
+    --logfile-fd=<number>     file descriptor for messages [2=stderr]
+    --logfile=<file>          log messages to <file>.pid<pid>
+    --logsocket=ipaddr:port   log messages to socket ipaddr:port
+    --demangle=no|yes         automatically demangle C++ names? [yes]
+    --num-callers=<number>    show <num> callers in stack traces [4]
+    --error-limit=no|yes      stop showing new errors if too many? [yes]
+    --show-below-main=no|yes  continue stack traces below main() [no]
+    --suppressions=<filename> suppress errors described in <filename>
+    --gen-suppressions=no|yes print suppressions for errors detected [no]
+    --db-attach=no|yes        start debugger when errors detected? [no]
+    --db-command=<command>    command to start debugger [gdb -nw %f %p]
+    --input-fd=<number>       file descriptor for input [0=stdin]
+
+  user options for Nulgrind:
+    (none)
+
+  debugging options for all Valgrind tools:
+    --sanity-level=<number>   level of sanity checking to do [1]
+    --single-step=no|yes      translate each instr separately? [no]
+    --optimise=no|yes         improve intermediate code? [yes]
+    --profile=no|yes          profile? (tool must be built for it) [no]
+    --chain-bb=no|yes         do basic-block chaining? [yes]
+    --branchpred=yes|no       generate branch prediction hints [no]
+    --trace-codegen=<XXXXX>   show generated code? (X = 0|1) [00000]
+    --trace-syscalls=no|yes   show all system calls? [no]
+    --trace-signals=no|yes    show signal handling details? [no]
+    --trace-symtab=no|yes     show symbol table details? [no]
+    --trace-sched=no|yes      show thread scheduler details? [no]
+    --trace-pthread=none|some|all  show pthread event details? [none]
+    --wait-for-gdb=yes|no     pause on startup to wait for gdb attach
+
+  debugging options for Valgrind tools that report errors
+    --dump-error=<number>     show translation for basic block associated
+                              with <number>'th error context [0=show none]
+
+  debugging options for Nulgrind:
+    (none)
+
+  Extra options read from ~/.valgrindrc, $VALGRIND_OPTS, ./.valgrindrc
+
+  Valgrind is Copyright (C) 2000-2004 Julian Seward
+  and licensed under the GNU General Public License, version 2.
+  Bug reports, feedback, admiration, abuse, etc, to: valgrind.kde.org.
+
+  Tools are copyright and licensed by their authors.  See each
+  tool's start-up message for more information.
+