Make -b take SYSCALL param, document it in --help and in manpage.

To not waste an option letter for just one trick,
extend -b to take a parameter:
"on which syscalls do you want to detach?".
Currently supports only execve.

While at it, fixed (by removing non-Linux and stale info)
and extended manpage text about -f.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
diff --git a/strace.c b/strace.c
index 4975153..319dff2 100644
--- a/strace.c
+++ b/strace.c
@@ -210,6 +210,7 @@
 -y -- print paths associated with file descriptor arguments\n\
 -h -- print help message, -V -- print version\n\
 -a column -- alignment COLUMN for printing syscall results (default %d)\n\
+-b execve -- detach on this syscall\n\
 -e expr -- a qualifying expression: option=[!]all or option=[!]val1[,val2]...\n\
    options: trace, abbrev, verbose, raw, signal, read, write\n\
 -I interruptible --\n\
@@ -234,9 +235,6 @@
 /* this is broken, so don't document it
 -z -- print only succeeding syscalls\n\
  */
-/* experimental, don't document it yet (option letter may change in the future!)
--b -- detach on successful execve\n\
- */
 , DEFAULT_ACOLUMN, DEFAULT_STRLEN, DEFAULT_SORTBY);
 	exit(exitval);
 }
@@ -1561,11 +1559,14 @@
 #endif
 	qualify("signal=all");
 	while ((c = getopt(argc, argv,
-		"+bcCdfFhiqrtTvVxyz"
+		"+b:cCdfFhiqrtTvVxyz"
 		"D"
 		"a:e:o:O:p:s:S:u:E:P:I:")) != EOF) {
 		switch (c) {
 		case 'b':
+			if (strcmp(optarg, "execve") != 0)
+				error_msg_and_die("Syscall '%s' for -b isn't supported",
+					optarg);
 			detach_on_execve = 1;
 			break;
 		case 'c':