Package: valgrind
Version: 1:3.24.0-2
Severity: minor
Tags: patch

   * What led up to the situation?

     Checking for defects with a new version

test-[g|n]roff -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z < "man 
page"

  [Use "grep -e ' $' -e '\\~$' <file>" to find obvious trailing spaces.]

  ["test-groff" is a script in the repository for "groff"; is not shipped]
(local copy and "troff" slightly changed by me).

  [The fate of "test-nroff" was decided in groff bug #55941.]

   * What was the outcome of this action?

troff:<stdin>:49: warning: trailing space in the line
[...]
an.tmac:<stdin>:1307: style: 1 leading space(s) on input line
[...]
an.tmac:<stdin>:2507: style: 1 leading space(s) on input line
troff:<stdin>:2507: warning: trailing space in the line
an.tmac:<stdin>:2512: style: 1 leading space(s) on input line
troff:<stdin>:2512: warning: trailing space in the line
an.tmac:<stdin>:2547: style: 1 leading space(s) on input line
troff:<stdin>:2547: warning: trailing space in the line
[...]


   * What outcome did you expect instead?

     No output (no warnings).

-.-

  General remarks and further material, if a diff-file exist, are in the
attachments.


-- System Information:
Debian Release: trixie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.12.20-amd64 (SMP w/2 CPU threads; PREEMPT)
Locale: LANG=is_IS.iso88591, LC_CTYPE=is_IS.iso88591 (charmap=ISO-8859-1), 
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: sysvinit (via /sbin/init)

Versions of packages valgrind depends on:
ii  libc6      2.41-6
ii  libc6-dbg  2.41-6

Versions of packages valgrind recommends:
ii  gdb           16.2-8
ii  python3       3.13.2-2
pn  valgrind-dbg  <none>

Versions of packages valgrind suggests:
pn  kcachegrind   <none>
pn  valgrind-mpi  <none>

-- no debconf information
Input file is valgrind.1

Output from "mandoc -T lint  valgrind.1": (shortened list)

      1 input text line longer than 80 bytes: $DEBUGINFOD_VERBOSE\...
[...]
     18 skipping paragraph macro: PP after SH

-.-.

Output from "test-nroff -mandoc -t -ww -z valgrind.1": (shortened list)

      6 cannot break line
    152 line(s) with a trailing space

-.-.

Show if docman-to-man created this.

Who is actually creating this man page?  Debian or upstream?

Is the generating software out of date?



4:.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>

-.-.

Remove space characters (whitespace) at the end of lines.
Use "git apply ... --whitespace=fix" to fix extra space issues, or use
global configuration "core.whitespace".

Number of lines affected is

6

-.-.

Change two HYPHEN-MINUSES (code 0x2D) to an em-dash (\(em),
if one is intended.
  " \(em " creates a too big gap in the text (in "troff").

An en-dash is usually surrounded by a space,
while an em-dash is used without spaces.
"man" (1 byte characters in input) transforms an en-dash (\(en) to one
HYPHEN-MINUS,
and an em-dash to two HYPHEN-MINUSES without considering the space
around it.
If "--" are two single "-"
(begin of an option or end of options)
then use "\-\-".

valgrind.1:347:--log-file
valgrind.1:814:--log-file
valgrind.1:1915:--log-file

-.-.

Use the word (in)valid instead of (il)legal,
if not related to legal matters.

See "www.gnu.org/prep/standards".

Think about translations into other languages!

valgrind.1:455:Enable/disable printing of illegal instruction diagnostics\&. 
Enabled by default, but defaults to disabled when
valgrind.1:459:When enabled, a warning message will be printed, along with some 
diagnostics, whenever an instruction is encountered that Valgrind cannot decode 
or translate, before the program is given a SIGILL signal\&. Often an illegal 
instruction indicates a bug in the program or missing support for the 
particular instruction in Valgrind\&. But some programs do deliberately try to 
execute an instruction that might be missing and trap the SIGILL signal to 
detect processor features\&. Using this flag makes it possible to avoid the 
diagnostic output that you would otherwise get in such cases\&.
valgrind.1:1955:\fIyes\fR, such loads do not produce an address error\&. 
Instead, loaded bytes originating from illegal addresses are marked as 
uninitialised, and those corresponding to legal addresses are handled in the 
normal way\&.
valgrind.1:1958:\fIno\fR, loads from partially invalid addresses are treated 
the same as loads from completely invalid addresses: an illegal\-address error 
is issued, and the resulting bytes are marked as initialised\&.

-.-.

Change a HYPHEN-MINUS (code 0x2D) to a minus(-dash) (\-),
if it
is in front of a name for an option,
is a symbol for standard input,
is a single character used to indicate an option,
or is in the NAME section (man-pages(7)).
N.B. - (0x2D), processed as a UTF-8 file, is changed to a hyphen
(0x2010, groff \[u2010] or \[hy]) in the output.

347:--log-file
814:--log-file
1915:--log-file

-.-.

Strings longer than 3/4 of a standard line length (80).

Use "\:" to split the string at the end of an output line, for example a
long URL (web address)

205 \fB\-\-vgdb\-stop\-at=startup,exit,abexit,valgrindabexit\fR\&.
1316 \fI\-\-require\-text\-symbol=:*libgomp*so*:annotated_for_helgrind_3_6\fR
1326 \fB\-\-soname\-synonyms=syn1=pattern1,syn2=pattern2,\&.\&.\&.\fR
1656 \fB\-\-show\-leak\-kinds=definite,indirect,possible,reachable\fR\&.
1708 
\fB\-\-leak\-check\-heuristics=stdstring,length64,newarray,multipleinheritance\fR\&.
1981 
\fB\-\-keep\-stacktraces=alloc|free|alloc\-and\-free|alloc\-then\-free|none 
[default: alloc\-and\-free] \fR
2981 
\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver
2986 
\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.vgdb
2991 
\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.valgrind-monitor-commands
2996 \%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.comment
3001 
\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.pthreads_perf_sched
3011 \%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.xtree

-.-.

Wrong distance (not two spaces) between sentences in the input file.

  Separate the sentences and subordinate clauses; each begins on a new
line.  See man-pages(7) ("Conventions for source file layout") and
"info groff" ("Input Conventions").

  The best procedure is to always start a new sentence on a new line,
at least, if you are typing on a computer.

Remember coding: Only one command ("sentence") on each (logical) line.

E-mail: Easier to quote exactly the relevant lines.

Generally: Easier to edit the sentence.

Patches: Less unaffected text.

Search for two adjacent words is easier, when they belong to the same line,
and the same phrase.

  The amount of space between sentences in the output can then be
controlled with the ".ss" request.

Mark a final abbreviation point as such by suffixing it with "\&".

Some sentences (etc.) do not begin on a new line.

Split (sometimes) lines after a punctuation mark; before a conjunction.

  Lines with only one (or two) space(s) between sentences could be split,
so latter sentences begin on a new line.

Use

#!/usr/bin/sh

sed -e '/^\./n' \
-e 's/\([[:alpha:]]\)\.  */\1.\n/g' $1

to split lines after a sentence period.
Check result with the difference between the formatted outputs.
See also the attachment "general.bugs"

[List of affected lines removed.]


-.-.

Split lines longer than 80 characters into two or more lines.
Appropriate break points are the end of a sentence and a subordinate
clause; after punctuation marks.
Add "\:" to split the string for the output, "\<newline>" in the source.  

[List of affected lines removed.]

Longest line is number 1112 with 1607 characters
\fBfallback\-llsc: \fR(MIPS and ARM64 only): Enables an alternative 
implementation of Load\-Linked (LL) and Store\-Conditional (SC) instructions\&. 
The standard implementation gives more correct behaviour, but can cause 
indefinite looping on certain processor implementations that are intolerant of 
extra memory references between LL and SC\&. So far this is known only to 
happen on Cavium 3 cores\&. You should not need to use this flag, since the 
relevant cores are detected at startup and the alternative implementation is 
automatically enabled if necessary\&. There is no equivalent anti\-flag: you 
cannot force\-disable the alternative implementation, if it is automatically 
enabled\&. The underlying problem exists because the "standard" implementation 
of LL and SC is done by copying through LL and SC instructions into the 
instrumented code\&. However, tools may insert extra instrumentation memory 
references in between the LL and SC instructions\&. These memory references are 
not present in the original uninstrumented code, and their presence in the 
instrumented code can cause the SC instructions to persistently fail, leading 
to indefinite looping in LL\-SC blocks\&. The alternative implementation gives 
correct behaviour of LL and SC instructions between threads in a process, up to 
and including the ABA scenario\&. It also gives correct behaviour between a 
Valgrinded thread and a non\-Valgrinded thread running in a different process, 
that communicate via shared memory, but only up to and including correct CAS 
behaviour \-\- in this case the ABA scenario may not be correctly handled\&.

-.-.

The name of a man page is typeset in bold and the section in roman
(see man-pages(7)).

2956:cg_annotate(1), callgrind_annotate(1), callgrind_control(1), ms_print(1),

-.-.

Put a parenthetical sentence, phrase on a separate line,
if not part of a code.
See man-pages(7), item "semantic newline".

[List of affected lines removed.]


-.-.

Test nr. 68:

Change a HYPHEN-MINUS (code 0x55, 2D) to a dash
(\-, minus) if it matches "[[:alph:]]-[[:alpha:]]" in the name of an
option).
Facilitates the copy and paste of
a) an option in UTF-8 text
b) web addresses (URL).

Is not needed in ordinary words like "mother-in-law", that are not
copied and pasted to a command line (which needs ASCII code)

347:--log-file
814:--log-file
1915:--log-file
2981:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver
2986:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.vgdb
2991:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.valgrind-monitor-commands

-.-.

Use a hyphen between a number and the unit (name) "bit",
see "man-pages(7)", item "Terms to avoid".

2735:on 64bit platforms and
2737:on 32bit platforms\&.

-.-.

Protect "^From " from forcing a mail software to use "quoted-printable"
encoding, by adding "\&" in front of it.

1504:From the progress of these, it is possible to observe:

-.-.

No need for '\&' to be in front of a period (.),
if there is a character in front of it.

Remove with "sed -e 's/\\&\././g'".

[List of affected lines removed.]

-.-.

Lines longer than about(?) 1023 forces a mail program to use quoted-printable
encoding which is bad.  Translater program is unusable.

Line 1112, length 1607

\fBfallback\-llsc: \fR(MIPS and ARM64 only): Enables an alternative 
implementation of Load\-Linked (LL) and Store\-Conditional (SC) instructions\&. 
The standard implementation gives more correct behaviour, but can cause 
indefinite looping on certain processor implementations that are intolerant of 
extra memory references between LL and SC\&. So far this is known only to 
happen on Cavium 3 cores\&. You should not need to use this flag, since the 
relevant cores are detected at startup and the alternative implementation is 
automatically enabled if necessary\&. There is no equivalent anti\-flag: you 
cannot force\-disable the alternative implementation, if it is automatically 
enabled\&. The underlying problem exists because the "standard" implementation 
of LL and SC is done by copying through LL and SC instructions into the 
instrumented code\&. However, tools may insert extra instrumentation memory 
references in between the LL and SC instructions\&. These memory references are 
not present in the original uninstrumented code, and their presence in the 
instrumented code can cause the SC instructions to persistently fail, leading 
to indefinite looping in LL\-SC blocks\&. The alternative implementation gives 
correct behaviour of LL and SC instructions between threads in a process, up to 
and including the ABA scenario\&. It also gives correct behaviour between a 
Valgrinded thread and a non\-Valgrinded thread running in a different process, 
that communicate via shared memory, but only up to and including correct CAS 
behaviour \-\- in this case the ABA scenario may not be correctly handled\&.

-.-.

Only one space character is after a possible end of sentence
(after a punctuation, that can end a sentence).

[List of affected lines removed.]

-.-.

Put a subordinate sentence (after a comma) on a new line.

[List of affected lines removed.]

Remove quotes when there is a printable
but no space character between them
and the quotes are not for emphasis (markup),
for example as an argument to a macro.

valgrind.1:10:.TH "VALGRIND" "1" "01/22/2025" "Release 3\&.24\&.0" "valgrind"
valgrind.1:30:.SH "NAME"
valgrind.1:32:.SH "SYNOPSIS"
valgrind.1:35:.SH "DESCRIPTION"
valgrind.1:2936:.SH "DEBUGINFOD"
valgrind.1:2967:.SH "AUTHOR"
valgrind.1:2972:.SH "NOTES"

-.-.

Use ".na" (no adjustment) instead of ".ad l" (and ".ad" to begin the
same adjustment again as before).

26:.ad l

-.-.

Section headings (.SH and .SS) do not need quoting their arguments.

30:.SH "NAME"
32:.SH "SYNOPSIS"
35:.SH "DESCRIPTION"
45:.SH "TOOL SELECTION OPTIONS"
54:.SH "BASIC OPTIONS"
297:.SH "ERROR\-RELATED OPTIONS"
755:.SH "MALLOC()\-RELATED OPTIONS"
826:.SH "UNCOMMON OPTIONS"
1584:.SH "DEBUGGING VALGRIND OPTIONS"
1589:.SH "MEMCHECK OPTIONS"
2125:.SH "CACHEGRIND OPTIONS"
2176:.SH "CALLGRIND OPTIONS"
2343:.SH "HELGRIND OPTIONS"
2490:.SH "DRD OPTIONS"
2667:.SH "MASSIF OPTIONS"
2804:.SH "BBV OPTIONS"
2835:.SH "LACKEY OPTIONS"
2936:.SH "DEBUGINFOD"
2954:.SH "SEE ALSO"
2967:.SH "AUTHOR"
2972:.SH "NOTES"

-.-.

Remove excessive "\&" when it has no functional purpose.

