1This is annotate.info, produced by makeinfo version 7.1 from 2annotate.texinfo. 3 4Copyright © 1994-2024 Free Software Foundation, Inc. 5 6 Permission is granted to copy, distribute and/or modify this document 7under the terms of the GNU Free Documentation License, Version 1.3 or 8any later version published by the Free Software Foundation; with no 9Invariant Sections, with no Front-Cover Texts, and with no Back-Cover 10Texts. A copy of the license is included in the section entitled "GNU 11Free Documentation License". 12INFO-DIR-SECTION Software development 13START-INFO-DIR-ENTRY 14* Annotate: (annotate). The obsolete annotation interface. 15END-INFO-DIR-ENTRY 16 17 This file documents GDB's obsolete annotations. 18 19 Copyright © 1994-2024 Free Software Foundation, Inc. 20 21 Permission is granted to copy, distribute and/or modify this document 22under the terms of the GNU Free Documentation License, Version 1.3 or 23any later version published by the Free Software Foundation; with no 24Invariant Sections, with no Front-Cover Texts, and with no Back-Cover 25Texts. A copy of the license is included in the section entitled "GNU 26Free Documentation License". 27 28 29File: annotate.info, Node: Top, Next: Annotations Overview, Up: (dir) 30 31GDB Annotations 32*************** 33 34This document describes the obsolete level two annotation interface 35implemented in older GDB versions. 36 37* Menu: 38 39* Annotations Overview:: What annotations are; the general syntax. 40* Limitations:: Limitations of the annotation interface. 41* Migrating to GDB/MI:: Migrating to GDB/MI 42* Server Prefix:: Issuing a command without affecting user state. 43* Value Annotations:: Values are marked as such. 44* Frame Annotations:: Stack frames are annotated. 45* Displays:: GDB can be told to display something periodically. 46* Prompting:: Annotations marking GDB's need for input. 47* Errors:: Annotations for error messages. 48* Breakpoint Info:: Information on breakpoints. 49* Invalidation:: Some annotations describe things now invalid. 50* Annotations for Running:: 51 Whether the program is running, how it stopped, etc. 52* Source Annotations:: Annotations describing source code. 53* Multi-threaded Apps:: An annotation that reports multi-threadedness. 54 55* GNU Free Documentation License:: 56 57 58File: annotate.info, Node: Annotations Overview, Next: Limitations, Prev: Top, Up: Top 59 601 What is an Annotation? 61************************ 62 63To produce obsolete level two annotations, start GDB with the 64‘--annotate=2’ option. 65 66 Annotations start with a newline character, two ‘control-z’ 67characters, and the name of the annotation. If there is no additional 68information associated with this annotation, the name of the annotation 69is followed immediately by a newline. If there is additional 70information, the name of the annotation is followed by a space, the 71additional information, and a newline. The additional information 72cannot contain newline characters. 73 74 Any output not beginning with a newline and two ‘control-z’ 75characters denotes literal output from GDB. Currently there is no need 76for GDB to output a newline followed by two ‘control-z’ characters, but 77if there was such a need, the annotations could be extended with an 78‘escape’ annotation which means those three characters as output. 79 80 A simple example of starting up GDB with annotations is: 81 82 $ gdb --annotate=2 83 GNU GDB 5.0 84 Copyright 2000 Free Software Foundation, Inc. 85 GDB is free software, covered by the GNU General Public License, 86 and you are welcome to change it and/or distribute copies of it 87 under certain conditions. 88 Type "show copying" to see the conditions. 89 There is absolutely no warranty for GDB. Type "show warranty" 90 for details. 91 This GDB was configured as "sparc-sun-sunos4.1.3" 92 93 ^Z^Zpre-prompt 94 (gdb) 95 ^Z^Zprompt 96 quit 97 98 ^Z^Zpost-prompt 99 $ 100 101 Here ‘quit’ is input to GDB; the rest is output from GDB. The three 102lines beginning ‘^Z^Z’ (where ‘^Z’ denotes a ‘control-z’ character) are 103annotations; the rest is output from GDB. 104 105 106File: annotate.info, Node: Limitations, Next: Migrating to GDB/MI, Prev: Annotations Overview, Up: Top 107 1082 Limitations of the Annotation Interface 109***************************************** 110 111The level two annotations mechanism is known to have a number of 112technical and architectural limitations. As a consequence, in 2001, 113with the release of GDB 5.1 and the addition of GDB/MI, the annotation 114interface was marked as deprecated. 115 116 This chapter discusses the known problems. 117 1182.1 Dependant on CLI output 119=========================== 120 121The annotation interface works by interspersing markups with GDB normal 122command-line interpreter output. Unfortunately, this makes the 123annotation client dependant on not just the annotations, but also the 124CLI output. This is because the client is forced to assume that 125specific GDB commands provide specific information. Any change to GDB's 126CLI output modifies or removes that information and, consequently, 127likely breaks the client. 128 129 Since the GDB/MI output is independent of the CLI, it does not have 130this problem. 131 1322.2 Scalability 133=============== 134 135The annotation interface relies on value annotations (*note Value 136Annotations::) and the display mechanism as a way of obtaining 137up-to-date value information. These mechanisms are not scalable. 138 139 In a graphical environment, where many values can be displayed 140simultaneously, a serious performance problem occurs when the client 141tries to first extract from GDB, and then re-display, all those values. 142The client should instead only request and update the values that 143changed. 144 145 The GDB/MI Variable Objects provide just that mechanism. 146 1472.3 Correctness 148=============== 149 150The annotation interface assumes that a variable's value can only be 151changed when the target is running. This assumption is not correct. A 152single assignment to a single variable can result in the entire target, 153and all displayed values, needing an update. 154 155 The GDB/MI Variable Objects include a mechanism for efficiently 156reporting such changes. 157 1582.4 Reliability 159=============== 160 161The GDB/MI interface includes a dedicated test directory (‘gdb/gdb.mi’), 162and any addition or fix to GDB/MI must include testsuite changes. 163 1642.5 Maintainability 165=================== 166 167The annotation mechanism was implemented by interspersing CLI print 168statements with various annotations. As a consequence, any CLI output 169change can alter the annotation output. 170 171 Since the GDB/MI output is independent of the CLI, and the GDB/MI is 172increasingly implemented independent of the CLI code, its long term 173maintenance is much easier. 174 175 176File: annotate.info, Node: Migrating to GDB/MI, Next: Server Prefix, Prev: Limitations, Up: Top 177 1783 Migrating to GDB/MI 179********************* 180 181By using the ‘interp mi’ command, it is possible for annotation clients 182to invoke GDB/MI commands, and hence access the GDB/MI. By doing this, 183existing annotation clients have a migration path from this obsolete 184interface to GDB/MI. 185 186 187File: annotate.info, Node: Server Prefix, Next: Value Annotations, Prev: Migrating to GDB/MI, Up: Top 188 1894 The Server Prefix 190******************* 191 192To issue a command to GDB without affecting certain aspects of the state 193which is seen by users, prefix it with ‘server ’. This means that this 194command will not affect the command history, nor will it affect GDB's 195notion of which command to repeat if <RET> is pressed on a line by 196itself. 197 198 The server prefix does not affect the recording of values into the 199value history; to print a value without recording it into the value 200history, use the ‘output’ command instead of the ‘print’ command. 201 202 203File: annotate.info, Node: Value Annotations, Next: Frame Annotations, Prev: Server Prefix, Up: Top 204 2055 Values 206******** 207 208_Value Annotations have been removed. GDB/MI instead provides Variable 209Objects._ 210 211 When a value is printed in various contexts, GDB uses annotations to 212delimit the value from the surrounding text. 213 214 If a value is printed using ‘print’ and added to the value history, 215the annotation looks like 216 217 ^Z^Zvalue-history-begin HISTORY-NUMBER VALUE-FLAGS 218 HISTORY-STRING 219 ^Z^Zvalue-history-value 220 THE-VALUE 221 ^Z^Zvalue-history-end 222 223where HISTORY-NUMBER is the number it is getting in the value history, 224HISTORY-STRING is a string, such as ‘$5 = ’, which introduces the value 225to the user, THE-VALUE is the output corresponding to the value itself, 226and VALUE-FLAGS is ‘*’ for a value which can be dereferenced and ‘-’ for 227a value which cannot. 228 229 If the value is not added to the value history (it is an invalid 230float or it is printed with the ‘output’ command), the annotation is 231similar: 232 233 ^Z^Zvalue-begin VALUE-FLAGS 234 THE-VALUE 235 ^Z^Zvalue-end 236 237 When GDB prints an argument to a function (for example, in the output 238from the ‘backtrace’ command), it annotates it as follows: 239 240 ^Z^Zarg-begin 241 ARGUMENT-NAME 242 ^Z^Zarg-name-end 243 SEPARATOR-STRING 244 ^Z^Zarg-value VALUE-FLAGS 245 THE-VALUE 246 ^Z^Zarg-end 247 248where ARGUMENT-NAME is the name of the argument, SEPARATOR-STRING is 249text which separates the name from the value for the user's benefit 250(such as ‘=’), and VALUE-FLAGS and THE-VALUE have the same meanings as 251in a ‘value-history-begin’ annotation. 252 253 When printing a structure, GDB annotates it as follows: 254 255 ^Z^Zfield-begin VALUE-FLAGS 256 FIELD-NAME 257 ^Z^Zfield-name-end 258 SEPARATOR-STRING 259 ^Z^Zfield-value 260 THE-VALUE 261 ^Z^Zfield-end 262 263where FIELD-NAME is the name of the field, SEPARATOR-STRING is text 264which separates the name from the value for the user's benefit (such as 265‘=’), and VALUE-FLAGS and THE-VALUE have the same meanings as in a 266‘value-history-begin’ annotation. 267 268 When printing an array, GDB annotates it as follows: 269 270 ^Z^Zarray-section-begin ARRAY-INDEX VALUE-FLAGS 271 272where ARRAY-INDEX is the index of the first element being annotated and 273VALUE-FLAGS has the same meaning as in a ‘value-history-begin’ 274annotation. This is followed by any number of elements, where is 275element can be either a single element: 276 277 ‘,’ WHITESPACE ; omitted for the first element 278 THE-VALUE 279 ^Z^Zelt 280 281 or a repeated element 282 283 ‘,’ WHITESPACE ; omitted for the first element 284 THE-VALUE 285 ^Z^Zelt-rep NUMBER-OF-REPETITIONS 286 REPETITION-STRING 287 ^Z^Zelt-rep-end 288 289 In both cases, THE-VALUE is the output for the value of the element 290and WHITESPACE can contain spaces, tabs, and newlines. In the repeated 291case, NUMBER-OF-REPETITIONS is the number of consecutive array elements 292which contain that value, and REPETITION-STRING is a string which is 293designed to convey to the user that repetition is being depicted. 294 295 Once all the array elements have been output, the array annotation is 296ended with 297 298 ^Z^Zarray-section-end 299 300 301File: annotate.info, Node: Frame Annotations, Next: Displays, Prev: Value Annotations, Up: Top 302 3036 Frames 304******** 305 306_Value Annotations have been removed. GDB/MI instead provides a number 307of frame commands._ 308 309 _Frame annotations are no longer available. The GDB/MI provides 310‘-stack-list-arguments’, ‘-stack-list-locals’, and ‘-stack-list-frames’ 311commands._ 312 313 Whenever GDB prints a frame, it annotates it. For example, this 314applies to frames printed when GDB stops, output from commands such as 315‘backtrace’ or ‘up’, etc. 316 317 The frame annotation begins with 318 319 ^Z^Zframe-begin LEVEL ADDRESS 320 LEVEL-STRING 321 322where LEVEL is the number of the frame (0 is the innermost frame, and 323other frames have positive numbers), ADDRESS is the address of the code 324executing in that frame, and LEVEL-STRING is a string designed to convey 325the level to the user. ADDRESS is in the form ‘0x’ followed by one or 326more lowercase hex digits (note that this does not depend on the 327language). The frame ends with 328 329 ^Z^Zframe-end 330 331 Between these annotations is the main body of the frame, which can 332consist of 333 334 • ^Z^Zfunction-call 335 FUNCTION-CALL-STRING 336 337 where FUNCTION-CALL-STRING is text designed to convey to the user 338 that this frame is associated with a function call made by GDB to a 339 function in the program being debugged. 340 341 • ^Z^Zsignal-handler-caller 342 SIGNAL-HANDLER-CALLER-STRING 343 344 where SIGNAL-HANDLER-CALLER-STRING is text designed to convey to 345 the user that this frame is associated with whatever mechanism is 346 used by this operating system to call a signal handler (it is the 347 frame which calls the signal handler, not the frame for the signal 348 handler itself). 349 350 • A normal frame. 351 352 This can optionally (depending on whether this is thought of as 353 interesting information for the user to see) begin with 354 355 ^Z^Zframe-address 356 ADDRESS 357 ^Z^Zframe-address-end 358 SEPARATOR-STRING 359 360 where ADDRESS is the address executing in the frame (the same 361 address as in the ‘frame-begin’ annotation, but printed in a form 362 which is intended for user consumption--in particular, the syntax 363 varies depending on the language), and SEPARATOR-STRING is a string 364 intended to separate this address from what follows for the user's 365 benefit. 366 367 Then comes 368 369 ^Z^Zframe-function-name 370 FUNCTION-NAME 371 ^Z^Zframe-args 372 ARGUMENTS 373 374 where FUNCTION-NAME is the name of the function executing in the 375 frame, or ‘??’ if not known, and ARGUMENTS are the arguments to the 376 frame, with parentheses around them (each argument is annotated 377 individually as well, *note Value Annotations::). 378 379 If source information is available, a reference to it is then 380 printed: 381 382 ^Z^Zframe-source-begin 383 SOURCE-INTRO-STRING 384 ^Z^Zframe-source-file 385 FILENAME 386 ^Z^Zframe-source-file-end 387 : 388 ^Z^Zframe-source-line 389 LINE-NUMBER 390 ^Z^Zframe-source-end 391 392 where SOURCE-INTRO-STRING separates for the user's benefit the 393 reference from the text which precedes it, FILENAME is the name of 394 the source file, and LINE-NUMBER is the line number within that 395 file (the first line is line 1). 396 397 If GDB prints some information about where the frame is from (which 398 library, which load segment, etc.; currently only done on the 399 RS/6000), it is annotated with 400 401 ^Z^Zframe-where 402 INFORMATION 403 404 Then, if source is to actually be displayed for this frame (for 405 example, this is not true for output from the ‘backtrace’ command), 406 then a ‘source’ annotation (*note Source Annotations::) is 407 displayed. Unlike most annotations, this is output instead of the 408 normal text which would be output, not in addition. 409 410 411File: annotate.info, Node: Displays, Next: Prompting, Prev: Frame Annotations, Up: Top 412 4137 Displays 414********** 415 416_Display Annotations have been removed. GDB/MI instead provides 417Variable Objects._ 418 419 When GDB is told to display something using the ‘display’ command, 420the results of the display are annotated: 421 422 ^Z^Zdisplay-begin 423 NUMBER 424 ^Z^Zdisplay-number-end 425 NUMBER-SEPARATOR 426 ^Z^Zdisplay-format 427 FORMAT 428 ^Z^Zdisplay-expression 429 EXPRESSION 430 ^Z^Zdisplay-expression-end 431 EXPRESSION-SEPARATOR 432 ^Z^Zdisplay-value 433 VALUE 434 ^Z^Zdisplay-end 435 436where NUMBER is the number of the display, NUMBER-SEPARATOR is intended 437to separate the number from what follows for the user, FORMAT includes 438information such as the size, format, or other information about how the 439value is being displayed, EXPRESSION is the expression being displayed, 440EXPRESSION-SEPARATOR is intended to separate the expression from the 441text that follows for the user, and VALUE is the actual value being 442displayed. 443 444 445File: annotate.info, Node: Prompting, Next: Errors, Prev: Displays, Up: Top 446 4478 Annotation for GDB Input 448************************** 449 450When GDB prompts for input, it annotates this fact so it is possible to 451know when to send output, when the output from a given command is over, 452etc. 453 454 Different kinds of input each have a different “input type”. Each 455input type has three annotations: a ‘pre-’ annotation, which denotes the 456beginning of any prompt which is being output, a plain annotation, which 457denotes the end of the prompt, and then a ‘post-’ annotation which 458denotes the end of any echo which may (or may not) be associated with 459the input. For example, the ‘prompt’ input type features the following 460annotations: 461 462 ^Z^Zpre-prompt 463 ^Z^Zprompt 464 ^Z^Zpost-prompt 465 466 The input types are 467 468‘prompt’ 469 When GDB is prompting for a command (the main GDB prompt). 470 471‘commands’ 472 When GDB prompts for a set of commands, like in the ‘commands’ 473 command. The annotations are repeated for each command which is 474 input. 475 476‘overload-choice’ 477 When GDB wants the user to select between various overloaded 478 functions. 479 480‘query’ 481 When GDB wants the user to confirm a potentially dangerous 482 operation. 483 484‘prompt-for-continue’ 485 When GDB is asking the user to press return to continue. Note: 486 Don't expect this to work well; instead use ‘set height 0’ to 487 disable prompting. This is because the counting of lines is buggy 488 in the presence of annotations. 489 490 491File: annotate.info, Node: Errors, Next: Breakpoint Info, Prev: Prompting, Up: Top 492 4939 Errors 494******** 495 496 ^Z^Zquit 497 498 This annotation occurs right before GDB responds to an interrupt. 499 500 ^Z^Zerror 501 502 This annotation occurs right before GDB responds to an error. 503 504 Quit and error annotations indicate that any annotations which GDB 505was in the middle of may end abruptly. For example, if a 506‘value-history-begin’ annotation is followed by a ‘error’, one cannot 507expect to receive the matching ‘value-history-end’. One cannot expect 508not to receive it either, however; an error annotation does not 509necessarily mean that GDB is immediately returning all the way to the 510top level. 511 512 A quit or error annotation may be preceded by 513 514 ^Z^Zerror-begin 515 516 Any output between that and the quit or error annotation is the error 517message. 518 519 Warning messages are not yet annotated. 520 521 522File: annotate.info, Node: Breakpoint Info, Next: Invalidation, Prev: Errors, Up: Top 523 52410 Information on Breakpoints 525***************************** 526 527_Breakpoint Annotations have been removed. GDB/MI instead provides 528breakpoint commands._ 529 530 The output from the ‘info breakpoints’ command is annotated as 531follows: 532 533 ^Z^Zbreakpoints-headers 534 HEADER-ENTRY 535 ^Z^Zbreakpoints-table 536 537where HEADER-ENTRY has the same syntax as an entry (see below) but 538instead of containing data, it contains strings which are intended to 539convey the meaning of each field to the user. This is followed by any 540number of entries. If a field does not apply for this entry, it is 541omitted. Fields may contain trailing whitespace. Each entry consists 542of: 543 544 ^Z^Zrecord 545 ^Z^Zfield 0 546 NUMBER 547 ^Z^Zfield 1 548 TYPE 549 ^Z^Zfield 2 550 DISPOSITION 551 ^Z^Zfield 3 552 ENABLE 553 ^Z^Zfield 4 554 ADDRESS 555 ^Z^Zfield 5 556 WHAT 557 ^Z^Zfield 6 558 FRAME 559 ^Z^Zfield 7 560 CONDITION 561 ^Z^Zfield 8 562 IGNORE-COUNT 563 ^Z^Zfield 9 564 COMMANDS 565 566 Note that ADDRESS is intended for user consumption--the syntax varies 567depending on the language. 568 569 The output ends with 570 571 ^Z^Zbreakpoints-table-end 572 573 574File: annotate.info, Node: Invalidation, Next: Annotations for Running, Prev: Breakpoint Info, Up: Top 575 57611 Invalidation Notices 577*********************** 578 579The following annotations say that certain pieces of state may have 580changed. 581 582‘^Z^Zframes-invalid’ 583 584 The frames (for example, output from the ‘backtrace’ command) may 585 have changed. 586 587‘^Z^Zbreakpoints-invalid’ 588 589 The breakpoints may have changed. For example, the user just added 590 or deleted a breakpoint. 591 592 593File: annotate.info, Node: Annotations for Running, Next: Source Annotations, Prev: Invalidation, Up: Top 594 59512 Running the Program 596********************** 597 598When the program starts executing due to a GDB command such as ‘step’ or 599‘continue’, 600 601 ^Z^Zstarting 602 603 is output. When the program stops, 604 605 ^Z^Zstopped 606 607 is output. Before the ‘stopped’ annotation, a variety of annotations 608describe how the program stopped. 609 610‘^Z^Zexited EXIT-STATUS’ 611 The program exited, and EXIT-STATUS is the exit status (zero for 612 successful exit, otherwise nonzero). 613 614‘^Z^Zsignalled’ 615 The program exited with a signal. After the ‘^Z^Zsignalled’, the 616 annotation continues: 617 618 INTRO-TEXT 619 ^Z^Zsignal-name 620 NAME 621 ^Z^Zsignal-name-end 622 MIDDLE-TEXT 623 ^Z^Zsignal-string 624 STRING 625 ^Z^Zsignal-string-end 626 END-TEXT 627 628 where NAME is the name of the signal, such as ‘SIGILL’ or 629 ‘SIGSEGV’, and STRING is the explanation of the signal, such as 630 ‘Illegal Instruction’ or ‘Segmentation fault’. INTRO-TEXT, 631 MIDDLE-TEXT, and END-TEXT are for the user's benefit and have no 632 particular format. 633 634‘^Z^Zsignal’ 635 The syntax of this annotation is just like ‘signalled’, but GDB is 636 just saying that the program received the signal, not that it was 637 terminated with it. 638 639‘^Z^Zbreakpoint NUMBER’ 640 The program hit breakpoint number NUMBER. 641 642‘^Z^Zwatchpoint NUMBER’ 643 The program hit watchpoint number NUMBER. 644 645 646File: annotate.info, Node: Source Annotations, Next: Multi-threaded Apps, Prev: Annotations for Running, Up: Top 647 64813 Displaying Source 649******************** 650 651The following annotation is used instead of displaying source code: 652 653 ^Z^Zsource FILENAME:LINE:CHARACTER:MIDDLE:ADDR 654 655 where FILENAME is an absolute file name indicating which source file, 656LINE is the line number within that file (where 1 is the first line in 657the file), CHARACTER is the character position within the file (where 0 658is the first character in the file) (for most debug formats this will 659necessarily point to the beginning of a line), MIDDLE is ‘middle’ if 660ADDR is in the middle of the line, or ‘beg’ if ADDR is at the beginning 661of the line, and ADDR is the address in the target program associated 662with the source which is being displayed. ADDR is in the form ‘0x’ 663followed by one or more lowercase hex digits (note that this does not 664depend on the language). 665 666 667File: annotate.info, Node: Multi-threaded Apps, Next: GNU Free Documentation License, Prev: Source Annotations, Up: Top 668 66914 Multi-threaded Applications 670****************************** 671 672The following annotations report thread related changes of state. 673 674‘^Z^Znew-thread’ 675 676 This annotation is issued once for each thread that is created 677 apart from the main thread, which is not reported. 678 679‘^Z^Zthread-changed’ 680 681 The selected thread has changed. This may occur at the request of 682 the user with the ‘thread’ command, or as a result of execution, 683 e.g., another thread hits a breakpoint. 684 685‘^Z^Zthread-exited,id="ID",group-id="GID"’ 686 687 This annotation is issued once for each thread that exits. The ID 688 field contains the global GDB identifier of the thread. The GID 689 field identifies the thread group this thread belongs to. 690 691 692File: annotate.info, Node: GNU Free Documentation License, Prev: Multi-threaded Apps, Up: Top 693 694Appendix A GNU Free Documentation License 695***************************************** 696 697 Version 1.3, 3 November 2008 698 699 Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. 700 <http://fsf.org/> 701 702 Everyone is permitted to copy and distribute verbatim copies 703 of this license document, but changing it is not allowed. 704 705 0. PREAMBLE 706 707 The purpose of this License is to make a manual, textbook, or other 708 functional and useful document “free” in the sense of freedom: to 709 assure everyone the effective freedom to copy and redistribute it, 710 with or without modifying it, either commercially or 711 noncommercially. Secondarily, this License preserves for the 712 author and publisher a way to get credit for their work, while not 713 being considered responsible for modifications made by others. 714 715 This License is a kind of "copyleft", which means that derivative 716 works of the document must themselves be free in the same sense. 717 It complements the GNU General Public License, which is a copyleft 718 license designed for free software. 719 720 We have designed this License in order to use it for manuals for 721 free software, because free software needs free documentation: a 722 free program should come with manuals providing the same freedoms 723 that the software does. But this License is not limited to 724 software manuals; it can be used for any textual work, regardless 725 of subject matter or whether it is published as a printed book. We 726 recommend this License principally for works whose purpose is 727 instruction or reference. 728 729 1. APPLICABILITY AND DEFINITIONS 730 731 This License applies to any manual or other work, in any medium, 732 that contains a notice placed by the copyright holder saying it can 733 be distributed under the terms of this License. Such a notice 734 grants a world-wide, royalty-free license, unlimited in duration, 735 to use that work under the conditions stated herein. The 736 "Document", below, refers to any such manual or work. Any member 737 of the public is a licensee, and is addressed as "you". You accept 738 the license if you copy, modify or distribute the work in a way 739 requiring permission under copyright law. 740 741 A "Modified Version" of the Document means any work containing the 742 Document or a portion of it, either copied verbatim, or with 743 modifications and/or translated into another language. 744 745 A "Secondary Section" is a named appendix or a front-matter section 746 of the Document that deals exclusively with the relationship of the 747 publishers or authors of the Document to the Document's overall 748 subject (or to related matters) and contains nothing that could 749 fall directly within that overall subject. (Thus, if the Document 750 is in part a textbook of mathematics, a Secondary Section may not 751 explain any mathematics.) The relationship could be a matter of 752 historical connection with the subject or with related matters, or 753 of legal, commercial, philosophical, ethical or political position 754 regarding them. 755 756 The "Invariant Sections" are certain Secondary Sections whose 757 titles are designated, as being those of Invariant Sections, in the 758 notice that says that the Document is released under this License. 759 If a section does not fit the above definition of Secondary then it 760 is not allowed to be designated as Invariant. The Document may 761 contain zero Invariant Sections. If the Document does not identify 762 any Invariant Sections then there are none. 763 764 The "Cover Texts" are certain short passages of text that are 765 listed, as Front-Cover Texts or Back-Cover Texts, in the notice 766 that says that the Document is released under this License. A 767 Front-Cover Text may be at most 5 words, and a Back-Cover Text may 768 be at most 25 words. 769 770 A "Transparent" copy of the Document means a machine-readable copy, 771 represented in a format whose specification is available to the 772 general public, that is suitable for revising the document 773 straightforwardly with generic text editors or (for images composed 774 of pixels) generic paint programs or (for drawings) some widely 775 available drawing editor, and that is suitable for input to text 776 formatters or for automatic translation to a variety of formats 777 suitable for input to text formatters. A copy made in an otherwise 778 Transparent file format whose markup, or absence of markup, has 779 been arranged to thwart or discourage subsequent modification by 780 readers is not Transparent. An image format is not Transparent if 781 used for any substantial amount of text. A copy that is not 782 "Transparent" is called "Opaque". 783 784 Examples of suitable formats for Transparent copies include plain 785 ASCII without markup, Texinfo input format, LaTeX input format, 786 SGML or XML using a publicly available DTD, and standard-conforming 787 simple HTML, PostScript or PDF designed for human modification. 788 Examples of transparent image formats include PNG, XCF and JPG. 789 Opaque formats include proprietary formats that can be read and 790 edited only by proprietary word processors, SGML or XML for which 791 the DTD and/or processing tools are not generally available, and 792 the machine-generated HTML, PostScript or PDF produced by some word 793 processors for output purposes only. 794 795 The "Title Page" means, for a printed book, the title page itself, 796 plus such following pages as are needed to hold, legibly, the 797 material this License requires to appear in the title page. For 798 works in formats which do not have any title page as such, "Title 799 Page" means the text near the most prominent appearance of the 800 work's title, preceding the beginning of the body of the text. 801 802 The "publisher" means any person or entity that distributes copies 803 of the Document to the public. 804 805 A section "Entitled XYZ" means a named subunit of the Document 806 whose title either is precisely XYZ or contains XYZ in parentheses 807 following text that translates XYZ in another language. (Here XYZ 808 stands for a specific section name mentioned below, such as 809 "Acknowledgements", "Dedications", "Endorsements", or "History".) 810 To "Preserve the Title" of such a section when you modify the 811 Document means that it remains a section "Entitled XYZ" according 812 to this definition. 813 814 The Document may include Warranty Disclaimers next to the notice 815 which states that this License applies to the Document. These 816 Warranty Disclaimers are considered to be included by reference in 817 this License, but only as regards disclaiming warranties: any other 818 implication that these Warranty Disclaimers may have is void and 819 has no effect on the meaning of this License. 820 821 2. VERBATIM COPYING 822 823 You may copy and distribute the Document in any medium, either 824 commercially or noncommercially, provided that this License, the 825 copyright notices, and the license notice saying this License 826 applies to the Document are reproduced in all copies, and that you 827 add no other conditions whatsoever to those of this License. You 828 may not use technical measures to obstruct or control the reading 829 or further copying of the copies you make or distribute. However, 830 you may accept compensation in exchange for copies. If you 831 distribute a large enough number of copies you must also follow the 832 conditions in section 3. 833 834 You may also lend copies, under the same conditions stated above, 835 and you may publicly display copies. 836 837 3. COPYING IN QUANTITY 838 839 If you publish printed copies (or copies in media that commonly 840 have printed covers) of the Document, numbering more than 100, and 841 the Document's license notice requires Cover Texts, you must 842 enclose the copies in covers that carry, clearly and legibly, all 843 these Cover Texts: Front-Cover Texts on the front cover, and 844 Back-Cover Texts on the back cover. Both covers must also clearly 845 and legibly identify you as the publisher of these copies. The 846 front cover must present the full title with all words of the title 847 equally prominent and visible. You may add other material on the 848 covers in addition. Copying with changes limited to the covers, as 849 long as they preserve the title of the Document and satisfy these 850 conditions, can be treated as verbatim copying in other respects. 851 852 If the required texts for either cover are too voluminous to fit 853 legibly, you should put the first ones listed (as many as fit 854 reasonably) on the actual cover, and continue the rest onto 855 adjacent pages. 856 857 If you publish or distribute Opaque copies of the Document 858 numbering more than 100, you must either include a machine-readable 859 Transparent copy along with each Opaque copy, or state in or with 860 each Opaque copy a computer-network location from which the general 861 network-using public has access to download using public-standard 862 network protocols a complete Transparent copy of the Document, free 863 of added material. If you use the latter option, you must take 864 reasonably prudent steps, when you begin distribution of Opaque 865 copies in quantity, to ensure that this Transparent copy will 866 remain thus accessible at the stated location until at least one 867 year after the last time you distribute an Opaque copy (directly or 868 through your agents or retailers) of that edition to the public. 869 870 It is requested, but not required, that you contact the authors of 871 the Document well before redistributing any large number of copies, 872 to give them a chance to provide you with an updated version of the 873 Document. 874 875 4. MODIFICATIONS 876 877 You may copy and distribute a Modified Version of the Document 878 under the conditions of sections 2 and 3 above, provided that you 879 release the Modified Version under precisely this License, with the 880 Modified Version filling the role of the Document, thus licensing 881 distribution and modification of the Modified Version to whoever 882 possesses a copy of it. In addition, you must do these things in 883 the Modified Version: 884 885 A. Use in the Title Page (and on the covers, if any) a title 886 distinct from that of the Document, and from those of previous 887 versions (which should, if there were any, be listed in the 888 History section of the Document). You may use the same title 889 as a previous version if the original publisher of that 890 version gives permission. 891 892 B. List on the Title Page, as authors, one or more persons or 893 entities responsible for authorship of the modifications in 894 the Modified Version, together with at least five of the 895 principal authors of the Document (all of its principal 896 authors, if it has fewer than five), unless they release you 897 from this requirement. 898 899 C. State on the Title page the name of the publisher of the 900 Modified Version, as the publisher. 901 902 D. Preserve all the copyright notices of the Document. 903 904 E. Add an appropriate copyright notice for your modifications 905 adjacent to the other copyright notices. 906 907 F. Include, immediately after the copyright notices, a license 908 notice giving the public permission to use the Modified 909 Version under the terms of this License, in the form shown in 910 the Addendum below. 911 912 G. Preserve in that license notice the full lists of Invariant 913 Sections and required Cover Texts given in the Document's 914 license notice. 915 916 H. Include an unaltered copy of this License. 917 918 I. Preserve the section Entitled "History", Preserve its Title, 919 and add to it an item stating at least the title, year, new 920 authors, and publisher of the Modified Version as given on the 921 Title Page. If there is no section Entitled "History" in the 922 Document, create one stating the title, year, authors, and 923 publisher of the Document as given on its Title Page, then add 924 an item describing the Modified Version as stated in the 925 previous sentence. 926 927 J. Preserve the network location, if any, given in the Document 928 for public access to a Transparent copy of the Document, and 929 likewise the network locations given in the Document for 930 previous versions it was based on. These may be placed in the 931 "History" section. You may omit a network location for a work 932 that was published at least four years before the Document 933 itself, or if the original publisher of the version it refers 934 to gives permission. 935 936 K. For any section Entitled "Acknowledgements" or "Dedications", 937 Preserve the Title of the section, and preserve in the section 938 all the substance and tone of each of the contributor 939 acknowledgements and/or dedications given therein. 940 941 L. Preserve all the Invariant Sections of the Document, unaltered 942 in their text and in their titles. Section numbers or the 943 equivalent are not considered part of the section titles. 944 945 M. Delete any section Entitled "Endorsements". Such a section 946 may not be included in the Modified Version. 947 948 N. Do not retitle any existing section to be Entitled 949 "Endorsements" or to conflict in title with any Invariant 950 Section. 951 952 O. Preserve any Warranty Disclaimers. 953 954 If the Modified Version includes new front-matter sections or 955 appendices that qualify as Secondary Sections and contain no 956 material copied from the Document, you may at your option designate 957 some or all of these sections as invariant. To do this, add their 958 titles to the list of Invariant Sections in the Modified Version's 959 license notice. These titles must be distinct from any other 960 section titles. 961 962 You may add a section Entitled "Endorsements", provided it contains 963 nothing but endorsements of your Modified Version by various 964 parties--for example, statements of peer review or that the text 965 has been approved by an organization as the authoritative 966 definition of a standard. 967 968 You may add a passage of up to five words as a Front-Cover Text, 969 and a passage of up to 25 words as a Back-Cover Text, to the end of 970 the list of Cover Texts in the Modified Version. Only one passage 971 of Front-Cover Text and one of Back-Cover Text may be added by (or 972 through arrangements made by) any one entity. If the Document 973 already includes a cover text for the same cover, previously added 974 by you or by arrangement made by the same entity you are acting on 975 behalf of, you may not add another; but you may replace the old 976 one, on explicit permission from the previous publisher that added 977 the old one. 978 979 The author(s) and publisher(s) of the Document do not by this 980 License give permission to use their names for publicity for or to 981 assert or imply endorsement of any Modified Version. 982 983 5. COMBINING DOCUMENTS 984 985 You may combine the Document with other documents released under 986 this License, under the terms defined in section 4 above for 987 modified versions, provided that you include in the combination all 988 of the Invariant Sections of all of the original documents, 989 unmodified, and list them all as Invariant Sections of your 990 combined work in its license notice, and that you preserve all 991 their Warranty Disclaimers. 992 993 The combined work need only contain one copy of this License, and 994 multiple identical Invariant Sections may be replaced with a single 995 copy. If there are multiple Invariant Sections with the same name 996 but different contents, make the title of each such section unique 997 by adding at the end of it, in parentheses, the name of the 998 original author or publisher of that section if known, or else a 999 unique number. Make the same adjustment to the section titles in 1000 the list of Invariant Sections in the license notice of the 1001 combined work. 1002 1003 In the combination, you must combine any sections Entitled 1004 "History" in the various original documents, forming one section 1005 Entitled "History"; likewise combine any sections Entitled 1006 "Acknowledgements", and any sections Entitled "Dedications". You 1007 must delete all sections Entitled "Endorsements." 1008 1009 6. COLLECTIONS OF DOCUMENTS 1010 1011 You may make a collection consisting of the Document and other 1012 documents released under this License, and replace the individual 1013 copies of this License in the various documents with a single copy 1014 that is included in the collection, provided that you follow the 1015 rules of this License for verbatim copying of each of the documents 1016 in all other respects. 1017 1018 You may extract a single document from such a collection, and 1019 distribute it individually under this License, provided you insert 1020 a copy of this License into the extracted document, and follow this 1021 License in all other respects regarding verbatim copying of that 1022 document. 1023 1024 7. AGGREGATION WITH INDEPENDENT WORKS 1025 1026 A compilation of the Document or its derivatives with other 1027 separate and independent documents or works, in or on a volume of a 1028 storage or distribution medium, is called an "aggregate" if the 1029 copyright resulting from the compilation is not used to limit the 1030 legal rights of the compilation's users beyond what the individual 1031 works permit. When the Document is included in an aggregate, this 1032 License does not apply to the other works in the aggregate which 1033 are not themselves derivative works of the Document. 1034 1035 If the Cover Text requirement of section 3 is applicable to these 1036 copies of the Document, then if the Document is less than one half 1037 of the entire aggregate, the Document's Cover Texts may be placed 1038 on covers that bracket the Document within the aggregate, or the 1039 electronic equivalent of covers if the Document is in electronic 1040 form. Otherwise they must appear on printed covers that bracket 1041 the whole aggregate. 1042 1043 8. TRANSLATION 1044 1045 Translation is considered a kind of modification, so you may 1046 distribute translations of the Document under the terms of section 1047 4. Replacing Invariant Sections with translations requires special 1048 permission from their copyright holders, but you may include 1049 translations of some or all Invariant Sections in addition to the 1050 original versions of these Invariant Sections. You may include a 1051 translation of this License, and all the license notices in the 1052 Document, and any Warranty Disclaimers, provided that you also 1053 include the original English version of this License and the 1054 original versions of those notices and disclaimers. In case of a 1055 disagreement between the translation and the original version of 1056 this License or a notice or disclaimer, the original version will 1057 prevail. 1058 1059 If a section in the Document is Entitled "Acknowledgements", 1060 "Dedications", or "History", the requirement (section 4) to 1061 Preserve its Title (section 1) will typically require changing the 1062 actual title. 1063 1064 9. TERMINATION 1065 1066 You may not copy, modify, sublicense, or distribute the Document 1067 except as expressly provided under this License. Any attempt 1068 otherwise to copy, modify, sublicense, or distribute it is void, 1069 and will automatically terminate your rights under this License. 1070 1071 However, if you cease all violation of this License, then your 1072 license from a particular copyright holder is reinstated (a) 1073 provisionally, unless and until the copyright holder explicitly and 1074 finally terminates your license, and (b) permanently, if the 1075 copyright holder fails to notify you of the violation by some 1076 reasonable means prior to 60 days after the cessation. 1077 1078 Moreover, your license from a particular copyright holder is 1079 reinstated permanently if the copyright holder notifies you of the 1080 violation by some reasonable means, this is the first time you have 1081 received notice of violation of this License (for any work) from 1082 that copyright holder, and you cure the violation prior to 30 days 1083 after your receipt of the notice. 1084 1085 Termination of your rights under this section does not terminate 1086 the licenses of parties who have received copies or rights from you 1087 under this License. If your rights have been terminated and not 1088 permanently reinstated, receipt of a copy of some or all of the 1089 same material does not give you any rights to use it. 1090 1091 10. FUTURE REVISIONS OF THIS LICENSE 1092 1093 The Free Software Foundation may publish new, revised versions of 1094 the GNU Free Documentation License from time to time. Such new 1095 versions will be similar in spirit to the present version, but may 1096 differ in detail to address new problems or concerns. See 1097 <http://www.gnu.org/copyleft/>. 1098 1099 Each version of the License is given a distinguishing version 1100 number. If the Document specifies that a particular numbered 1101 version of this License "or any later version" applies to it, you 1102 have the option of following the terms and conditions either of 1103 that specified version or of any later version that has been 1104 published (not as a draft) by the Free Software Foundation. If the 1105 Document does not specify a version number of this License, you may 1106 choose any version ever published (not as a draft) by the Free 1107 Software Foundation. If the Document specifies that a proxy can 1108 decide which future versions of this License can be used, that 1109 proxy's public statement of acceptance of a version permanently 1110 authorizes you to choose that version for the Document. 1111 1112 11. RELICENSING 1113 1114 "Massive Multiauthor Collaboration Site" (or "MMC Site") means any 1115 World Wide Web server that publishes copyrightable works and also 1116 provides prominent facilities for anybody to edit those works. A 1117 public wiki that anybody can edit is an example of such a server. 1118 A "Massive Multiauthor Collaboration" (or "MMC") contained in the 1119 site means any set of copyrightable works thus published on the MMC 1120 site. 1121 1122 "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 1123 license published by Creative Commons Corporation, a not-for-profit 1124 corporation with a principal place of business in San Francisco, 1125 California, as well as future copyleft versions of that license 1126 published by that same organization. 1127 1128 "Incorporate" means to publish or republish a Document, in whole or 1129 in part, as part of another Document. 1130 1131 An MMC is "eligible for relicensing" if it is licensed under this 1132 License, and if all works that were first published under this 1133 License somewhere other than this MMC, and subsequently 1134 incorporated in whole or in part into the MMC, (1) had no cover 1135 texts or invariant sections, and (2) were thus incorporated prior 1136 to November 1, 2008. 1137 1138 The operator of an MMC Site may republish an MMC contained in the 1139 site under CC-BY-SA on the same site at any time before August 1, 1140 2009, provided the MMC is eligible for relicensing. 1141 1142ADDENDUM: How to use this License for your documents 1143==================================================== 1144 1145To use this License in a document you have written, include a copy of 1146the License in the document and put the following copyright and license 1147notices just after the title page: 1148 1149 Copyright (C) YEAR YOUR NAME. 1150 Permission is granted to copy, distribute and/or modify this document 1151 under the terms of the GNU Free Documentation License, Version 1.3 1152 or any later version published by the Free Software Foundation; 1153 with no Invariant Sections, no Front-Cover Texts, and no Back-Cover 1154 Texts. A copy of the license is included in the section entitled ``GNU 1155 Free Documentation License''. 1156 1157 If you have Invariant Sections, Front-Cover Texts and Back-Cover 1158Texts, replace the "with...Texts." line with this: 1159 1160 with the Invariant Sections being LIST THEIR TITLES, with 1161 the Front-Cover Texts being LIST, and with the Back-Cover Texts 1162 being LIST. 1163 1164 If you have Invariant Sections without Cover Texts, or some other 1165combination of the three, merge those two alternatives to suit the 1166situation. 1167 1168 If your document contains nontrivial examples of program code, we 1169recommend releasing these examples in parallel under your choice of free 1170software license, such as the GNU General Public License, to permit 1171their use in free software. 1172 1173 1174 1175Tag Table: 1176Node: Top1164 1177Node: Annotations Overview2334 1178Node: Limitations4169 1179Node: Migrating to GDB/MI6758 1180Node: Server Prefix7145 1181Node: Value Annotations7803 1182Node: Frame Annotations11025 1183Node: Displays14970 1184Node: Prompting16005 1185Node: Errors17552 1186Node: Breakpoint Info18454 1187Node: Invalidation19683 1188Node: Annotations for Running20176 1189Node: Source Annotations21745 1190Node: Multi-threaded Apps22703 1191Node: GNU Free Documentation License23579 1192 1193End Tag Table 1194 1195 1196Local Variables: 1197coding: utf-8 1198End: 1199