\input texinfo @c -*-texinfo-*-
@c %**start of header
@setfilename annotate.info
+
+@c This is a dir.info fragment to support semi-automated addition of
+@c manuals to an info tree.
+@dircategory Software development
+@direntry
+* Annotate: (annotate). The obsolete annotation interface.
+@end direntry
+
@c
@include gdb-cfg.texi
@c
@set DATE July 2003
@c NOTE: cagney/2003-07-28:
-@c Don't make this migration doccument an appendix of GDB's user guide.
+@c Don't make this migration document an appendix of GDB's user guide.
@c By keeping this separate, the size of the user guide is contained. If
@c the user guide to get much bigger it would need to switch to a larger,
@c more expensive, form factor and would drive up the manuals publication
@c cost. Having a smaller cheaper manual helps the GNU Press with its sales.
-@ifinfo
-This file documents @value{GDBN}'s obsolete annotations.
-
-Copyright 1994, 1995, 2000, 2001, 2003 Free Software Foundation, Inc.
+@copying
+Copyright @copyright{} 1994-2018 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
+under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled ``GNU
Free Documentation License''.
+@end copying
+
+@ifnottex
+This file documents @value{GDBN}'s obsolete annotations.
-@end ifinfo
+@insertcopying
+@end ifnottex
@titlepage
@title @value{GDBN}'s Obsolete Annotations
@author Free Software Foundation
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1994, 1995, 2000, 2001, 2003 Free Software
-Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with no
-Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
-Texts. A copy of the license is included in the section entitled ``GNU
-Free Documentation License''.
+@insertcopying
@end titlepage
-@ifinfo
+@ifnottex
@node Top
@top GDB Annotations
@ignore
This is Edition @value{EDITION}, @value{DATE}.
@end ignore
-@end ifinfo
+@end ifnottex
@menu
* Annotations Overview:: What annotations are; the general syntax.
* Annotations for Running::
Whether the program is running, how it stopped, etc.
* Source Annotations:: Annotations describing source code.
+* Multi-threaded Apps:: An annotation that reports multi-threadedness.
* GNU Free Documentation License::
@end menu
@section Dependant on @sc{cli} output
The annotation interface works by interspersing markups with
-@value{GDBN} normal command-line interpreter output. Unfortunatly, this
+@value{GDBN} normal command-line interpreter output. Unfortunately, this
makes the annotation client dependant on not just the annotations, but
also the @sc{cli} output. This is because the client is forced to
assume that specific @value{GDBN} commands provide specific information.
Any change to @value{GDBN}'s @sc{cli} output modifies or removes that
information and, consequently, likely breaks the client.
-Since the @sc{gdb/mi} output is independant of the @sc{cli}, it does not
+Since the @sc{gdb/mi} output is independent of the @sc{cli}, it does not
have this problem.
@section Scalability
statements with various annotations. As a consequence, any @sc{cli}
output change can alter the annotation output.
-Since the @sc{gdb/mi} output is independant of the @sc{cli}, and the
-@sc{gdb/mi} is increasingly implemented independant of the @sc{cli}
+Since the @sc{gdb/mi} output is independent of the @sc{cli}, and the
+@sc{gdb/mi} is increasingly implemented independent of the @sc{cli}
code, its long term maintenance is much easier.
@node Migrating to GDB/MI
followed by one or more lowercase hex digits (note that this does not
depend on the language).
+@node Multi-threaded Apps
+@chapter Multi-threaded Applications
+@cindex annotations for multi-threaded apps
+
+The following annotations report thread related changes of state.
+
+@table @code
+@findex new-thread@r{, annotation}
+@item ^Z^Znew-thread
+
+This annotation is issued once for each thread that is created apart from
+the main thread, which is not reported.
+
+@findex thread-changed@r{, annotation}
+@item ^Z^Zthread-changed
+
+The selected thread has changed. This may occur at the request of the
+user with the @code{thread} command, or as a result of execution,
+e.g., another thread hits a breakpoint.
+
+@end table
+
+@node GNU Free Documentation License
+@appendix GNU Free Documentation License
@include fdl.texi
@ignore