2952:\m[blue]\fBElfutils Debuginfod\fR\m[]\&\s-2\u[1]\d\s+2
2960:\m[blue]\fBDebugging your program using Valgrind\*(Aqs gdbserver and 
GDB\fR\m[]\&\s-2\u[2]\d\s+2
2961:\m[blue]\fBvgdb\fR\m[]\&\s-2\u[3]\d\s+2,
2962:\m[blue]\fBValgrind monitor commands\fR\m[]\&\s-2\u[4]\d\s+2,
2963:\m[blue]\fBThe Commentary\fR\m[]\&\s-2\u[5]\d\s+2,
2964:\m[blue]\fBScheduling and Multi\-Thread 
Performance\fR\m[]\&\s-2\u[6]\d\s+2,
2965:\m[blue]\fBCachegrind: a cache and branch\-prediction 
profiler\fR\m[]\&\s-2\u[7]\d\s+2\&.
2966:\m[blue]\fBExecution Trees\fR\m[]\&\s-2\u[8]\d\s+2

-.-.

Use "\-" instead of "-" in web addresses.

16:.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
2981:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver
2986:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.vgdb
2991:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.valgrind-monitor-commands
2996:\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.comment
3001:\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.pthreads_perf_sched
3006:\%http://www.valgrind.org/docs/manual/cg-manual.html
3011:\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.xtree

-.-.

Put a (long) web address on a new line to reduce the posibility of
splitting the address between two output lines.
Or inhibit hyphenation with "\%" in front of the name.

44:http://www\&.valgrind\&.org/docs/manual/index\&.html\&;.
2959:http://www\&.valgrind\&.org/docs/manual/index\&.html,
2976:\%https://sourceware.org/elfutils/Debuginfod.html
2981:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver
2986:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.vgdb
2991:\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.valgrind-monitor-commands
2996:\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.comment
3001:\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.pthreads_perf_sched
3006:\%http://www.valgrind.org/docs/manual/cg-manual.html
3011:\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.xtree

-.-.

Output from "test-groff  -mandoc -t -K utf8 -rF0 -rHY=0 -rCHECKSTYLE=10 -ww -z 
":

troff:<stdin>:49: warning: trailing space in the line
troff:<stdin>:85: warning: trailing space in the line
troff:<stdin>:102: warning: trailing space in the line
troff:<stdin>:114: warning: trailing space in the line
troff:<stdin>:120: warning: trailing space in the line
troff:<stdin>:128: warning: trailing space in the line
troff:<stdin>:146: warning: trailing space in the line
troff:<stdin>:154: warning: trailing space in the line
troff:<stdin>:221: warning: trailing space in the line
troff:<stdin>:233: warning: trailing space in the line
troff:<stdin>:238: warning: trailing space in the line
troff:<stdin>:243: warning: trailing space in the line
troff:<stdin>:282: warning: trailing space in the line
troff:<stdin>:291: warning: trailing space in the line
troff:<stdin>:301: warning: trailing space in the line
troff:<stdin>:332: warning: trailing space in the line
troff:<stdin>:338: warning: trailing space in the line
troff:<stdin>:351: warning: trailing space in the line
troff:<stdin>:360: warning: trailing space in the line
troff:<stdin>:367: warning: trailing space in the line
troff:<stdin>:374: warning: trailing space in the line
troff:<stdin>:381: warning: trailing space in the line
troff:<stdin>:406: warning: trailing space in the line
troff:<stdin>:411: warning: trailing space in the line
troff:<stdin>:416: warning: trailing space in the line
troff:<stdin>:453: warning: trailing space in the line
troff:<stdin>:462: warning: trailing space in the line
troff:<stdin>:470: warning: trailing space in the line
troff:<stdin>:486: warning: trailing space in the line
troff:<stdin>:522: warning: trailing space in the line
troff:<stdin>:574: warning: trailing space in the line
troff:<stdin>:582: warning: trailing space in the line
troff:<stdin>:587: warning: trailing space in the line
troff:<stdin>:627: warning: trailing space in the line
troff:<stdin>:633: warning: trailing space in the line
troff:<stdin>:683: warning: trailing space in the line
troff:<stdin>:694: warning: trailing space in the line
troff:<stdin>:729: warning: trailing space in the line
troff:<stdin>:735: warning: trailing space in the line
troff:<stdin>:761: warning: trailing space in the line
troff:<stdin>:768: warning: trailing space in the line
troff:<stdin>:777: warning: trailing space in the line
troff:<stdin>:806: warning: trailing space in the line
troff:<stdin>:830: warning: trailing space in the line
troff:<stdin>:861: warning: trailing space in the line
troff:<stdin>:872: warning: trailing space in the line
troff:<stdin>:876: warning: trailing space in the line
troff:<stdin>:897: warning: trailing space in the line
troff:<stdin>:902: warning: trailing space in the line
troff:<stdin>:912: warning: trailing space in the line
troff:<stdin>:924: warning: trailing space in the line
troff:<stdin>:947: warning: trailing space in the line
troff:<stdin>:959: warning: trailing space in the line
troff:<stdin>:964: warning: trailing space in the line
troff:<stdin>:969: warning: trailing space in the line
troff:<stdin>:974: warning: trailing space in the line
troff:<stdin>:995: warning: trailing space in the line
troff:<stdin>:1014: warning: trailing space in the line
troff:<stdin>:1026: warning: trailing space in the line
troff:<stdin>:1038: warning: trailing space in the line
troff:<stdin>:1050: warning: trailing space in the line
troff:<stdin>:1062: warning: trailing space in the line
troff:<stdin>:1078: warning: trailing space in the line
troff:<stdin>:1100: warning: trailing space in the line
troff:<stdin>:1116: warning: trailing space in the line
troff:<stdin>:1124: warning: trailing space in the line
troff:<stdin>:1227: warning: trailing space in the line
troff:<stdin>:1242: warning: trailing space in the line
troff:<stdin>:1251: warning: trailing space in the line
troff:<stdin>:1260: warning: trailing space in the line
troff:<stdin>:1272: warning: trailing space in the line
troff:<stdin>:1284: warning: trailing space in the line
an.tmac:<stdin>:1307: style: 1 leading space(s) on input line
troff:<stdin>:1399: warning: trailing space in the line
troff:<stdin>:1591: warning: trailing space in the line
troff:<stdin>:1610: warning: trailing space in the line
troff:<stdin>:1628: warning: trailing space in the line
troff:<stdin>:1672: warning: trailing space in the line
troff:<stdin>:1682: warning: trailing space in the line
troff:<stdin>:1726: warning: trailing space in the line
troff:<stdin>:1776: warning: trailing space in the line
troff:<stdin>:1906: warning: trailing space in the line
troff:<stdin>:1923: warning: trailing space in the line
troff:<stdin>:1931: warning: trailing space in the line
troff:<stdin>:1952: warning: trailing space in the line
troff:<stdin>:1963: warning: trailing space in the line
troff:<stdin>:1981: warning: trailing space in the line
troff:<stdin>:2013: warning: trailing space in the line
troff:<stdin>:2025: warning: trailing space in the line
troff:<stdin>:2034: warning: trailing space in the line
troff:<stdin>:2046: warning: trailing space in the line
troff:<stdin>:2054: warning: trailing space in the line
troff:<stdin>:2088: warning: trailing space in the line
troff:<stdin>:2102: warning: trailing space in the line
troff:<stdin>:2107: warning: trailing space in the line
troff:<stdin>:2117: warning: trailing space in the line
troff:<stdin>:2127: warning: trailing space in the line
troff:<stdin>:2140: warning: trailing space in the line
troff:<stdin>:2145: warning: trailing space in the line
troff:<stdin>:2150: warning: trailing space in the line
troff:<stdin>:2159: warning: trailing space in the line
troff:<stdin>:2165: warning: trailing space in the line
troff:<stdin>:2171: warning: trailing space in the line
troff:<stdin>:2178: warning: trailing space in the line
troff:<stdin>:2191: warning: trailing space in the line
troff:<stdin>:2196: warning: trailing space in the line
troff:<stdin>:2201: warning: trailing space in the line
troff:<stdin>:2206: warning: trailing space in the line
troff:<stdin>:2211: warning: trailing space in the line
troff:<stdin>:2216: warning: trailing space in the line
troff:<stdin>:2223: warning: trailing space in the line
troff:<stdin>:2229: warning: trailing space in the line
troff:<stdin>:2235: warning: trailing space in the line
troff:<stdin>:2241: warning: trailing space in the line
troff:<stdin>:2255: warning: trailing space in the line
troff:<stdin>:2296: warning: trailing space in the line
troff:<stdin>:2302: warning: trailing space in the line
troff:<stdin>:2307: warning: trailing space in the line
troff:<stdin>:2328: warning: trailing space in the line
troff:<stdin>:2333: warning: trailing space in the line
troff:<stdin>:2339: warning: trailing space in the line
troff:<stdin>:2345: warning: trailing space in the line
troff:<stdin>:2352: warning: trailing space in the line
troff:<stdin>:2357: warning: trailing space in the line
troff:<stdin>:2379: warning: trailing space in the line
troff:<stdin>:2388: warning: trailing space in the line
troff:<stdin>:2443: warning: trailing space in the line
troff:<stdin>:2455: warning: trailing space in the line
an.tmac:<stdin>:2507: style: 1 leading space(s) on input line
troff:<stdin>:2507: warning: trailing space in the line
an.tmac:<stdin>:2512: style: 1 leading space(s) on input line
troff:<stdin>:2512: warning: trailing space in the line
an.tmac:<stdin>:2547: style: 1 leading space(s) on input line
troff:<stdin>:2547: warning: trailing space in the line
troff:<stdin>:2669: warning: trailing space in the line
troff:<stdin>:2674: warning: trailing space in the line
troff:<stdin>:2679: warning: trailing space in the line
troff:<stdin>:2689: warning: trailing space in the line
troff:<stdin>:2694: warning: trailing space in the line
troff:<stdin>:2699: warning: trailing space in the line
troff:<stdin>:2746: warning: trailing space in the line
troff:<stdin>:2766: warning: trailing space in the line
troff:<stdin>:2771: warning: trailing space in the line
troff:<stdin>:2776: warning: trailing space in the line
troff:<stdin>:2781: warning: trailing space in the line
troff:<stdin>:2787: warning: trailing space in the line
troff:<stdin>:2792: warning: trailing space in the line
troff:<stdin>:2806: warning: trailing space in the line
troff:<stdin>:2816: warning: trailing space in the line
troff:<stdin>:2826: warning: trailing space in the line
troff:<stdin>:2831: warning: trailing space in the line
troff:<stdin>:2837: warning: trailing space in the line
troff:<stdin>:2911: warning: trailing space in the line
troff:<stdin>:2916: warning: trailing space in the line
troff:<stdin>:2923: warning: trailing space in the line
troff:<stdin>:2930: warning: trailing space in the line
troff:<stdin>:2991: warning: [page 32, 8.1i]: cannot break line
troff:<stdin>:995: warning: trailing space in the line
troff:<stdin>:1014: warning: trailing space in the line
troff:<stdin>:1026: warning: trailing space in the line
troff:<stdin>:1038: warning: trailing space in the line
troff:<stdin>:1050: warning: trailing space in the line
troff:<stdin>:1062: warning: trailing space in the line
troff:<stdin>:1078: warning: trailing space in the line
troff:<stdin>:1100: warning: trailing space in the line
troff:<stdin>:1116: warning: trailing space in the line
troff:<stdin>:1124: warning: trailing space in the line
troff:<stdin>:1227: warning: trailing space in the line
troff:<stdin>:1242: warning: trailing space in the line
troff:<stdin>:1251: warning: trailing space in the line
troff:<stdin>:1260: warning: trailing space in the line
troff:<stdin>:1272: warning: trailing space in the line
troff:<stdin>:1284: warning: trailing space in the line
an.tmac:<stdin>:1307: style: 1 leading space(s) on input line
troff:<stdin>:1399: warning: trailing space in the line
troff:<stdin>:1591: warning: trailing space in the line
troff:<stdin>:1610: warning: trailing space in the line
troff:<stdin>:1628: warning: trailing space in the line
troff:<stdin>:1672: warning: trailing space in the line
troff:<stdin>:1682: warning: trailing space in the line
troff:<stdin>:1708: warning [page 21, line 46]: cannot break line
troff:<stdin>:1726: warning: trailing space in the line
troff:<stdin>:1776: warning: trailing space in the line
troff:<stdin>:1906: warning: trailing space in the line
troff:<stdin>:1923: warning: trailing space in the line
troff:<stdin>:1931: warning: trailing space in the line
troff:<stdin>:1952: warning: trailing space in the line
troff:<stdin>:1963: warning: trailing space in the line
troff:<stdin>:1981: warning: trailing space in the line
troff:<stdin>:2013: warning: trailing space in the line
troff:<stdin>:2025: warning: trailing space in the line
troff:<stdin>:2034: warning: trailing space in the line
troff:<stdin>:2046: warning: trailing space in the line
troff:<stdin>:2054: warning: trailing space in the line
troff:<stdin>:2088: warning: trailing space in the line
troff:<stdin>:2102: warning: trailing space in the line
troff:<stdin>:2107: warning: trailing space in the line
troff:<stdin>:2117: warning: trailing space in the line
troff:<stdin>:2127: warning: trailing space in the line
troff:<stdin>:2140: warning: trailing space in the line
troff:<stdin>:2145: warning: trailing space in the line
troff:<stdin>:2150: warning: trailing space in the line
troff:<stdin>:2159: warning: trailing space in the line
troff:<stdin>:2165: warning: trailing space in the line
troff:<stdin>:2171: warning: trailing space in the line
troff:<stdin>:2178: warning: trailing space in the line
troff:<stdin>:2191: warning: trailing space in the line
troff:<stdin>:2196: warning: trailing space in the line
troff:<stdin>:2201: warning: trailing space in the line
troff:<stdin>:2206: warning: trailing space in the line
troff:<stdin>:2211: warning: trailing space in the line
troff:<stdin>:2216: warning: trailing space in the line
troff:<stdin>:2223: warning: trailing space in the line
troff:<stdin>:2229: warning: trailing space in the line
troff:<stdin>:2235: warning: trailing space in the line
troff:<stdin>:2241: warning: trailing space in the line
troff:<stdin>:2255: warning: trailing space in the line
troff:<stdin>:2296: warning: trailing space in the line
troff:<stdin>:2302: warning: trailing space in the line
troff:<stdin>:2307: warning: trailing space in the line
troff:<stdin>:2328: warning: trailing space in the line
troff:<stdin>:2333: warning: trailing space in the line
troff:<stdin>:2339: warning: trailing space in the line
troff:<stdin>:2345: warning: trailing space in the line
troff:<stdin>:2352: warning: trailing space in the line
troff:<stdin>:2357: warning: trailing space in the line
troff:<stdin>:2379: warning: trailing space in the line
troff:<stdin>:2388: warning: trailing space in the line
troff:<stdin>:2443: warning: trailing space in the line
troff:<stdin>:2455: warning: trailing space in the line
an.tmac:<stdin>:2507: style: 1 leading space(s) on input line
troff:<stdin>:2507: warning: trailing space in the line
an.tmac:<stdin>:2512: style: 1 leading space(s) on input line
troff:<stdin>:2512: warning: trailing space in the line
an.tmac:<stdin>:2547: style: 1 leading space(s) on input line
troff:<stdin>:2547: warning: trailing space in the line
troff:<stdin>:2669: warning: trailing space in the line
troff:<stdin>:2674: warning: trailing space in the line
troff:<stdin>:2679: warning: trailing space in the line
troff:<stdin>:2689: warning: trailing space in the line
troff:<stdin>:2694: warning: trailing space in the line
troff:<stdin>:2699: warning: trailing space in the line
troff:<stdin>:2746: warning: trailing space in the line
troff:<stdin>:2766: warning: trailing space in the line
troff:<stdin>:2771: warning: trailing space in the line
troff:<stdin>:2776: warning: trailing space in the line
troff:<stdin>:2781: warning: trailing space in the line
troff:<stdin>:2787: warning: trailing space in the line
troff:<stdin>:2792: warning: trailing space in the line
troff:<stdin>:2806: warning: trailing space in the line
troff:<stdin>:2816: warning: trailing space in the line
troff:<stdin>:2826: warning: trailing space in the line
troff:<stdin>:2831: warning: trailing space in the line
troff:<stdin>:2837: warning: trailing space in the line
troff:<stdin>:2911: warning: trailing space in the line
troff:<stdin>:2916: warning: trailing space in the line
troff:<stdin>:2923: warning: trailing space in the line
troff:<stdin>:2930: warning: trailing space in the line
troff:<stdin>:2981: warning [page 36, line 23]: cannot break line
troff:<stdin>:2986: warning [page 36, line 26]: cannot break line
troff:<stdin>:2991: warning [page 36, line 29]: cannot break line
troff:<stdin>:2996: warning [page 36, line 32]: cannot break line
troff:<stdin>:3001: warning [page 36, line 35]: cannot break line

-.-.

Additionally:

Remove hidden trailing space in lines that end with " \fR".

-.-

Generally:

Split (sometimes) lines after a punctuation mark; before a conjunction.
--- valgrind.1  2025-03-30 23:17:09.593397385 +0000
+++ valgrind.1.new      2025-03-30 23:57:53.042671374 +0000
@@ -46,7 +46,7 @@ http://www\&.valgrind\&.org/docs/manual/
 .PP
 The single most important option\&.
 .PP
-\fB\-\-tool=<toolname> [default: memcheck] \fR
+\fB\-\-tool=<toolname> [default: memcheck]\fR
 .RS 4
 Run the Valgrind tool called
 \fItoolname\fR, e\&.g\&. memcheck, cachegrind, callgrind, helgrind, drd, 
massif, dhat, lackey, none, exp\-bbv, etc\&.
@@ -82,7 +82,7 @@ Run silently, and only print error messa
 Be more verbose\&. Gives extra information on various aspects of your program, 
such as: the shared objects loaded, the suppressions used, the progress of the 
instrumentation and execution engines, and warnings about unusual behaviour\&. 
Repeating the option increases the verbosity level\&.
 .RE
 .PP
-\fB\-\-trace\-children=<yes|no> [default: no] \fR
+\fB\-\-trace\-children=<yes|no> [default: no]\fR
 .RS 4
 When enabled, Valgrind will trace into sub\-processes initiated via the
 \fIexec\fR
@@ -99,7 +99,7 @@ calls immediately call
 anyway\&.
 .RE
 .PP
-\fB\-\-trace\-children\-skip=patt1,patt2,\&.\&.\&. \fR
+\fB\-\-trace\-children\-skip=patt1,patt2,\&.\&.\&.\fR
 .RS 4
 This option only has an effect when
 \fB\-\-trace\-children=yes\fR
@@ -111,13 +111,13 @@ and
 This can be useful for pruning uninteresting branches from a tree of processes 
being run on Valgrind\&. But you should be careful when using it\&. When 
Valgrind skips tracing into an executable, it doesn\*(Aqt just skip tracing 
that executable, it also skips tracing any of that executable\*(Aqs child 
processes\&. In other words, the flag doesn\*(Aqt merely cause tracing to stop 
at the specified executables \-\- it skips tracing of entire process subtrees 
rooted at any of the specified executables\&.
 .RE
 .PP
-\fB\-\-trace\-children\-skip\-by\-arg=patt1,patt2,\&.\&.\&. \fR
+\fB\-\-trace\-children\-skip\-by\-arg=patt1,patt2,\&.\&.\&.\fR
 .RS 4
 This is the same as
 \fB\-\-trace\-children\-skip\fR, with one difference: the decision as to 
whether to trace into a child process is made by examining the arguments to the 
child process, rather than the name of its executable\&.
 .RE
 .PP
-\fB\-\-child\-silent\-after\-fork=<yes|no> [default: no] \fR
+\fB\-\-child\-silent\-after\-fork=<yes|no> [default: no]\fR
 .RS 4
 When enabled, Valgrind will not show any debugging or logging output for the 
child process resulting from a
 \fIfork\fR
@@ -125,7 +125,7 @@ call\&. This can make the output less co
 \fI\-\-trace\-children=\fR\&. Use of this option is also strongly recommended 
if you are requesting XML output (\fI\-\-xml=yes\fR), since otherwise the XML 
from child and parent may become mixed up, which usually makes it useless\&.
 .RE
 .PP
-\fB\-\-vgdb=<no|yes|full> [default: yes] \fR
+\fB\-\-vgdb=<no|yes|full> [default: yes]\fR
 .RS 4
 Valgrind will provide "gdbserver" functionality when
 \fB\-\-vgdb=yes\fR
@@ -143,7 +143,7 @@ command line utility can send "monitor c
 Valgrind monitor commands\&. A tool can optionally provide tool specific 
monitor commands, which are documented in the tool specific chapter\&.
 .RE
 .PP
-\fB\-\-vgdb\-error=<number> [default: 999999999] \fR
+\fB\-\-vgdb\-error=<number> [default: 999999999]\fR
 .RS 4
 Use this option when the Valgrind gdbserver is enabled with
 \fB\-\-vgdb=yes\fR
@@ -151,7 +151,7 @@ or
 \fB\-\-vgdb=full\fR\&. Tools that report errors will wait for "number" errors 
to be reported before freezing the program and waiting for you to connect with 
GDB\&. It follows that a value of zero will cause the gdbserver to be started 
before your program is executed\&. This is typically used to insert GDB 
breakpoints before execution, and also works with tools that do not report 
errors, such as Massif\&.
 .RE
 .PP
-\fB\-\-vgdb\-stop\-at=<set> [default: none] \fR
+\fB\-\-vgdb\-stop\-at=<set> [default: none]\fR
 .RS 4
 Use this option when the Valgrind gdbserver is enabled with
 \fB\-\-vgdb=yes\fR
@@ -218,7 +218,7 @@ for the empty set\&.
 .RE
 .RE
 .PP
-\fB\-\-track\-fds=<yes|no|all> [default: no] \fR
+\fB\-\-track\-fds=<yes|no|all> [default: no]\fR
 .RS 4
 When enabled, Valgrind will print out a list of open file descriptors on exit 
or on request, via the gdbserver monitor command
 \fIv\&.info open_fds\fR\&. Along with each file descriptor is printed a stack 
backtrace of where the file was opened and any details relating to the file 
descriptor such as the file name or socket details\&. Use
@@ -230,17 +230,17 @@ and
 stderr\&.
 .RE
 .PP
-\fB\-\-time\-stamp=<yes|no> [default: no] \fR
+\fB\-\-time\-stamp=<yes|no> [default: no]\fR
 .RS 4
 When enabled, each message is preceded with an indication of the elapsed 
wallclock time since startup, expressed as days, hours, minutes, seconds and 
milliseconds\&.
 .RE
 .PP
-\fB\-\-log\-fd=<number> [default: 2, stderr] \fR
+\fB\-\-log\-fd=<number> [default: 2, stderr]\fR
 .RS 4
 Specifies that Valgrind should send all of its messages to the specified file 
descriptor\&. The default, 2, is the standard error channel (stderr)\&. Note 
that this may interfere with the client\*(Aqs own use of stderr, as 
Valgrind\*(Aqs output will be interleaved with any output that the client sends 
to stderr\&.
 .RE
 .PP
-\fB\-\-log\-file=<filename> \fR
+\fB\-\-log\-file=<filename>\fR
 .RS 4
 Specifies that Valgrind should send all of its messages to the specified 
file\&. If the file name is empty, it causes an abort\&. There are three 
special format specifiers that can be used in the file name\&.
 .sp
@@ -279,7 +279,7 @@ is followed by any other character, it c
 If the file name specifies a relative file name, it is put in the 
program\*(Aqs initial working directory: this is the current directory when the 
program started its execution after the fork or after the exec\&. If it 
specifies an absolute file name (ie\&. starts with \*(Aq/\*(Aq) then it is put 
there\&.
 .RE
 .PP
-\fB\-\-log\-socket=<ip\-address:port\-number> \fR
+\fB\-\-log\-socket=<ip\-address:port\-number>\fR
 .RS 4
 Specifies that Valgrind should send all of its messages to the specified port 
at the specified IP address\&. The port may be omitted, in which case port 1500 
is used\&. If a connection cannot be made to the specified socket, Valgrind 
falls back to writing output to the standard error (stderr)\&. This option is 
intended to be used in conjunction with the
 valgrind\-listener
@@ -288,7 +288,7 @@ the commentary
 in the manual\&.
 .RE
 .PP
-\fB\-\-enable\-debuginfod=<no|yes> [default: yes] \fR
+\fB\-\-enable\-debuginfod=<no|yes> [default: yes]\fR
 .RS 4
 When enabled Valgrind will attempt to download missing debuginfo from 
debuginfod servers if space\-separated server URLs are present in the
 $DEBUGINFOD_URLS
@@ -298,7 +298,7 @@ environment variable\&. This option is s
 .PP
 These options are used by all tools that can report errors, e\&.g\&. Memcheck, 
but not Cachegrind\&.
 .PP
-\fB\-\-xml=<yes|no> [default: no] \fR
+\fB\-\-xml=<yes|no> [default: no]\fR
 .RS 4
 When enabled, the important parts of the output (e\&.g\&. tool error messages) 
will be in XML format rather than plain text\&. Furthermore, the XML output 
will be sent to a different output channel than the plain text output\&. 
Therefore, you also must use one of
 \fB\-\-xml\-fd\fR,
@@ -329,13 +329,13 @@ to send the plain text output to a secon
 to restrict the plain text output to critical error messages created by 
Valgrind itself\&. For example, failure to read a specified suppressions file 
counts as a critical error message\&. In this way, for a successful run the 
text output file will be empty\&. But if it isn\*(Aqt empty, then it will 
contain important information which the GUI user should be made aware of\&.
 .RE
 .PP
-\fB\-\-xml\-fd=<number> [default: \-1, disabled] \fR
+\fB\-\-xml\-fd=<number> [default: \-1, disabled]\fR
 .RS 4
 Specifies that Valgrind should send its XML output to the specified file 
descriptor\&. It must be used in conjunction with
 \fB\-\-xml=yes\fR\&.
 .RE
 .PP
-\fB\-\-xml\-file=<filename> \fR
+\fB\-\-xml\-file=<filename>\fR
 .RS 4
 Specifies that Valgrind should send its XML output to the specified file\&. It 
must be used in conjunction with
 \fB\-\-xml=yes\fR\&. Any
@@ -348,7 +348,7 @@ sequences appearing in the filename are
 for details\&.
 .RE
 .PP
-\fB\-\-xml\-socket=<ip\-address:port\-number> \fR
+\fB\-\-xml\-socket=<ip\-address:port\-number>\fR
 .RS 4
 Specifies that Valgrind should send its XML output the specified port at the 
specified IP address\&. It must be used in conjunction with
 \fB\-\-xml=yes\fR\&. The form of the argument is the same as that used by
@@ -357,28 +357,28 @@ Specifies that Valgrind should send its
 for further details\&.
 .RE
 .PP
-\fB\-\-xml\-user\-comment=<string> \fR
+\fB\-\-xml\-user\-comment=<string>\fR
 .RS 4
 Embeds an extra user comment string at the start of the XML output\&. Only 
works when
 \fB\-\-xml=yes\fR
 is specified; ignored otherwise\&.
 .RE
 .PP
-\fB\-\-demangle=<yes|no> [default: yes] \fR
+\fB\-\-demangle=<yes|no> [default: yes]\fR
 .RS 4
 Enable/disable automatic demangling (decoding) of C++ names\&. Enabled by 
default\&. When enabled, Valgrind will attempt to translate encoded C++ names 
back to something approaching the original\&. The demangler handles symbols 
mangled by g++ versions 2\&.X, 3\&.X and 4\&.X\&.
 .sp
 An important fact about demangling is that function names mentioned in 
suppressions files should be in their mangled form\&. Valgrind does not 
demangle function names when searching for applicable suppressions, because to 
do otherwise would make suppression file contents dependent on the state of 
Valgrind\*(Aqs demangling machinery, and also slow down suppression matching\&.
 .RE
 .PP
-\fB\-\-num\-callers=<number> [default: 12] \fR
+\fB\-\-num\-callers=<number> [default: 12]\fR
 .RS 4
 Specifies the maximum number of entries shown in stack traces that identify 
program locations\&. Note that errors are commoned up using only the top four 
function locations (the place in the current function, and that of its three 
immediate callers)\&. So this doesn\*(Aqt affect the total number of errors 
reported\&.
 .sp
 The maximum value for this is 500\&. Note that higher settings will make 
Valgrind run a bit more slowly and take a bit more memory, but can be useful 
when working with programs with deeply\-nested call chains\&.
 .RE
 .PP
-\fB\-\-unw\-stack\-scan\-thresh=<number> [default: 0] \fR, 
\fB\-\-unw\-stack\-scan\-frames=<number> [default: 5] \fR
+\fB\-\-unw\-stack\-scan\-thresh=<number> [default: 0] \fR, 
\fB\-\-unw\-stack\-scan\-frames=<number> [default: 5]\fR
 .RS 4
 Stack\-scanning support is available only on ARM targets\&.
 .sp
@@ -403,17 +403,17 @@ If stack scanning does take place, it wi
 be created\&.
 .RE
 .PP
-\fB\-\-error\-limit=<yes|no> [default: yes] \fR
+\fB\-\-error\-limit=<yes|no> [default: yes]\fR
 .RS 4
 When enabled, Valgrind stops reporting errors after 10,000,000 in total, or 
1,000 different ones, have been seen\&. This is to stop the error tracking 
machinery from becoming a huge performance overhead in programs with many 
errors\&.
 .RE
 .PP
-\fB\-\-error\-exitcode=<number> [default: 0] \fR
+\fB\-\-error\-exitcode=<number> [default: 0]\fR
 .RS 4
 Specifies an alternative exit code to return if Valgrind reported any errors 
in the run\&. When set to the default value (zero), the return value from 
Valgrind will always be the return value of the process being simulated\&. When 
set to a nonzero value, that value is returned instead, if Valgrind detects any 
errors\&. This is useful for using Valgrind as part of an automated test suite, 
since it makes it easy to detect test cases for which Valgrind has reported 
errors, just by inspecting return codes\&. When set to a nonzero value and 
Valgrind detects no error, the return value of Valgrind will be the return 
value of the program being simulated\&.
 .RE
 .PP
-\fB\-\-exit\-on\-first\-error=<yes|no> [default: no] \fR
+\fB\-\-exit\-on\-first\-error=<yes|no> [default: no]\fR
 .RS 4
 If this option is enabled, Valgrind exits on the first error\&. A nonzero exit 
value must be defined using
 \-\-error\-exitcode
@@ -450,7 +450,7 @@ is equivalent to
 \fB\-\-show\-error\-list=yes\fR\&.
 .RE
 .PP
-\fB\-\-sigill\-diagnostics=<yes|no> [default: yes] \fR
+\fB\-\-sigill\-diagnostics=<yes|no> [default: yes]\fR
 .RS 4
 Enable/disable printing of illegal instruction diagnostics\&. Enabled by 
default, but defaults to disabled when
 \fB\-\-quiet\fR
@@ -459,7 +459,7 @@ is given\&. The default can always be ex
 When enabled, a warning message will be printed, along with some diagnostics, 
whenever an instruction is encountered that Valgrind cannot decode or 
translate, before the program is given a SIGILL signal\&. Often an illegal 
instruction indicates a bug in the program or missing support for the 
particular instruction in Valgrind\&. But some programs do deliberately try to 
execute an instruction that might be missing and trap the SIGILL signal to 
detect processor features\&. Using this flag makes it possible to avoid the 
diagnostic output that you would otherwise get in such cases\&.
 .RE
 .PP
-\fB\-\-keep\-debuginfo=<yes|no> [default: no] \fR
+\fB\-\-keep\-debuginfo=<yes|no> [default: no]\fR
 .RS 4
 When enabled, keep ("archive") symbols and all other debuginfo for unloaded 
code\&. This allows saved stack traces to include file/line info for code that 
has been dlclose\*(Aqd (or similar)\&. Be careful with this, since it can lead 
to unbounded memory use for programs which repeatedly load and unload shared 
objects\&.
 .sp
@@ -467,7 +467,7 @@ Some tools and some functionalities have
 \fB\-\-keep\-debuginfo=yes\fR, so other tools may have unknown limitations\&.
 .RE
 .PP
-\fB\-\-show\-below\-main=<yes|no> [default: no] \fR
+\fB\-\-show\-below\-main=<yes|no> [default: no]\fR
 .RS 4
 By default, stack traces for errors do not show any functions that appear 
beneath
 \fBmain\fR
@@ -483,7 +483,7 @@ If this option is enabled, all stack tra
 \fBmain\fR\-like functions will not be normalised\&.
 .RE
 .PP
-\fB\-\-fullpath\-after=<string> [default: don\*(Aqt show source paths] \fR
+\fB\-\-fullpath\-after=<string> [default: don\*(Aqt show source paths]\fR
 .RS 4
 By default Valgrind only shows the filenames in stack traces, but not full 
paths to source files\&. When using Valgrind in large projects where the 
sources reside in multiple different directories, this can be inconvenient\&.
 \fB\-\-fullpath\-after\fR
@@ -519,7 +519,7 @@ multiple times\&. Any appearance of it c
 \fB\-\-fullpath\-after\fR\-specified strings, in the order specified\&. The 
first string to match causes the path to be truncated as described above\&. If 
none match, the full path is shown\&. This facilitates chopping off prefixes 
when the sources are drawn from a number of unrelated directories\&.
 .RE
 .PP
-\fB\-\-extra\-debuginfo\-path=<path> [default: undefined and unused] \fR
+\fB\-\-extra\-debuginfo\-path=<path> [default: undefined and unused]\fR
 .RS 4
 By default Valgrind searches in several well\-known paths for debug objects, 
such as
 /usr/lib/debug/\&.
@@ -571,7 +571,7 @@ auxprogs/valgrind\-di\-server\&.c\&.
 Valgrind can also download debuginfo via debuginfod\&. See the DEBUGINFOD 
section for more information\&.
 .RE
 .PP
-\fB\-\-allow\-mismatched\-debuginfo=no|yes [no] \fR
+\fB\-\-allow\-mismatched\-debuginfo=no|yes [no]\fR
 .RS 4
 When reading debuginfo from separate debuginfo objects, Valgrind will by 
default check that the main and debuginfo objects match, using the GNU 
debuglink mechanism\&. This guarantees that it does not read debuginfo from out 
of date debuginfo objects, and also ensures that Valgrind can\*(Aqt crash as a 
result of mismatches\&.
 .sp
@@ -579,12 +579,12 @@ This check can be overridden using
 \-\-allow\-mismatched\-debuginfo=yes\&. This may be useful when the debuginfo 
and main objects have not been split in the proper way\&. Be careful when using 
this, though: it disables all consistency checking, and Valgrind has been 
observed to crash when the main and debuginfo objects don\*(Aqt match\&.
 .RE
 .PP
-\fB\-\-suppressions=<filename> [default: $PREFIX/lib/valgrind/default\&.supp] 
\fR
+\fB\-\-suppressions=<filename> [default: 
$PREFIX/lib/valgrind/default\&.supp]\fR
 .RS 4
 Specifies an extra file from which to read descriptions of errors to 
suppress\&. You may use up to 100 extra suppression files\&.
 .RE
 .PP
-\fB\-\-gen\-suppressions=<yes|no|all> [default: no] \fR
+\fB\-\-gen\-suppressions=<yes|no|all> [default: no]\fR
 .RS 4
 When set to
 \fIyes\fR, Valgrind will pause after every error shown and print the line:
@@ -624,13 +624,13 @@ Sometimes two different errors are suppr
 option which prints out all used suppression records\&.
 .RE
 .PP
-\fB\-\-input\-fd=<number> [default: 0, stdin] \fR
+\fB\-\-input\-fd=<number> [default: 0, stdin]\fR
 .RS 4
 When using
 \fB\-\-gen\-suppressions=yes\fR, Valgrind will stop so as to read keyboard 
input from you when each error occurs\&. By default it reads from the standard 
input (stdin), which is problematic for programs which close stdin\&. This 
option allows you to specify an alternative file descriptor from which to read 
input\&.
 .RE
 .PP
-\fB\-\-dsymutil=no|yes [yes] \fR
+\fB\-\-dsymutil=no|yes [yes]\fR
 .RS 4
 This option is only relevant when running Valgrind on macOS\&.
 .sp
@@ -680,7 +680,7 @@ dsymutil
 is quite slow, sometimes excessively so\&.
 .RE
 .PP
-\fB\-\-max\-stackframe=<number> [default: 2000000] \fR
+\fB\-\-max\-stackframe=<number> [default: 2000000]\fR
 .RS 4
 The maximum size of a stack frame\&. If the stack pointer moves by more than 
this amount then Valgrind will assume that the program is switching to a 
different stack\&.
 .sp
@@ -691,7 +691,7 @@ You should only consider use of this opt
 In general, allocating large structures on the stack is a bad idea, because 
you can easily run out of stack space, especially on systems with limited 
memory or which expect to support large numbers of threads each with a small 
stack, and also because the error checking performed by Memcheck is more 
effective for heap\-allocated data than for stack\-allocated data\&. If you 
have to use this option, you may wish to consider rewriting your code to 
allocate on the heap rather than on the stack\&.
 .RE
 .PP
-\fB\-\-main\-stacksize=<number> [default: use current \*(Aqulimit\*(Aq value] 
\fR
+\fB\-\-main\-stacksize=<number> [default: use current \*(Aqulimit\*(Aq 
value]\fR
 .RS 4
 Specifies the size of the main thread\*(Aqs stack\&.
 .sp
@@ -726,13 +726,13 @@ As discussed further in the description
 \fB\-\-max\-stackframe\fR, a requirement for a large stack is a sign of 
potential portability problems\&. You are best advised to place all large data 
in heap\-allocated memory\&.
 .RE
 .PP
-\fB\-\-max\-threads=<number> [default: 500] \fR
+\fB\-\-max\-threads=<number> [default: 500]\fR
 .RS 4
 By default, Valgrind can handle to up to 500 threads\&. Occasionally, that 
number is too small\&. Use this option to provide a different limit\&. E\&.g\&.
 \-\-max\-threads=3000\&.
 .RE
 .PP
-\fB\-\-realloc\-zero\-bytes\-frees=yes|no [default: yes for glibc no 
otherwise] \fR
+\fB\-\-realloc\-zero\-bytes\-frees=yes|no [default: yes for glibc no 
otherwise]\fR
 .RS 4
 The behaviour of
 realloc()
@@ -758,14 +758,14 @@ For tools that use their own version of
 malloc
 (e\&.g\&. Memcheck, Massif, Helgrind, DRD), the following options apply\&.
 .PP
-\fB\-\-alignment=<number> [default: 8 or 16, depending on the platform] \fR
+\fB\-\-alignment=<number> [default: 8 or 16, depending on the platform]\fR
 .RS 4
 By default Valgrind\*(Aqs
 \fBmalloc\fR,
 \fBrealloc\fR, etc, return a block whose starting address is 8\-byte aligned 
or 16\-byte aligned (the value depends on the platform and matches the platform 
default)\&. This option allows you to specify a different alignment\&. The 
supplied value must be greater than or equal to the default, less than or equal 
to 4096, and must be a power of two\&.
 .RE
 .PP
-\fB\-\-redzone\-size=<number> [default: depends on the tool] \fR
+\fB\-\-redzone\-size=<number> [default: depends on the tool]\fR
 .RS 4
 Valgrind\*(Aqs
 \fBmalloc, realloc,\fR
@@ -774,7 +774,7 @@ etc, add padding blocks before and after
 Increasing the redzone size makes it possible to detect overruns of larger 
distances, but increases the amount of memory used by Valgrind\&. Decreasing 
the redzone size will reduce the memory needed by Valgrind but also reduces the 
chances of detecting over/underruns, so is not recommended\&.
 .RE
 .PP
-\fB\-\-xtree\-memory=none|allocs|full [none] \fR
+\fB\-\-xtree\-memory=none|allocs|full [none]\fR
 .RS 4
 Tools replacing Valgrind\*(Aqs
 \fBmalloc, realloc,\fR
@@ -803,7 +803,7 @@ or
 \fB\-\-keep\-stacktraces=alloc\-then\-free\fR, which already records a stack 
trace for each free operation\&. The memory overhead varies between 5 and 10 
words per unique stacktrace in the xtree, plus the memory needed to record the 
stack trace for the free operations, if needed specifically for the xtree\&.
 .RE
 .PP
-\fB\-\-xtree\-memory\-file=<filename> [default: xtmemory\&.kcg\&.%p] \fR
+\fB\-\-xtree\-memory\-file=<filename> [default: xtmemory\&.kcg\&.%p]\fR
 .RS 4
 Specifies that Valgrind should produce the xtree memory report in the 
specified file\&. Any
 \fB%p\fR
@@ -827,7 +827,7 @@ for a detailed explanation about executi
 .PP
 These options apply to all tools, as they affect certain obscure workings of 
the Valgrind core\&. Most people won\*(Aqt need to use them\&.
 .PP
-\fB\-\-smc\-check=<none|stack|all|all\-non\-file> [default: all\-non\-file for 
x86/amd64/s390x, stack for other archs] \fR
+\fB\-\-smc\-check=<none|stack|all|all\-non\-file> [default: all\-non\-file for 
x86/amd64/s390x, stack for other archs]\fR
 .RS 4
 This option controls Valgrind\*(Aqs detection of self\-modifying code\&. If no 
checking is done, when a program executes some code, then overwrites it with 
new code, and executes the new code, Valgrind will continue to execute the 
translations it made for the old code\&. This will likely lead to incorrect 
behaviour and/or crashes\&.
 .sp
@@ -858,7 +858,7 @@ provides a cheaper but more limited vers
 takes advantage of this observation, limiting the overhead of checking to code 
which is likely to be JIT generated\&.
 .RE
 .PP
-\fB\-\-read\-inline\-info=<yes|no> [default: see below] \fR
+\fB\-\-read\-inline\-info=<yes|no> [default: see below]\fR
 .RS 4
 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\&. Currently, this 
functionality is enabled by default only for Linux, FreeBSD, Android and 
Solaris targets and only for the tools Memcheck, Massif, Helgrind and DRD\&. 
Here is an example of some stacktraces with
 \fB\-\-read\-inline\-info=no\fR:
@@ -869,11 +869,11 @@ When enabled, Valgrind will read informa
 .nf
 ==15380== Conditional jump or move depends on uninitialised value(s)
 ==15380==    at 0x80484EA: main (inlinfo\&.c:6)
-==15380== 
+==15380==
 ==15380== Conditional jump or move depends on uninitialised value(s)
 ==15380==    at 0x8048550: fun_noninline (inlinfo\&.c:6)
 ==15380==    by 0x804850E: main (inlinfo\&.c:34)
-==15380== 
+==15380==
 ==15380== Conditional jump or move depends on uninitialised value(s)
 ==15380==    at 0x8048520: main (inlinfo\&.c:6)
 .fi
@@ -894,12 +894,12 @@ And here are the same errors with
 ==15377==    by 0x80484EA: fun_b (inlinfo\&.c:20)
 ==15377==    by 0x80484EA: fun_a (inlinfo\&.c:26)
 ==15377==    by 0x80484EA: main (inlinfo\&.c:33)
-==15377== 
+==15377==
 ==15377== Conditional jump or move depends on uninitialised value(s)
 ==15377==    at 0x8048550: fun_d (inlinfo\&.c:6)
 ==15377==    by 0x8048550: fun_noninline (inlinfo\&.c:41)
 ==15377==    by 0x804850E: main (inlinfo\&.c:34)
-==15377== 
+==15377==
 ==15377== Conditional jump or move depends on uninitialised value(s)
 ==15377==    at 0x8048520: fun_d (inlinfo\&.c:6)
 ==15377==    by 0x8048520: main (inlinfo\&.c:35)
@@ -909,7 +909,7 @@ And here are the same errors with
 .\}
 .RE
 .PP
-\fB\-\-read\-var\-info=<yes|no> [default: no] \fR
+\fB\-\-read\-var\-info=<yes|no> [default: no]\fR
 .RS 4
 When enabled, Valgrind will read information about variable types and 
locations from DWARF3 debug info\&. This slows Valgrind startup significantly 
and makes it use significantly more memory, but for the tools that can take 
advantage of it (Memcheck, Helgrind, DRD) it can result in more precise error 
messages\&. For example, here are some standard errors issued by Memcheck:
 .sp
@@ -921,7 +921,7 @@ When enabled, Valgrind will read informa
 ==15363==    at 0x80484A9: croak (varinfo1\&.c:28)
 ==15363==    by 0x8048544: main (varinfo1\&.c:55)
 ==15363==  Address 0x80497f7 is 7 bytes inside data symbol "global_i2"
-==15363== 
+==15363==
 ==15363== Uninitialised byte(s) found during client check request
 ==15363==    at 0x80484A9: croak (varinfo1\&.c:28)
 ==15363==    by 0x8048550: main (varinfo1\&.c:56)
@@ -944,7 +944,7 @@ And here are the same errors with
 ==15370==    by 0x8048544: main (varinfo1\&.c:55)
 ==15370==  Location 0x80497f7 is 0 bytes inside global_i2[7],
 ==15370==  a global variable declared at varinfo1\&.c:41
-==15370== 
+==15370==
 ==15370== Uninitialised byte(s) found during client check request
 ==15370==    at 0x80484A9: croak (varinfo1\&.c:28)
 ==15370==    by 0x8048550: main (varinfo1\&.c:56)
@@ -956,22 +956,22 @@ And here are the same errors with
 .\}
 .RE
 .PP
-\fB\-\-vgdb\-poll=<number> [default: 5000] \fR
+\fB\-\-vgdb\-poll=<number> [default: 5000]\fR
 .RS 4
 As part of its main loop, the Valgrind scheduler will poll to check if some 
activity (such as an external command or some input from a gdb) has to be 
handled by gdbserver\&. This activity poll will be done after having run the 
given number of basic blocks (or slightly more than the given number of basic 
blocks)\&. This poll is quite cheap so the default value is set relatively 
low\&. You might further decrease this value if vgdb cannot use ptrace system 
call to interrupt Valgrind if all threads are (most of the time) blocked in a 
system call\&.
 .RE
 .PP
-\fB\-\-vgdb\-shadow\-registers=no|yes [default: no] \fR
+\fB\-\-vgdb\-shadow\-registers=no|yes [default: no]\fR
 .RS 4
 When activated, gdbserver will expose the Valgrind shadow registers to GDB\&. 
With this, the value of the Valgrind shadow registers can be examined or 
changed using GDB\&. Exposing shadow registers only works with GDB version 
7\&.1 or later\&.
 .RE
 .PP
-\fB\-\-vgdb\-prefix=<prefix> [default: /tmp/vgdb\-pipe] \fR
+\fB\-\-vgdb\-prefix=<prefix> [default: /tmp/vgdb\-pipe]\fR
 .RS 4
 To communicate with gdb/vgdb, the Valgrind gdbserver creates 3 files (2 named 
FIFOs and a mmap shared memory file)\&. The prefix option controls the 
directory and prefix for the creation of these files\&.
 .RE
 .PP
-\fB\-\-run\-libc\-freeres=<yes|no> [default: yes] \fR
+\fB\-\-run\-libc\-freeres=<yes|no> [default: yes]\fR
 .RS 4
 This option is only relevant when running Valgrind on Linux with GNU libc\&.
 .sp
@@ -992,7 +992,7 @@ fixes that, although at the cost of poss
 libc\&.so\&.
 .RE
 .PP
-\fB\-\-run\-cxx\-freeres=<yes|no> [default: yes] \fR
+\fB\-\-run\-cxx\-freeres=<yes|no> [default: yes]\fR
 .RS 4
 This option is only relevant when running Valgrind on Linux, FreeBSD or 
Solaris C++ programs using libstdc++\&.
 .sp
@@ -1011,7 +1011,7 @@ exists, although at the cost of possibly
 libstdc++\&.so\&.
 .RE
 .PP
-\fB\-\-sim\-hints=hint1,hint2,\&.\&.\&. \fR
+\fB\-\-sim\-hints=hint1,hint2,\&.\&.\&.\fR
 .RS 4
 Pass miscellaneous hints to Valgrind which slightly modify the simulated 
behaviour in nonstandard or dangerous ways, possibly to help the simulation of 
strange features\&. By default no hints are enabled\&. Use with caution! 
Currently known hints are:
 .sp
@@ -1023,7 +1023,7 @@ Pass miscellaneous hints to Valgrind whi
 .sp -1
 .IP \(bu 2.3
 .\}
-\fBlax\-ioctls: \fR
+\fBlax\-ioctls:\fR
 Be very lax about ioctl handling; the only assumption is that the size is 
correct\&. Doesn\*(Aqt require the full buffer to be initialised when 
writing\&. Without this, using some device drivers with a large number of 
strange ioctl commands becomes very tiresome\&.
 .RE
 .sp
@@ -1035,7 +1035,7 @@ Be very lax about ioctl handling; the on
 .sp -1
 .IP \(bu 2.3
 .\}
-\fBfuse\-compatible: \fR
+\fBfuse\-compatible:\fR
 Enable special handling for certain system calls that may block in a FUSE 
file\-system\&. This may be necessary when running Valgrind on a 
multi\-threaded program that uses one thread to manage a FUSE file\-system and 
another thread to access that file\-system\&.
 .RE
 .sp
@@ -1047,7 +1047,7 @@ Enable special handling for certain syst
 .sp -1
 .IP \(bu 2.3
 .\}
-\fBenable\-outer: \fR
+\fBenable\-outer:\fR
 Enable some special magic needed when the program being run is itself 
Valgrind\&.
 .RE
 .sp
@@ -1059,7 +1059,7 @@ Enable some special magic needed when th
 .sp -1
 .IP \(bu 2.3
 .\}
-\fBno\-inner\-prefix: \fR
+\fBno\-inner\-prefix:\fR
 Disable printing a prefix
 \fB>\fR
 in front of each stdout or stderr output line in an inner Valgrind being run 
by an outer Valgrind\&. This is useful when running Valgrind regression tests 
in an outer/inner setup\&. Note that the prefix
@@ -1075,7 +1075,7 @@ will always be printed in front of the i
 .sp -1
 .IP \(bu 2.3
 .\}
-\fBno\-nptl\-pthread\-stackcache: \fR
+\fBno\-nptl\-pthread\-stackcache:\fR
 This hint is only relevant when running Valgrind on Linux; it is ignored on 
FreeBSD, Solaris and macOS\&.
 .sp
 The GNU glibc pthread library (\fBlibpthread\&.so\fR), which is used by 
pthread programs, maintains a cache of pthread stacks\&. When a pthread 
terminates, the memory used for the pthread stack and some thread local storage 
related data structure are not always directly released\&. This memory is kept 
in a cache (up to a certain size), and is re\-used if a new thread is started\&.
@@ -1097,7 +1097,7 @@ Note: Valgrind disables the cache using
 .sp -1
 .IP \(bu 2.3
 .\}
-\fBlax\-doors: \fR
+\fBlax\-doors:\fR
 (Solaris only) Be very lax about door syscall handling over unrecognised door 
file descriptors\&. Does not require that full buffer is initialised when 
writing\&. Without this, programs using libdoor(3LIB) functionality with 
completely proprietary semantics may report large number of false positives\&.
 .RE
 .sp
@@ -1113,7 +1113,7 @@ Note: Valgrind disables the cache using
 .RE
 .RE
 .PP
-\fB\-\-scheduling\-quantum=<number> [default: 100000] \fR
+\fB\-\-scheduling\-quantum=<number> [default: 100000]\fR
 .RS 4
 The
 \fB\-\-scheduling\-quantum\fR
@@ -1121,7 +1121,7 @@ option controls the maximum number of ba
 Scheduling and Multi-Thread Performance\&.
 .RE
 .PP
-\fB\-\-fair\-sched=<no|yes|try> [default: no] \fR
+\fB\-\-fair\-sched=<no|yes|try> [default: no]\fR
 .RS 4
 The
 \fB\-\-fair\-sched\fR
@@ -1224,7 +1224,7 @@ system call on x86\&. This is for runnin
 .RE
 .RE
 .PP
-\fB\-\-merge\-recursive\-frames=<number> [default: 0] \fR
+\fB\-\-merge\-recursive\-frames=<number> [default: 0]\fR
 .RS 4
 Some recursive algorithms, for example balanced binary tree implementations, 
create many different stack traces, each containing cycles of calls\&. A cycle 
is defined as two identical program counter values separated by zero or more 
other program counter values\&. Valgrind may then use a lot of memory to store 
all these stack traces\&. This is a poor use of memory considering that such 
stack traces contain repeated uninteresting recursive calls instead of more 
interesting information such as the function that has initiated the recursive 
call\&.
 .sp
@@ -1239,7 +1239,7 @@ The value 0 (the default) causes no recu
 Note: recursive calls are detected by analysis of program counter values\&. 
They are not detected by looking at function names\&.
 .RE
 .PP
-\fB\-\-num\-transtab\-sectors=<number> [default: 6 for Android platforms, 16 
for all others] \fR
+\fB\-\-num\-transtab\-sectors=<number> [default: 6 for Android platforms, 16 
for all others]\fR
 .RS 4
 Valgrind translates and instruments your program\*(Aqs machine code in small 
fragments (basic blocks)\&. The translations are stored in a translation cache 
that is divided into a number of sections (sectors)\&. If the cache is full, 
the sector containing the oldest translations is emptied and reused\&. If these 
old translations are needed again, Valgrind must re\-translate and 
re\-instrument the corresponding machine code, which is expensive\&. If the 
"executed instructions" working set of a program is big, increasing the number 
of sectors may improve performance by reducing the number of re\-translations 
needed\&. Sectors are allocated on demand\&. Once allocated, a sector can never 
be freed, and occupies considerable space, depending on the tool and the value 
of
 \fB\-\-avg\-transtab\-entry\-size\fR
@@ -1248,7 +1248,7 @@ Valgrind translates and instruments your
 to obtain precise information about the memory used by a sector and the 
allocation and recycling of sectors\&.
 .RE
 .PP
-\fB\-\-avg\-transtab\-entry\-size=<number> [default: 0, meaning use tool 
provided default] \fR
+\fB\-\-avg\-transtab\-entry\-size=<number> [default: 0, meaning use tool 
provided default]\fR
 .RS 4
 Average size of translated basic block\&. This average size is used to 
dimension the size of a sector\&. Each tool provides a default value to be 
used\&. If this default value is too small, the translation sectors will become 
full too quickly\&. If this default value is too big, a significant part of the 
translation sector memory will be unused\&. Note that the average size of a 
basic block translation depends on the tool, and might depend on tool 
options\&. For example, the memcheck option
 \fB\-\-track\-origins=yes\fR
@@ -1257,7 +1257,7 @@ increases the size of the basic block tr
 to tune the size of the sectors, either to gain memory or to avoid too many 
retranslations\&.
 .RE
 .PP
-\fB\-\-aspace\-minaddr=<address> [default: depends on the platform] \fR
+\fB\-\-aspace\-minaddr=<address> [default: depends on the platform]\fR
 .RS 4
 To avoid potential conflicts with some system libraries, Valgrind does not use 
the address space below
 \fB\-\-aspace\-minaddr\fR
@@ -1269,7 +1269,7 @@ must be page aligned and must be equal o
 valgrind \-d \-d date 2>&1 | grep \-i minaddr\&. Values lower than 0x10000 
(64KB) are known to create problems on some distributions\&.
 .RE
 .PP
-\fB\-\-valgrind\-stacksize=<number> [default: 1MB] \fR
+\fB\-\-valgrind\-stacksize=<number> [default: 1MB]\fR
 .RS 4
 For each thread, Valgrind needs its own \*(Aqprivate\*(Aq stack\&. The default 
size for these stacks is largely dimensioned, and so should be sufficient in 
most cases\&. In case the size is too small, Valgrind will segfault\&. Before 
segfaulting, a warning might be produced by Valgrind when approaching the 
limit\&.
 .sp
@@ -1281,7 +1281,7 @@ If your application uses many threads an
 \fB\-\-valgrind\-stacksize\fR\&.
 .RE
 .PP
-\fB\-\-show\-emwarns=<yes|no> [default: no] \fR
+\fB\-\-show\-emwarns=<yes|no> [default: no]\fR
 .RS 4
 When enabled, Valgrind will emit warnings about its CPU emulation in certain 
cases\&. These are usually not interesting\&.
 .RE
@@ -1304,7 +1304,7 @@ and
 wildcards\&. For example:
 \fI":*libc\&.so*:foo?bar"\fR\&. You may use characters other than a colon to 
separate the two patterns\&. It is only important that the first character and 
the separator character are the same\&. For example, the above example could 
also be written
 \fI"Q*libc\&.so*Qfoo?bar"\fR\&. Multiple
-\fI \-\-require\-text\-symbol\fR
+\fI\-\-require\-text\-symbol\fR
 flags are allowed, in which case shared objects that are loaded into the 
process will be checked against all of them\&.
 .sp
 The purpose of this is to support reliable usage of marked\-up libraries\&. 
For example, suppose we have a version of GCC\*(Aqs
@@ -1396,7 +1396,7 @@ synonym)\&.
 .RE
 .RE
 .PP
-\fB\-\-progress\-interval=<number> [default: 0, meaning \*(Aqdisabled\*(Aq] \fR
+\fB\-\-progress\-interval=<number> [default: 0, meaning \*(Aqdisabled\*(Aq]\fR
 .RS 4
 This is an enhancement to Valgrind\*(Aqs debugging output\&. It is unlikely to 
be of interest to end users\&.
 .sp
@@ -1501,7 +1501,7 @@ Each line shows:
 \fI#thr\fR: number of threads in the program
 .RE
 .sp
-From the progress of these, it is possible to observe:
+\&From the progress of these, it is possible to observe:
 .sp
 .RS 4
 .ie n \{\
@@ -1588,7 +1588,7 @@ There are also some options for debuggin
 option\&.
 .SH "MEMCHECK OPTIONS"
 .PP
-\fB\-\-leak\-check=<no|summary|yes|full> [default: summary] \fR
+\fB\-\-leak\-check=<no|summary|yes|full> [default: summary]\fR
 .RS 4
 When enabled, search for memory leaks when the client program finishes\&. If 
set to
 \fIsummary\fR, it says how many leaks occurred\&. If set to
@@ -1607,7 +1607,7 @@ is given, memcheck will automatically us
 to reduce the size of the xml output if you are not interested in the leak 
results\&.
 .RE
 .PP
-\fB\-\-leak\-resolution=<low|med|high> [default: high] \fR
+\fB\-\-leak\-resolution=<low|med|high> [default: high]\fR
 .RS 4
 When doing leak checking, determines how willing Memcheck is to consider 
different backtraces to be the same for the purposes of merging multiple leaks 
into a single leak report\&. When set to
 \fIlow\fR, only the first two entries need match\&. When
@@ -1625,7 +1625,7 @@ Note that the
 setting does not affect Memcheck\*(Aqs ability to find leaks\&. It only 
changes how the results are presented\&.
 .RE
 .PP
-\fB\-\-show\-leak\-kinds=<set> [default: definite,possible] \fR
+\fB\-\-show\-leak\-kinds=<set> [default: definite,possible]\fR
 .RS 4
 Specifies the leak kinds to show in a
 \fIfull\fR
@@ -1669,7 +1669,7 @@ for the empty set\&.
 .RE
 .RE
 .PP
-\fB\-\-errors\-for\-leak\-kinds=<set> [default: definite,possible] \fR
+\fB\-\-errors\-for\-leak\-kinds=<set> [default: definite,possible]\fR
 .RS 4
 Specifies the leak kinds to count as errors in a
 \fIfull\fR
@@ -1679,7 +1679,7 @@ is specified similarly to
 \fB\-\-show\-leak\-kinds\fR
 .RE
 .PP
-\fB\-\-leak\-check\-heuristics=<set> [default: all] \fR
+\fB\-\-leak\-check\-heuristics=<set> [default: all]\fR
 .RS 4
 Specifies the set of leak check heuristics to be used during leak searches\&. 
The heuristics control which interior pointers to a block cause it to be 
considered as reachable\&. The heuristic set is specified in one of the 
following ways:
 .sp
@@ -1705,7 +1705,7 @@ a comma separated list of one or more of
 .\}
 \fBall\fR
 to activate the complete set of heuristics\&. It is equivalent to
-\fB\-\-leak\-check\-heuristics=stdstring,length64,newarray,multipleinheritance\fR\&.
+\fB\-\-leak\-check\-heuristics=stdstring,\:length64,\:newarray,\:multipleinheritance\fR\&.
 .RE
 .sp
 .RS 4
@@ -1723,7 +1723,7 @@ for the empty set\&.
 Note that these heuristics are dependent on the layout of the objects produced 
by the C++ compiler\&. They have been tested with some gcc versions (e\&.g\&. 
4\&.4 and 4\&.7)\&. They might not work properly with other C++ compilers\&.
 .RE
 .PP
-\fB\-\-show\-reachable=<yes|no> \fR, \fB\-\-show\-possibly\-lost=<yes|no> \fR
+\fB\-\-show\-reachable=<yes|no> \fR, \fB\-\-show\-possibly\-lost=<yes|no>\fR
 .RS 4
 These options provide an alternative way to specify the leak kinds to show:
 .sp
@@ -1773,7 +1773,7 @@ has no effect if
 is specified\&.
 .RE
 .PP
-\fB\-\-xtree\-leak=<no|yes> [no] \fR
+\fB\-\-xtree\-leak=<no|yes> [no]\fR
 .RS 4
 If set to yes, the results for the leak search done at exit will be output in 
a \*(AqCallgrind Format\*(Aq execution tree file\&. Note that this 
automatically sets the options
 \fB\-\-leak\-check=full\fR
@@ -1903,7 +1903,7 @@ Execution Trees
 for a detailed explanation about execution trees\&.
 .RE
 .PP
-\fB\-\-xtree\-leak\-file=<filename> [default: xtleak\&.kcg\&.%p] \fR
+\fB\-\-xtree\-leak\-file=<filename> [default: xtleak\&.kcg\&.%p]\fR
 .RS 4
 Specifies that Valgrind should produce the xtree leak report in the specified 
file\&. Any
 \fB%p\fR,
@@ -1920,7 +1920,7 @@ Execution Trees
 for a detailed explanation about execution trees formats\&.
 .RE
 .PP
-\fB\-\-undef\-value\-errors=<yes|no> [default: yes] \fR
+\fB\-\-undef\-value\-errors=<yes|no> [default: yes]\fR
 .RS 4
 Controls whether Memcheck reports uses of undefined value errors\&. Set this to
 \fIno\fR
@@ -1928,7 +1928,7 @@ if you don\*(Aqt want to see undefined v
 \fB\-\-undef\-value\-errors=no\fR\&.
 .RE
 .PP
-\fB\-\-track\-origins=<yes|no> [default: no] \fR
+\fB\-\-track\-origins=<yes|no> [default: no]\fR
 .RS 4
 Controls whether Memcheck tracks the origin of uninitialised values\&. By 
default, it does not, which means that although it can tell you that an 
uninitialised value is being used in a dangerous way, it cannot tell you where 
the uninitialised value came from\&. This often makes it difficult to track 
down the root problem\&.
 .sp
@@ -1949,7 +1949,7 @@ and
 is nonsensical\&. Memcheck checks for and rejects this combination at 
startup\&.
 .RE
 .PP
-\fB\-\-partial\-loads\-ok=<yes|no> [default: yes] \fR
+\fB\-\-partial\-loads\-ok=<yes|no> [default: yes]\fR
 .RS 4
 Controls how Memcheck handles 32\-, 64\-, 128\- and 256\-bit naturally aligned 
loads from addresses for which some bytes are addressable and others are not\&. 
When
 \fIyes\fR, such loads do not produce an address error\&. Instead, loaded bytes 
originating from illegal addresses are marked as uninitialised, and those 
corresponding to legal addresses are handled in the normal way\&.
@@ -1960,7 +1960,7 @@ When
 Note that code that behaves in this way is in violation of the ISO C/C++ 
standards, and should be considered broken\&. If at all possible, such code 
should be fixed\&.
 .RE
 .PP
-\fB\-\-expensive\-definedness\-checks=<no|auto|yes> [default: auto] \fR
+\fB\-\-expensive\-definedness\-checks=<no|auto|yes> [default: auto]\fR
 .RS 4
 Controls whether Memcheck should employ more precise but also more expensive 
(time consuming) instrumentation when checking the definedness of certain 
values\&. In particular, this affects the instrumentation of integer adds, 
subtracts and equality comparisons\&.
 .sp
@@ -1978,7 +1978,7 @@ The default setting,
 \fB\-\-expensive\-definedness\-checks=no\fR, although this is strongly 
workload dependent\&. Note that the exact instrumentation settings in this mode 
are architecture dependent\&.
 .RE
 .PP
-\fB\-\-keep\-stacktraces=alloc|free|alloc\-and\-free|alloc\-then\-free|none 
[default: alloc\-and\-free] \fR
+\fB\-\-keep\-stacktraces=alloc|free|alloc\-and\-free|alloc\-then\-free|none 
[default: alloc\-and\-free]\fR
 .RS 4
 Controls which stack trace(s) to keep for malloc\*(Aqd and/or free\*(Aqd 
blocks\&.
 .sp
@@ -2010,7 +2010,7 @@ or
 \fI\-\-keep\-stacktraces=none\fR\&.
 .RE
 .PP
-\fB\-\-freelist\-vol=<number> [default: 20000000] \fR
+\fB\-\-freelist\-vol=<number> [default: 20000000]\fR
 .RS 4
 When the client program releases memory using
 \fBfree\fR
@@ -2022,7 +2022,7 @@ delete
 This option specifies the maximum total size, in bytes, of the blocks in the 
queue\&. The default value is twenty million bytes\&. Increasing this increases 
the total amount of memory used by Memcheck but may detect invalid uses of 
freed blocks which would otherwise go undetected\&.
 .RE
 .PP
-\fB\-\-freelist\-big\-blocks=<number> [default: 1000000] \fR
+\fB\-\-freelist\-big\-blocks=<number> [default: 1000000]\fR
 .RS 4
 When making blocks from the queue of freed blocks available for 
re\-allocation, Memcheck will in priority re\-circulate the blocks with a size 
greater or equal to
 \fB\-\-freelist\-big\-blocks\fR\&. This ensures that freeing big blocks (in 
particular freeing blocks bigger than
@@ -2031,7 +2031,7 @@ When making blocks from the queue of fre
 Setting a value of 0 means that all the blocks are re\-circulated in a FIFO 
order\&.
 .RE
 .PP
-\fB\-\-workaround\-gcc296\-bugs=<yes|no> [default: no] \fR
+\fB\-\-workaround\-gcc296\-bugs=<yes|no> [default: no]\fR
 .RS 4
 When enabled, assume that reads and writes some small distance below the stack 
pointer are due to bugs in GCC 2\&.96, and does not report them\&. The "small 
distance" is 256 bytes by default\&. Note that GCC 2\&.96 is the default 
compiler on some ancient Linux distributions (RedHat 7\&.X) and so you may need 
to use this option\&. Do not use it if you do not have to, as it can cause real 
errors to be overlooked\&. A better alternative is to use a more recent GCC in 
which this bug is fixed\&.
 .sp
@@ -2043,7 +2043,7 @@ to specify the exact range of offsets be
 \fB\-\-ignore\-range\-below\-sp=1024\-1\fR\&.
 .RE
 .PP
-\fB\-\-ignore\-range\-below\-sp=<number>\-<number> \fR
+\fB\-\-ignore\-range\-below\-sp=<number>\-<number>\fR
 .RS 4
 This is a more general replacement for the deprecated
 \fB\-\-workaround\-gcc296\-bugs\fR
@@ -2051,7 +2051,7 @@ option\&. When specified, it causes Memc
 \fB\-\-ignore\-range\-below\-sp=8192\-8189\fR\&. Only one range may be 
specified\&.
 .RE
 .PP
-\fB\-\-show\-mismatched\-frees=<yes|no> [default: yes] \fR
+\fB\-\-show\-mismatched\-frees=<yes|no> [default: yes]\fR
 .RS 4
 When enabled, Memcheck checks that heap blocks are deallocated using a 
function that matches the allocating function\&. That is, it expects
 \fIfree\fR
@@ -2085,7 +2085,7 @@ This causes a lot of confusing and irrel
 disables these checks\&. It is not generally advisable to disable them, 
though, because you may miss real errors as a result\&.
 .RE
 .PP
-\fB\-\-show\-realloc\-size\-zero=<yes|no> [default: yes] \fR
+\fB\-\-show\-realloc\-size\-zero=<yes|no> [default: yes]\fR
 .RS 4
 When enabled, Memcheck checks for uses of
 \fIrealloc\fR
@@ -2099,12 +2099,12 @@ followed by a call to
 with a size of zero\&.
 .RE
 .PP
-\fB\-\-ignore\-ranges=0xPP\-0xQQ[,0xRR\-0xSS] \fR
+\fB\-\-ignore\-ranges=0xPP\-0xQQ[,0xRR\-0xSS]\fR
 .RS 4
 Any ranges listed in this option (and multiple ranges can be specified, 
separated by commas) will be ignored by Memcheck\*(Aqs addressability 
checking\&.
 .RE
 .PP
-\fB\-\-malloc\-fill=<hexnumber> \fR
+\fB\-\-malloc\-fill=<hexnumber>\fR
 .RS 4
 Fills blocks allocated by
 malloc,
@@ -2114,7 +2114,7 @@ calloc, with the specified byte\&. This
 does not affect a block of memory when it is used as argument to client 
requests VALGRIND_MEMPOOL_ALLOC or VALGRIND_MALLOCLIKE_BLOCK\&.
 .RE
 .PP
-\fB\-\-free\-fill=<hexnumber> \fR
+\fB\-\-free\-fill=<hexnumber>\fR
 .RS 4
 Fills blocks freed by
 free,
@@ -2124,7 +2124,7 @@ does not affect a block of memory when i
 .RE
 .SH "CACHEGRIND OPTIONS"
 .PP
-\fB\-\-cachegrind\-out\-file=<file> \fR
+\fB\-\-cachegrind\-out\-file=<file>\fR
 .RS 4
 Write the Cachegrind output file to
 file
@@ -2137,17 +2137,17 @@ format specifiers can be used to embed t
 \fB\-\-log\-file\fR\&.
 .RE
 .PP
-\fB\-\-cache\-sim=no|yes [no] \fR
+\fB\-\-cache\-sim=no|yes [no]\fR
 .RS 4
 Enables or disables collection of cache access and miss counts\&.
 .RE
 .PP
-\fB\-\-branch\-sim=no|yes [no] \fR
+\fB\-\-branch\-sim=no|yes [no]\fR
 .RS 4
 Enables or disables collection of branch instruction and misprediction 
counts\&.
 .RE
 .PP
-\fB\-\-instr\-at\-start=no|yes [yes] \fR
+\fB\-\-instr\-at\-start=no|yes [yes]\fR
 .RS 4
 Enables or disables instrumentation at the start of execution\&. Use this in 
combination with
 CACHEGRIND_START_INSTRUMENTATION
@@ -2156,26 +2156,26 @@ CACHEGRIND_STOP_INSTRUMENTATION
 to measure only part of a client program\*(Aqs execution\&.
 .RE
 .PP
-\fB\-\-I1=<size>,<associativity>,<line size> \fR
+\fB\-\-I1=<size>,<associativity>,<line size>\fR
 .RS 4
 Specify the size, associativity and line size of the level 1 instruction 
cache\&. Only useful with
 \fB\-\-cache\-sim=yes\fR\&.
 .RE
 .PP
-\fB\-\-D1=<size>,<associativity>,<line size> \fR
+\fB\-\-D1=<size>,<associativity>,<line size>\fR
 .RS 4
 Specify the size, associativity and line size of the level 1 data cache\&. 
Only useful with
 \fB\-\-cache\-sim=yes\fR\&.
 .RE
 .PP
-\fB\-\-LL=<size>,<associativity>,<line size> \fR
+\fB\-\-LL=<size>,<associativity>,<line size>\fR
 .RS 4
 Specify the size, associativity and line size of the last\-level cache\&. Only 
useful with
 \fB\-\-cache\-sim=yes\fR\&.
 .RE
 .SH "CALLGRIND OPTIONS"
 .PP
-\fB\-\-callgrind\-out\-file=<file> \fR
+\fB\-\-callgrind\-out\-file=<file>\fR
 .RS 4
 Write the profile data to
 file
@@ -2188,57 +2188,57 @@ format specifiers can be used to embed t
 \fB\-\-log\-file\fR\&. When multiple dumps are made, the file name is modified 
further; see below\&.
 .RE
 .PP
-\fB\-\-dump\-line=<no|yes> [default: yes] \fR
+\fB\-\-dump\-line=<no|yes> [default: yes]\fR
 .RS 4
 This specifies that event counting should be performed at source line 
granularity\&. This allows source annotation for sources which are compiled 
with debug information (\fB\-g\fR)\&.
 .RE
 .PP
-\fB\-\-dump\-instr=<no|yes> [default: no] \fR
+\fB\-\-dump\-instr=<no|yes> [default: no]\fR
 .RS 4
 This specifies that event counting should be performed at per\-instruction 
granularity\&. This allows for assembly code annotation\&. Currently the 
results can only be displayed by KCachegrind\&.
 .RE
 .PP
-\fB\-\-compress\-strings=<no|yes> [default: yes] \fR
+\fB\-\-compress\-strings=<no|yes> [default: yes]\fR
 .RS 4
 This option influences the output format of the profile data\&. It specifies 
whether strings (file and function names) should be identified by numbers\&. 
This shrinks the file, but makes it more difficult for humans to read (which is 
not recommended in any case)\&.
 .RE
 .PP
-\fB\-\-compress\-pos=<no|yes> [default: yes] \fR
+\fB\-\-compress\-pos=<no|yes> [default: yes]\fR
 .RS 4
 This option influences the output format of the profile data\&. It specifies 
whether numerical positions are always specified as absolute values or are 
allowed to be relative to previous numbers\&. This shrinks the file size\&.
 .RE
 .PP
-\fB\-\-combine\-dumps=<no|yes> [default: no] \fR
+\fB\-\-combine\-dumps=<no|yes> [default: no]\fR
 .RS 4
 When enabled, when multiple profile data parts are to be generated these parts 
are appended to the same output file\&. Not recommended\&.
 .RE
 .PP
-\fB\-\-dump\-every\-bb=<count> [default: 0, never] \fR
+\fB\-\-dump\-every\-bb=<count> [default: 0, never]\fR
 .RS 4
 Dump profile data every
 \fBcount\fR
 basic blocks\&. Whether a dump is needed is only checked when Valgrind\*(Aqs 
internal scheduler is run\&. Therefore, the minimum setting useful is about 
100000\&. The count is a 64\-bit value to make long dump periods possible\&.
 .RE
 .PP
-\fB\-\-dump\-before=<function> \fR
+\fB\-\-dump\-before=<function>\fR
 .RS 4
 Dump when entering
 \fBfunction\fR\&.
 .RE
 .PP
-\fB\-\-zero\-before=<function> \fR
+\fB\-\-zero\-before=<function>\fR
 .RS 4
 Zero all costs when entering
 \fBfunction\fR\&.
 .RE
 .PP
-\fB\-\-dump\-after=<function> \fR
+\fB\-\-dump\-after=<function>\fR
 .RS 4
 Dump when leaving
 \fBfunction\fR\&.
 .RE
 .PP
-\fB\-\-instr\-atstart=<yes|no> [default: yes] \fR
+\fB\-\-instr\-atstart=<yes|no> [default: yes]\fR
 .RS 4
 Specify if you want Callgrind to start simulation and profiling from the 
beginning of the program\&. When set to
 no, Callgrind will not be able to collect any information, including calls, 
but it will have at most a slowdown of around 4, which is the minimum Valgrind 
overhead\&. Instrumentation can be interactively enabled via
@@ -2252,7 +2252,7 @@ for the macro you have to use in your so
 For cache simulation, results will be less accurate when switching on 
instrumentation later in the program run, as the simulator starts with an empty 
cache at that moment\&. Switch on event collection later to cope with this 
error\&.
 .RE
 .PP
-\fB\-\-collect\-atstart=<yes|no> [default: yes] \fR
+\fB\-\-collect\-atstart=<yes|no> [default: yes]\fR
 .RS 4
 Specify whether event collection is enabled at beginning of the profile run\&.
 .sp
@@ -2293,18 +2293,18 @@ CALLGRIND_TOGGLE_COLLECT ;
 at the needed code positions\&.
 .RE
 .PP
-\fB\-\-toggle\-collect=<function> \fR
+\fB\-\-toggle\-collect=<function>\fR
 .RS 4
 Toggle collection on entry/exit of
 \fBfunction\fR\&.
 .RE
 .PP
-\fB\-\-collect\-jumps=<no|yes> [default: no] \fR
+\fB\-\-collect\-jumps=<no|yes> [default: no]\fR
 .RS 4
 This specifies whether information for (conditional) jumps should be 
collected\&. As above, callgrind_annotate currently is not able to show you the 
data\&. You have to use KCachegrind to get jump arrows in the annotated code\&.
 .RE
 .PP
-\fB\-\-collect\-systime=<no|yes|msec|usec|nsec> [default: no] \fR
+\fB\-\-collect\-systime=<no|yes|msec|usec|nsec> [default: no]\fR
 .RS 4
 This specifies whether information for system call times should be collected\&.
 .sp
@@ -2325,36 +2325,36 @@ nsec
 is not supported on Darwin\&.
 .RE
 .PP
-\fB\-\-collect\-bus=<no|yes> [default: no] \fR
+\fB\-\-collect\-bus=<no|yes> [default: no]\fR
 .RS 4
 This specifies whether the number of global bus events executed should be 
collected\&. The event type "Ge" is used for these events\&.
 .RE
 .PP
-\fB\-\-cache\-sim=<yes|no> [default: no] \fR
+\fB\-\-cache\-sim=<yes|no> [default: no]\fR
 .RS 4
 Specify if you want to do full cache simulation\&. By default, only 
instruction read accesses will be counted ("Ir")\&. With cache simulation, 
further event counters are enabled: Cache misses on instruction reads 
("I1mr"/"ILmr"), data read accesses ("Dr") and related cache misses 
("D1mr"/"DLmr"), data write accesses ("Dw") and related cache misses 
("D1mw"/"DLmw")\&. For more information, see
 Cachegrind: a cache and branch-prediction profiler\&.
 .RE
 .PP
-\fB\-\-branch\-sim=<yes|no> [default: no] \fR
+\fB\-\-branch\-sim=<yes|no> [default: no]\fR
 .RS 4
 Specify if you want to do branch prediction simulation\&. Further event 
counters are enabled: Number of executed conditional branches and related 
predictor misses ("Bc"/"Bcm"), executed indirect jumps and related misses of 
the jump address predictor ("Bi"/"Bim")\&.
 .RE
 .SH "HELGRIND OPTIONS"
 .PP
-\fB\-\-free\-is\-write=no|yes [default: no] \fR
+\fB\-\-free\-is\-write=no|yes [default: no]\fR
 .RS 4
 When enabled (not the default), Helgrind treats freeing of heap memory as if 
the memory was written immediately before the free\&. This exposes races where 
memory is referenced by one thread, and freed by another, but there is no 
observable synchronisation event to ensure that the reference happens before 
the free\&.
 .sp
 This functionality is new in Valgrind 3\&.7\&.0, and is regarded as 
experimental\&. It is not enabled by default because its interaction with 
custom memory allocators is not well understood at present\&. User feedback is 
welcomed\&.
 .RE
 .PP
-\fB\-\-track\-lockorders=no|yes [default: yes] \fR
+\fB\-\-track\-lockorders=no|yes [default: yes]\fR
 .RS 4
 When enabled (the default), Helgrind performs lock order consistency 
checking\&. For some buggy programs, the large number of lock order errors 
reported can become annoying, particularly if you\*(Aqre only interested in 
race errors\&. You may therefore find it helpful to disable lock order 
checking\&.
 .RE
 .PP
-\fB\-\-history\-level=none|approx|full [default: full] \fR
+\fB\-\-history\-level=none|approx|full [default: full]\fR
 .RS 4
 \fB\-\-history\-level=full\fR
 (the default) causes Helgrind collects enough information about "old" accesses 
that it can produce two stack traces in a race report \-\- both the stack trace 
for the current access, and the trace for the older, conflicting access\&. To 
limit memory usage, "old" accesses stack traces are limited to a maximum of
@@ -2376,7 +2376,7 @@ does), but it is better than nothing, an
 \fB\-\-history\-level=none\fR\&.
 .RE
 .PP
-\fB\-\-history\-backtrace\-size=<number> [default: 8] \fR
+\fB\-\-history\-backtrace\-size=<number> [default: 8]\fR
 .RS 4
 When
 \fI\-\-history\-level=full\fR
@@ -2385,7 +2385,7 @@ is selected,
 indicates how many entries to record in "old" accesses stack traces\&.
 .RE
 .PP
-\fB\-\-delta\-stacktrace=no|yes [default: yes on linux amd64/x86] \fR
+\fB\-\-delta\-stacktrace=no|yes [default: yes on linux amd64/x86]\fR
 .RS 4
 This flag only has any effect at
 \fB\-\-history\-level=full\fR\&.
@@ -2440,7 +2440,7 @@ Determining which instructions are chang
 .sp
 .RE
 .PP
-\fB\-\-conflict\-cache\-size=N [default: 1000000] \fR
+\fB\-\-conflict\-cache\-size=N [default: 1000000]\fR
 .RS 4
 This flag only has any effect at
 \fB\-\-history\-level=full\fR\&.
@@ -2452,7 +2452,7 @@ This option controls the size of the cac
 The minimum value is 10,000 and the maximum is 30,000,000 (thirty times the 
default value)\&. Increasing the value by 1 increases Helgrind\*(Aqs memory 
requirement by very roughly 100 bytes, so the maximum value will easily eat up 
three extra gigabytes or so of memory\&.
 .RE
 .PP
-\fB\-\-check\-stack\-refs=no|yes [default: yes] \fR
+\fB\-\-check\-stack\-refs=no|yes [default: yes]\fR
 .RS 4
 By default Helgrind checks all data memory accesses made by your program\&. 
This flag enables you to skip checking for accesses to thread stacks (local 
variables)\&. This can improve performance, but comes at the cost of missing 
races on stack\-allocated data\&.
 .RE
@@ -2504,12 +2504,12 @@ Print an error message if any mutex or w
 Data races that occur between a statement at the end of one thread and another 
thread can be missed if memory access information is discarded immediately 
after a thread has been joined\&. This option allows one to specify for how 
many joined threads memory access information should be retained\&.
 .RE
 .PP
-\fB \-\-first\-race\-only=<yes|no> [default: no] \fR
+\fB\& \-\-first\-race\-only=<yes|no> [default: no]\fR
 .RS 4
 Whether to report only the first data race that has been detected on a memory 
location or all data races that have been detected on a memory location\&.
 .RE
 .PP
-\fB \-\-free\-is\-write=<yes|no> [default: no] \fR
+\fB\& \-\-free\-is\-write=<yes|no> [default: no]\fR
 .RS 4
 Whether to report races between accessing memory and freeing memory\&. 
Enabling this option may cause DRD to run slightly slower\&. Notes:
 .sp
@@ -2544,7 +2544,7 @@ valgrind \-\-tool=drd \-\-free\-is\-writ
 .RE
 .RE
 .PP
-\fB \-\-report\-signal\-unlocked=<yes|no> [default: yes] \fR
+\fB\& \-\-report\-signal\-unlocked=<yes|no> [default: yes]\fR
 .RS 4
 Whether to report calls to
 \fBpthread_cond_signal\fR
@@ -2666,17 +2666,17 @@ Trace all semaphore activity\&.
 .RE
 .SH "MASSIF OPTIONS"
 .PP
-\fB\-\-heap=<yes|no> [default: yes] \fR
+\fB\-\-heap=<yes|no> [default: yes]\fR
 .RS 4
 Specifies whether heap profiling should be done\&.
 .RE
 .PP
-\fB\-\-heap\-admin=<size> [default: 8] \fR
+\fB\-\-heap\-admin=<size> [default: 8]\fR
 .RS 4
 If heap profiling is enabled, gives the number of administrative bytes per 
block to use\&. This should be an estimate of the average, since it may vary\&. 
For example, the allocator used by glibc on Linux requires somewhere between 4 
to 15 bytes per block, depending on various factors\&. That allocator also 
requires admin space for freed blocks, but Massif cannot account for this\&.
 .RE
 .PP
-\fB\-\-stacks=<yes|no> [default: no] \fR
+\fB\-\-stacks=<yes|no> [default: no]\fR
 .RS 4
 Specifies whether stack profiling should be done\&. This option slows Massif 
down greatly, and so is off by default\&. Note that Massif assumes that the 
main stack has size zero at start\-up\&. This is not true, but doing otherwise 
accurately is difficult\&. Furthermore, starting at zero better indicates the 
size of the part of the main stack that a user program actually has control 
over\&.
 .sp
@@ -2686,17 +2686,17 @@ verbosity arguments, then massif produce
 \fB\-px\-default=unwindregs\-at\-mem\-access 
\-\-px\-file\-backed=unwindregs\-at\-mem\-access\fR\&.
 .RE
 .PP
-\fB\-\-pages\-as\-heap=<yes|no> [default: no] \fR
+\fB\-\-pages\-as\-heap=<yes|no> [default: no]\fR
 .RS 4
 Tells Massif to profile memory at the page level rather than at the 
malloc\*(Aqd block level\&. See above for details\&.
 .RE
 .PP
-\fB\-\-depth=<number> [default: 30] \fR
+\fB\-\-depth=<number> [default: 30]\fR
 .RS 4
 Maximum depth of the allocation trees recorded for detailed snapshots\&. 
Increasing it will make Massif run somewhat more slowly, use more memory, and 
produce bigger output files\&.
 .RE
 .PP
-\fB\-\-alloc\-fn=<name> \fR
+\fB\-\-alloc\-fn=<name>\fR
 .RS 4
 Functions specified with this option will be treated as though they were a 
heap allocation function such as
 \fBmalloc\fR\&. This is useful for functions that are wrappers to
@@ -2743,7 +2743,7 @@ will work with inline functions\&. Inlin
 does not support wildcards\&.
 .RE
 .PP
-\fB\-\-ignore\-fn=<name> \fR
+\fB\-\-ignore\-fn=<name>\fR
 .RS 4
 Any direct heap allocation (i\&.e\&. a call to
 \fBmalloc\fR,
@@ -2763,33 +2763,33 @@ The rules for writing C++ function names
 above\&.
 .RE
 .PP
-\fB\-\-threshold=<m\&.n> [default: 1\&.0] \fR
+\fB\-\-threshold=<m\&.n> [default: 1\&.0]\fR
 .RS 4
 The significance threshold for heap allocations, as a percentage of total 
memory size\&. Allocation tree entries that account for less than this will be 
aggregated\&. Note that this should be specified in tandem with ms_print\*(Aqs 
option of the same name\&.
 .RE
 .PP
-\fB\-\-peak\-inaccuracy=<m\&.n> [default: 1\&.0] \fR
+\fB\-\-peak\-inaccuracy=<m\&.n> [default: 1\&.0]\fR
 .RS 4
 Massif does not necessarily record the actual global memory allocation peak; 
by default it records a peak only when the global memory allocation size 
exceeds the previous peak by at least 1\&.0%\&. This is because there can be 
many local allocation peaks along the way, and doing a detailed snapshot for 
every one would be expensive and wasteful, as all but one of them will be later 
discarded\&. This inaccuracy can be changed (even to 0\&.0%) via this option, 
but Massif will run drastically slower as the number approaches zero\&.
 .RE
 .PP
-\fB\-\-time\-unit=<i|ms|B> [default: i] \fR
+\fB\-\-time\-unit=<i|ms|B> [default: i]\fR
 .RS 4
 The time unit used for the profiling\&. There are three possibilities: 
instructions executed (i), which is good for most cases; real (wallclock) time 
(ms, i\&.e\&. milliseconds), which is sometimes useful; and bytes 
allocated/deallocated on the heap and/or stack (B), which is useful for very 
short\-run programs, and for testing purposes, because it is the most 
reproducible across different machines\&.
 .RE
 .PP
-\fB\-\-detailed\-freq=<n> [default: 10] \fR
+\fB\-\-detailed\-freq=<n> [default: 10]\fR
 .RS 4
 Frequency of detailed snapshots\&. With
 \fB\-\-detailed\-freq=1\fR, every snapshot is detailed\&.
 .RE
 .PP
-\fB\-\-max\-snapshots=<n> [default: 100] \fR
+\fB\-\-max\-snapshots=<n> [default: 100]\fR
 .RS 4
 The maximum number of snapshots recorded\&. If set to N, for all programs 
except very short\-running ones, the final number of snapshots will be between 
N/2 and N\&.
 .RE
 .PP
-\fB\-\-massif\-out\-file=<file> [default: massif\&.out\&.%p] \fR
+\fB\-\-massif\-out\-file=<file> [default: massif\&.out\&.%p]\fR
 .RS 4
 Write the profile data to
 file
@@ -2803,7 +2803,7 @@ format specifiers can be used to embed t
 .RE
 .SH "BBV OPTIONS"
 .PP
-\fB\-\-bb\-out\-file=<name> [default: bb\&.out\&.%p] \fR
+\fB\-\-bb\-out\-file=<name> [default: bb\&.out\&.%p]\fR
 .RS 4
 This option selects the name of the basic block vector file\&. The
 \fB%p\fR
@@ -2813,7 +2813,7 @@ format specifiers can be used to embed t
 \fB\-\-log\-file\fR\&.
 .RE
 .PP
-\fB\-\-pc\-out\-file=<name> [default: pc\&.out\&.%p] \fR
+\fB\-\-pc\-out\-file=<name> [default: pc\&.out\&.%p]\fR
 .RS 4
 This option selects the name of the PC file\&. This file holds program counter 
addresses and function name info for the various basic blocks\&. This can be 
used in conjunction with the basic block vector file to fast\-forward via 
function names instead of just instruction counts\&. The
 \fB%p\fR
@@ -2823,18 +2823,18 @@ format specifiers can be used to embed t
 \fB\-\-log\-file\fR\&.
 .RE
 .PP
-\fB\-\-interval\-size=<number> [default: 100000000] \fR
+\fB\-\-interval\-size=<number> [default: 100000000]\fR
 .RS 4
 This option selects the size of the interval to use\&. The default is 100 
million instructions, which is a commonly used value\&. Other sizes can be 
used; smaller intervals can help programs with finer\-grained phases\&. However 
smaller interval size can lead to accuracy issues due to warm\-up effects (When 
fast\-forwarding the various architectural features will be un\-initialized, 
and it will take some number of instructions before they "warm up" to the state 
a full simulation would be at without the fast\-forwarding\&. Large interval 
sizes tend to mitigate this\&.)
 .RE
 .PP
-\fB\-\-instr\-count\-only [default: no] \fR
+\fB\-\-instr\-count\-only [default: no]\fR
 .RS 4
 This option tells the tool to only display instruction count totals, and to 
not generate the actual basic block vector file\&. This is useful for 
debugging, and for gathering instruction count info without generating the 
large basic block vector files\&.
 .RE
 .SH "LACKEY OPTIONS"
 .PP
-\fB\-\-basic\-counts=<no|yes> [default: yes] \fR
+\fB\-\-basic\-counts=<no|yes> [default: yes]\fR
 .RS 4
 When enabled, Lackey prints the following statistics and information about the 
execution of the client program:
 .sp
@@ -2908,26 +2908,26 @@ The exit code of the client program\&.
 .RE
 .RE
 .PP
-\fB\-\-detailed\-counts=<no|yes> [default: no] \fR
+\fB\-\-detailed\-counts=<no|yes> [default: no]\fR
 .RS 4
 When enabled, Lackey prints a table containing counts of loads, stores and ALU 
operations, differentiated by their IR types\&. The IR types are identified by 
their IR name ("I1", "I8", \&.\&.\&. "I128", "F32", "F64", and "V128")\&.
 .RE
 .PP
-\fB\-\-trace\-mem=<no|yes> [default: no] \fR
+\fB\-\-trace\-mem=<no|yes> [default: no]\fR
 .RS 4
 When enabled, Lackey prints the size and address of almost every memory access 
made by the program\&. See the comments at the top of the file
 lackey/lk_main\&.c
 for details about the output format, how it works, and inaccuracies in the 
address trace\&. Note that this option produces immense amounts of output\&.
 .RE
 .PP
-\fB\-\-trace\-superblocks=<no|yes> [default: no] \fR
+\fB\-\-trace\-superblocks=<no|yes> [default: no]\fR
 .RS 4
 When enabled, Lackey prints out the address of every superblock (a single 
entry, multiple exit, linear chunk of code) executed by the program\&. This is 
primarily of interest to Valgrind developers\&. See the comments at the top of 
the file
 lackey/lk_main\&.c
 for details about the output format\&. Note that this option produces large 
amounts of output\&.
 .RE
 .PP
-\fB\-\-fnname=<name> [default: main] \fR
+\fB\-\-fnname=<name> [default: main]\fR
 .RS 4
 Changes the function for which calls are counted when
 \fB\-\-basic\-counts=yes\fR
@@ -2978,27 +2978,27 @@ Elfutils Debuginfod
 .IP " 2." 4
 Debugging your program using Valgrind's gdbserver and GDB
 .RS 4
-\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.gdbserver
+\%http://www.valgrind.org/docs/manual/manual-core-adv.html#\:manual-core-adv.gdbserver
 .RE
 .IP " 3." 4
 vgdb
 .RS 4
-\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.vgdb
+\%http://www.valgrind.org/docs/manual/manual-core-adv.html#\:manual-core-adv.vgdb
 .RE
 .IP " 4." 4
 Valgrind monitor commands
 .RS 4
-\%http://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.valgrind-monitor-commands
+\%http://www.valgrind.org/docs/manual/manual\-core\-adv.html\:#\:manual\-core\-adv.valgrind\-monitor\-commands
 .RE
 .IP " 5." 4
 The Commentary
 .RS 4
-\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.comment
+\%http://www.valgrind.org/docs/manual/manual-core.html#\:manual-core.comment
 .RE
 .IP " 6." 4
 Scheduling and Multi-Thread Performance
 .RS 4
-\%http://www.valgrind.org/docs/manual/manual-core.html#manual-core.pthreads_perf_sched
+\%http://www.valgrind.org/docs/manual/manual-core.html#\:manual-core.pthreads_perf_sched
 .RE
 .IP " 7." 4
 Cachegrind: a cache and branch-prediction profiler
  Any program (person), that produces man pages, should check the output
for defects by using (both groff and nroff)

[gn]roff -mandoc -t -ww -b -z -K utf8 <man page>

  The same goes for man pages that are used as an input.

  For a style guide use

  mandoc -T lint

-.-

  Any "autogenerator" should check its products with the above mentioned
'groff', 'mandoc', and additionally with 'nroff ...'.

  It should also check its input files for too long (> 80) lines.

  This is just a simple quality control measure.

  The "autogenerator" may have to be corrected to get a better man page,
the source file may, and any additional file may.

  Common defects:

  Not removing trailing spaces (in in- and output).
  The reason for these trailing spaces should be found and eliminated.

  "git" has a "tool" to point out whitespace,
see for example "git-apply(1)" and git-config(1)")

  Not beginning each input sentence on a new line.
Line length and patch size should thus be reduced.

  The script "reportbug" uses 'quoted-printable' encoding when a line is
longer than 1024 characters in an 'ascii' file.

  See man-pages(7), item "semantic newline".

-.-

The difference between the formatted output of the original and patched file
can be seen with:

  nroff -mandoc <file1> > <out1>
  nroff -mandoc <file2> > <out2>
  diff -d -u <out1> <out2>

and for groff, using

\"printf '%s\n%s\n' '.kern 0' '.ss 12 0' | groff -mandoc -Z - \"

instead of 'nroff -mandoc'

  Add the option '-t', if the file contains a table.

  Read the output from 'diff -d -u ...' with 'less -R' or similar.

-.-.

  If 'man' (man-db) is used to check the manual for warnings,
the following must be set:

  The option \"-warnings=w\"

  The environmental variable:

export MAN_KEEP_STDERR=yes (or any non-empty value)

  or

  (produce only warnings):

export MANROFFOPT=\"-ww -b -z\"

export MAN_KEEP_STDERR=yes (or any non-empty value)

-.-

Reply via email to