OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [gdb-5.0/] [gdb/] [doc/] [gdb.info-12] - Diff between revs 362 and 1765

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 362 Rev 1765
This is ./gdb.info, produced by makeinfo version 4.0 from gdb.texinfo.
This is ./gdb.info, produced by makeinfo version 4.0 from gdb.texinfo.
INFO-DIR-SECTION Programming & development tools.
INFO-DIR-SECTION Programming & development tools.
START-INFO-DIR-ENTRY
START-INFO-DIR-ENTRY
* Gdb: (gdb).                     The GNU debugger.
* Gdb: (gdb).                     The GNU debugger.
END-INFO-DIR-ENTRY
END-INFO-DIR-ENTRY
   This file documents the GNU debugger GDB.
   This file documents the GNU debugger GDB.
   This is the Eighth Edition, March 2000, of `Debugging with GDB: the
   This is the Eighth Edition, March 2000, of `Debugging with GDB: the
GNU Source-Level Debugger' for GDB Version 5.0.
GNU Source-Level Debugger' for GDB Version 5.0.
   Copyright (C) 1988-2000 Free Software Foundation, Inc.
   Copyright (C) 1988-2000 Free Software Foundation, Inc.
   Permission is granted to make and distribute verbatim copies of this
   Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
manual provided the copyright notice and this permission notice are
preserved on all copies.
preserved on all copies.
   Permission is granted to copy and distribute modified versions of
   Permission is granted to copy and distribute modified versions of
this manual under the conditions for verbatim copying, provided also
this manual under the conditions for verbatim copying, provided also
that the entire resulting derived work is distributed under the terms
that the entire resulting derived work is distributed under the terms
of a permission notice identical to this one.
of a permission notice identical to this one.
   Permission is granted to copy and distribute translations of this
   Permission is granted to copy and distribute translations of this
manual into another language, under the above conditions for modified
manual into another language, under the above conditions for modified
versions.
versions.


File: gdb.info,  Node: Readline Init File,  Next: Bindable Readline Commands,  Prev: Readline Interaction,  Up: Command Line Editing
File: gdb.info,  Node: Readline Init File,  Next: Bindable Readline Commands,  Prev: Readline Interaction,  Up: Command Line Editing
Readline Init File
Readline Init File
==================
==================
   Although the Readline library comes with a set of `emacs'-like
   Although the Readline library comes with a set of `emacs'-like
keybindings installed by default, it is possible to use a different set
keybindings installed by default, it is possible to use a different set
of keybindings.  Any user can customize programs that use Readline by
of keybindings.  Any user can customize programs that use Readline by
putting commands in an "inputrc" file in his home directory.  The name
putting commands in an "inputrc" file in his home directory.  The name
of this file is taken from the value of the environment variable
of this file is taken from the value of the environment variable
`INPUTRC'.  If that variable is unset, the default is `~/.inputrc'.
`INPUTRC'.  If that variable is unset, the default is `~/.inputrc'.
   When a program which uses the Readline library starts up, the init
   When a program which uses the Readline library starts up, the init
file is read, and the key bindings are set.
file is read, and the key bindings are set.
   In addition, the `C-x C-r' command re-reads this init file, thus
   In addition, the `C-x C-r' command re-reads this init file, thus
incorporating any changes that you might have made to it.
incorporating any changes that you might have made to it.
* Menu:
* Menu:
* Readline Init File Syntax::   Syntax for the commands in the inputrc file.
* Readline Init File Syntax::   Syntax for the commands in the inputrc file.
* Conditional Init Constructs:: Conditional key bindings in the inputrc file.
* Conditional Init Constructs:: Conditional key bindings in the inputrc file.
* Sample Init File::            An example inputrc file.
* Sample Init File::            An example inputrc file.


File: gdb.info,  Node: Readline Init File Syntax,  Next: Conditional Init Constructs,  Up: Readline Init File
File: gdb.info,  Node: Readline Init File Syntax,  Next: Conditional Init Constructs,  Up: Readline Init File
Readline Init File Syntax
Readline Init File Syntax
-------------------------
-------------------------
   There are only a few basic constructs allowed in the Readline init
   There are only a few basic constructs allowed in the Readline init
file.  Blank lines are ignored.  Lines beginning with a `#' are
file.  Blank lines are ignored.  Lines beginning with a `#' are
comments.  Lines beginning with a `$' indicate conditional constructs
comments.  Lines beginning with a `$' indicate conditional constructs
(*note Conditional Init Constructs::).  Other lines denote variable
(*note Conditional Init Constructs::).  Other lines denote variable
settings and key bindings.
settings and key bindings.
Variable Settings
Variable Settings
     You can modify the run-time behavior of Readline by altering the
     You can modify the run-time behavior of Readline by altering the
     values of variables in Readline using the `set' command within the
     values of variables in Readline using the `set' command within the
     init file.  Here is how to change from the default Emacs-like key
     init file.  Here is how to change from the default Emacs-like key
     binding to use `vi' line editing commands:
     binding to use `vi' line editing commands:
          set editing-mode vi
          set editing-mode vi
     A great deal of run-time behavior is changeable with the following
     A great deal of run-time behavior is changeable with the following
     variables.
     variables.
    `bell-style'
    `bell-style'
          Controls what happens when Readline wants to ring the
          Controls what happens when Readline wants to ring the
          terminal bell.  If set to `none', Readline never rings the
          terminal bell.  If set to `none', Readline never rings the
          bell.  If set to `visible', Readline uses a visible bell if
          bell.  If set to `visible', Readline uses a visible bell if
          one is available.  If set to `audible' (the default),
          one is available.  If set to `audible' (the default),
          Readline attempts to ring the terminal's bell.
          Readline attempts to ring the terminal's bell.
    `comment-begin'
    `comment-begin'
          The string to insert at the beginning of the line when the
          The string to insert at the beginning of the line when the
          `insert-comment' command is executed.  The default value is
          `insert-comment' command is executed.  The default value is
          `"#"'.
          `"#"'.
    `completion-ignore-case'
    `completion-ignore-case'
          If set to `on', Readline performs filename matching and
          If set to `on', Readline performs filename matching and
          completion in a case-insensitive fashion.  The default value
          completion in a case-insensitive fashion.  The default value
          is `off'.
          is `off'.
    `completion-query-items'
    `completion-query-items'
          The number of possible completions that determines when the
          The number of possible completions that determines when the
          user is asked whether he wants to see the list of
          user is asked whether he wants to see the list of
          possibilities.  If the number of possible completions is
          possibilities.  If the number of possible completions is
          greater than this value, Readline will ask the user whether
          greater than this value, Readline will ask the user whether
          or not he wishes to view them; otherwise, they are simply
          or not he wishes to view them; otherwise, they are simply
          listed.  The default limit is `100'.
          listed.  The default limit is `100'.
    `convert-meta'
    `convert-meta'
          If set to `on', Readline will convert characters with the
          If set to `on', Readline will convert characters with the
          eighth bit set to an ASCII key sequence by stripping the
          eighth bit set to an ASCII key sequence by stripping the
          eighth bit and prepending an  character, converting them
          eighth bit and prepending an  character, converting them
          to a meta-prefixed key sequence.  The default value is `on'.
          to a meta-prefixed key sequence.  The default value is `on'.
    `disable-completion'
    `disable-completion'
          If set to `On', Readline will inhibit word completion.
          If set to `On', Readline will inhibit word completion.
          Completion  characters will be inserted into the line as if
          Completion  characters will be inserted into the line as if
          they had been mapped to `self-insert'.  The default is `off'.
          they had been mapped to `self-insert'.  The default is `off'.
    `editing-mode'
    `editing-mode'
          The `editing-mode' variable controls which default set of key
          The `editing-mode' variable controls which default set of key
          bindings is used.  By default, Readline starts up in Emacs
          bindings is used.  By default, Readline starts up in Emacs
          editing mode, where the keystrokes are most similar to Emacs.
          editing mode, where the keystrokes are most similar to Emacs.
          This variable can be set to either `emacs' or `vi'.
          This variable can be set to either `emacs' or `vi'.
    `enable-keypad'
    `enable-keypad'
          When set to `on', Readline will try to enable the application
          When set to `on', Readline will try to enable the application
          keypad when it is called.  Some systems need this to enable
          keypad when it is called.  Some systems need this to enable
          the arrow keys.  The default is `off'.
          the arrow keys.  The default is `off'.
    `expand-tilde'
    `expand-tilde'
          If set to `on', tilde expansion is performed when Readline
          If set to `on', tilde expansion is performed when Readline
          attempts word completion.  The default is `off'.
          attempts word completion.  The default is `off'.
    `horizontal-scroll-mode'
    `horizontal-scroll-mode'
          This variable can be set to either `on' or `off'.  Setting it
          This variable can be set to either `on' or `off'.  Setting it
          to `on' means that the text of the lines being edited will
          to `on' means that the text of the lines being edited will
          scroll horizontally on a single screen line when they are
          scroll horizontally on a single screen line when they are
          longer than the width of the screen, instead of wrapping onto
          longer than the width of the screen, instead of wrapping onto
          a new screen line.  By default, this variable is set to `off'.
          a new screen line.  By default, this variable is set to `off'.
    `input-meta'
    `input-meta'
          If set to `on', Readline will enable eight-bit input (it will
          If set to `on', Readline will enable eight-bit input (it will
          not strip the eighth bit from the characters it reads),
          not strip the eighth bit from the characters it reads),
          regardless of what the terminal claims it can support.  The
          regardless of what the terminal claims it can support.  The
          default value is `off'.  The name `meta-flag' is a synonym
          default value is `off'.  The name `meta-flag' is a synonym
          for this variable.
          for this variable.
    `isearch-terminators'
    `isearch-terminators'
          The string of characters that should terminate an incremental
          The string of characters that should terminate an incremental
          search without subsequently executing the character as a
          search without subsequently executing the character as a
          command (*note Searching::).  If this variable has not been
          command (*note Searching::).  If this variable has not been
          given a value, the characters  and  will terminate
          given a value, the characters  and  will terminate
          an incremental search.
          an incremental search.
    `keymap'
    `keymap'
          Sets Readline's idea of the current keymap for key binding
          Sets Readline's idea of the current keymap for key binding
          commands.  Acceptable `keymap' names are `emacs',
          commands.  Acceptable `keymap' names are `emacs',
          `emacs-standard', `emacs-meta', `emacs-ctlx', `vi',
          `emacs-standard', `emacs-meta', `emacs-ctlx', `vi',
          `vi-command', and `vi-insert'.  `vi' is equivalent to
          `vi-command', and `vi-insert'.  `vi' is equivalent to
          `vi-command'; `emacs' is equivalent to `emacs-standard'.  The
          `vi-command'; `emacs' is equivalent to `emacs-standard'.  The
          default value is `emacs'.  The value of the `editing-mode'
          default value is `emacs'.  The value of the `editing-mode'
          variable also affects the default keymap.
          variable also affects the default keymap.
    `mark-directories'
    `mark-directories'
          If set to `on', completed directory names have a slash
          If set to `on', completed directory names have a slash
          appended.  The default is `on'.
          appended.  The default is `on'.
    `mark-modified-lines'
    `mark-modified-lines'
          This variable, when set to `on', causes Readline to display an
          This variable, when set to `on', causes Readline to display an
          asterisk (`*') at the start of history lines which have been
          asterisk (`*') at the start of history lines which have been
          modified.  This variable is `off' by default.
          modified.  This variable is `off' by default.
    `output-meta'
    `output-meta'
          If set to `on', Readline will display characters with the
          If set to `on', Readline will display characters with the
          eighth bit set directly rather than as a meta-prefixed escape
          eighth bit set directly rather than as a meta-prefixed escape
          sequence.  The default is `off'.
          sequence.  The default is `off'.
    `print-completions-horizontally'
    `print-completions-horizontally'
          If set to `on', Readline will display completions with matches
          If set to `on', Readline will display completions with matches
          sorted horizontally in alphabetical order, rather than down
          sorted horizontally in alphabetical order, rather than down
          the screen.  The default is `off'.
          the screen.  The default is `off'.
    `show-all-if-ambiguous'
    `show-all-if-ambiguous'
          This alters the default behavior of the completion functions.
          This alters the default behavior of the completion functions.
          If set to `on', words which have more than one possible
          If set to `on', words which have more than one possible
          completion cause the matches to be listed immediately instead
          completion cause the matches to be listed immediately instead
          of ringing the bell.  The default value is `off'.
          of ringing the bell.  The default value is `off'.
    `visible-stats'
    `visible-stats'
          If set to `on', a character denoting a file's type is
          If set to `on', a character denoting a file's type is
          appended to the filename when listing possible completions.
          appended to the filename when listing possible completions.
          The default is `off'.
          The default is `off'.
Key Bindings
Key Bindings
     The syntax for controlling key bindings in the init file is
     The syntax for controlling key bindings in the init file is
     simple.  First you have to know the name of the command that you
     simple.  First you have to know the name of the command that you
     want to change.  The following sections contain tables of the
     want to change.  The following sections contain tables of the
     command name, the default keybinding, if any, and a short
     command name, the default keybinding, if any, and a short
     description of what the command does.
     description of what the command does.
     Once you know the name of the command, simply place the name of
     Once you know the name of the command, simply place the name of
     the key you wish to bind the command to, a colon, and then the
     the key you wish to bind the command to, a colon, and then the
     name of the command on a line in the init file.  The name of the
     name of the command on a line in the init file.  The name of the
     key can be expressed in different ways, depending on which is most
     key can be expressed in different ways, depending on which is most
     comfortable for you.
     comfortable for you.
    KEYNAME: FUNCTION-NAME or MACRO
    KEYNAME: FUNCTION-NAME or MACRO
          KEYNAME is the name of a key spelled out in English.  For
          KEYNAME is the name of a key spelled out in English.  For
          example:
          example:
               Control-u: universal-argument
               Control-u: universal-argument
               Meta-Rubout: backward-kill-word
               Meta-Rubout: backward-kill-word
               Control-o: "> output"
               Control-o: "> output"
          In the above example,  is bound to the function
          In the above example,  is bound to the function
          `universal-argument', and  is bound to run the macro
          `universal-argument', and  is bound to run the macro
          expressed on the right hand side (that is, to insert the text
          expressed on the right hand side (that is, to insert the text
          `> output' into the line).
          `> output' into the line).
    "KEYSEQ": FUNCTION-NAME or MACRO
    "KEYSEQ": FUNCTION-NAME or MACRO
          KEYSEQ differs from KEYNAME above in that strings denoting an
          KEYSEQ differs from KEYNAME above in that strings denoting an
          entire key sequence can be specified, by placing the key
          entire key sequence can be specified, by placing the key
          sequence in double quotes.  Some GNU Emacs style key escapes
          sequence in double quotes.  Some GNU Emacs style key escapes
          can be used, as in the following example, but the special
          can be used, as in the following example, but the special
          character names are not recognized.
          character names are not recognized.
               "\C-u": universal-argument
               "\C-u": universal-argument
               "\C-x\C-r": re-read-init-file
               "\C-x\C-r": re-read-init-file
               "\e[11~": "Function Key 1"
               "\e[11~": "Function Key 1"
          In the above example,  is bound to the function
          In the above example,  is bound to the function
          `universal-argument' (just as it was in the first example),
          `universal-argument' (just as it was in the first example),
          ` ' is bound to the function `re-read-init-file',
          ` ' is bound to the function `re-read-init-file',
          and ` <[> <1> <1> <~>' is bound to insert the text
          and ` <[> <1> <1> <~>' is bound to insert the text
          `Function Key 1'.
          `Function Key 1'.
     The following GNU Emacs style escape sequences are available when
     The following GNU Emacs style escape sequences are available when
     specifying key sequences:
     specifying key sequences:
    `\C-'
    `\C-'
          control prefix
          control prefix
    `\M-'
    `\M-'
          meta prefix
          meta prefix
    `\e'
    `\e'
          an escape character
          an escape character
    `\\'
    `\\'
          backslash
          backslash
    `\"'
    `\"'
          <">
          <">
    `\''
    `\''
          <'>
          <'>
     In addition to the GNU Emacs style escape sequences, a second set
     In addition to the GNU Emacs style escape sequences, a second set
     of backslash escapes is available:
     of backslash escapes is available:
    `\a'
    `\a'
          alert (bell)
          alert (bell)
    `\b'
    `\b'
          backspace
          backspace
    `\d'
    `\d'
          delete
          delete
    `\f'
    `\f'
          form feed
          form feed
    `\n'
    `\n'
          newline
          newline
    `\r'
    `\r'
          carriage return
          carriage return
    `\t'
    `\t'
          horizontal tab
          horizontal tab
    `\v'
    `\v'
          vertical tab
          vertical tab
    `\NNN'
    `\NNN'
          the character whose ASCII code is the octal value NNN (one to
          the character whose ASCII code is the octal value NNN (one to
          three digits)
          three digits)
    `\xNNN'
    `\xNNN'
          the character whose ASCII code is the hexadecimal value NNN
          the character whose ASCII code is the hexadecimal value NNN
          (one to three digits)
          (one to three digits)
     When entering the text of a macro, single or double quotes must be
     When entering the text of a macro, single or double quotes must be
     used to indicate a macro definition.  Unquoted text is assumed to
     used to indicate a macro definition.  Unquoted text is assumed to
     be a function name.  In the macro body, the backslash escapes
     be a function name.  In the macro body, the backslash escapes
     described above are expanded.  Backslash will quote any other
     described above are expanded.  Backslash will quote any other
     character in the macro text, including `"' and `''.  For example,
     character in the macro text, including `"' and `''.  For example,
     the following binding will make `C-x \' insert a single `\' into
     the following binding will make `C-x \' insert a single `\' into
     the line:
     the line:
          "\C-x\\": "\\"
          "\C-x\\": "\\"


File: gdb.info,  Node: Conditional Init Constructs,  Next: Sample Init File,  Prev: Readline Init File Syntax,  Up: Readline Init File
File: gdb.info,  Node: Conditional Init Constructs,  Next: Sample Init File,  Prev: Readline Init File Syntax,  Up: Readline Init File
Conditional Init Constructs
Conditional Init Constructs
---------------------------
---------------------------
   Readline implements a facility similar in spirit to the conditional
   Readline implements a facility similar in spirit to the conditional
compilation features of the C preprocessor which allows key bindings
compilation features of the C preprocessor which allows key bindings
and variable settings to be performed as the result of tests.  There
and variable settings to be performed as the result of tests.  There
are four parser directives used.
are four parser directives used.
`$if'
`$if'
     The `$if' construct allows bindings to be made based on the
     The `$if' construct allows bindings to be made based on the
     editing mode, the terminal being used, or the application using
     editing mode, the terminal being used, or the application using
     Readline.  The text of the test extends to the end of the line; no
     Readline.  The text of the test extends to the end of the line; no
     characters are required to isolate it.
     characters are required to isolate it.
    `mode'
    `mode'
          The `mode=' form of the `$if' directive is used to test
          The `mode=' form of the `$if' directive is used to test
          whether Readline is in `emacs' or `vi' mode.  This may be
          whether Readline is in `emacs' or `vi' mode.  This may be
          used in conjunction with the `set keymap' command, for
          used in conjunction with the `set keymap' command, for
          instance, to set bindings in the `emacs-standard' and
          instance, to set bindings in the `emacs-standard' and
          `emacs-ctlx' keymaps only if Readline is starting out in
          `emacs-ctlx' keymaps only if Readline is starting out in
          `emacs' mode.
          `emacs' mode.
    `term'
    `term'
          The `term=' form may be used to include terminal-specific key
          The `term=' form may be used to include terminal-specific key
          bindings, perhaps to bind the key sequences output by the
          bindings, perhaps to bind the key sequences output by the
          terminal's function keys.  The word on the right side of the
          terminal's function keys.  The word on the right side of the
          `=' is tested against both the full name of the terminal and
          `=' is tested against both the full name of the terminal and
          the portion of the terminal name before the first `-'.  This
          the portion of the terminal name before the first `-'.  This
          allows `sun' to match both `sun' and `sun-cmd', for instance.
          allows `sun' to match both `sun' and `sun-cmd', for instance.
    `application'
    `application'
          The APPLICATION construct is used to include
          The APPLICATION construct is used to include
          application-specific settings.  Each program using the
          application-specific settings.  Each program using the
          Readline library sets the APPLICATION NAME, and you can test
          Readline library sets the APPLICATION NAME, and you can test
          for it.  This could be used to bind key sequences to
          for it.  This could be used to bind key sequences to
          functions useful for a specific program.  For instance, the
          functions useful for a specific program.  For instance, the
          following command adds a key sequence that quotes the current
          following command adds a key sequence that quotes the current
          or previous word in Bash:
          or previous word in Bash:
               $if Bash
               $if Bash
               # Quote the current or previous word
               # Quote the current or previous word
               "\C-xq": "\eb\"\ef\""
               "\C-xq": "\eb\"\ef\""
               $endif
               $endif
`$endif'
`$endif'
     This command, as seen in the previous example, terminates an `$if'
     This command, as seen in the previous example, terminates an `$if'
     command.
     command.
`$else'
`$else'
     Commands in this branch of the `$if' directive are executed if the
     Commands in this branch of the `$if' directive are executed if the
     test fails.
     test fails.
`$include'
`$include'
     This directive takes a single filename as an argument and reads
     This directive takes a single filename as an argument and reads
     commands and bindings from that file.
     commands and bindings from that file.
          $include /etc/inputrc
          $include /etc/inputrc


File: gdb.info,  Node: Sample Init File,  Prev: Conditional Init Constructs,  Up: Readline Init File
File: gdb.info,  Node: Sample Init File,  Prev: Conditional Init Constructs,  Up: Readline Init File
Sample Init File
Sample Init File
----------------
----------------
   Here is an example of an inputrc file.  This illustrates key
   Here is an example of an inputrc file.  This illustrates key
binding, variable assignment, and conditional syntax.
binding, variable assignment, and conditional syntax.
     # This file controls the behaviour of line input editing for
     # This file controls the behaviour of line input editing for
     # programs that use the Gnu Readline library.  Existing programs
     # programs that use the Gnu Readline library.  Existing programs
     # include FTP, Bash, and Gdb.
     # include FTP, Bash, and Gdb.
     #
     #
     # You can re-read the inputrc file with C-x C-r.
     # You can re-read the inputrc file with C-x C-r.
     # Lines beginning with '#' are comments.
     # Lines beginning with '#' are comments.
     #
     #
     # First, include any systemwide bindings and variable assignments from
     # First, include any systemwide bindings and variable assignments from
     # /etc/Inputrc
     # /etc/Inputrc
     $include /etc/Inputrc
     $include /etc/Inputrc
     #
     #
     # Set various bindings for emacs mode.
     # Set various bindings for emacs mode.
     set editing-mode emacs
     set editing-mode emacs
     $if mode=emacs
     $if mode=emacs
     Meta-Control-h:    backward-kill-word      Text after the function name is ignored
     Meta-Control-h:    backward-kill-word      Text after the function name is ignored
     #
     #
     # Arrow keys in keypad mode
     # Arrow keys in keypad mode
     #
     #
     #"\M-OD":        backward-char
     #"\M-OD":        backward-char
     #"\M-OC":        forward-char
     #"\M-OC":        forward-char
     #"\M-OA":        previous-history
     #"\M-OA":        previous-history
     #"\M-OB":        next-history
     #"\M-OB":        next-history
     #
     #
     # Arrow keys in ANSI mode
     # Arrow keys in ANSI mode
     #
     #
     "\M-[D":        backward-char
     "\M-[D":        backward-char
     "\M-[C":        forward-char
     "\M-[C":        forward-char
     "\M-[A":        previous-history
     "\M-[A":        previous-history
     "\M-[B":        next-history
     "\M-[B":        next-history
     #
     #
     # Arrow keys in 8 bit keypad mode
     # Arrow keys in 8 bit keypad mode
     #
     #
     #"\M-\C-OD":       backward-char
     #"\M-\C-OD":       backward-char
     #"\M-\C-OC":       forward-char
     #"\M-\C-OC":       forward-char
     #"\M-\C-OA":       previous-history
     #"\M-\C-OA":       previous-history
     #"\M-\C-OB":       next-history
     #"\M-\C-OB":       next-history
     #
     #
     # Arrow keys in 8 bit ANSI mode
     # Arrow keys in 8 bit ANSI mode
     #
     #
     #"\M-\C-[D":       backward-char
     #"\M-\C-[D":       backward-char
     #"\M-\C-[C":       forward-char
     #"\M-\C-[C":       forward-char
     #"\M-\C-[A":       previous-history
     #"\M-\C-[A":       previous-history
     #"\M-\C-[B":       next-history
     #"\M-\C-[B":       next-history
     C-q: quoted-insert
     C-q: quoted-insert
     $endif
     $endif
     # An old-style binding.  This happens to be the default.
     # An old-style binding.  This happens to be the default.
     TAB: complete
     TAB: complete
     # Macros that are convenient for shell interaction
     # Macros that are convenient for shell interaction
     $if Bash
     $if Bash
     # edit the path
     # edit the path
     "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"
     "\C-xp": "PATH=${PATH}\e\C-e\C-a\ef\C-f"
     # prepare to type a quoted word -- insert open and close double quotes
     # prepare to type a quoted word -- insert open and close double quotes
     # and move to just after the open quote
     # and move to just after the open quote
     "\C-x\"": "\"\"\C-b"
     "\C-x\"": "\"\"\C-b"
     # insert a backslash (testing backslash escapes in sequences and macros)
     # insert a backslash (testing backslash escapes in sequences and macros)
     "\C-x\\": "\\"
     "\C-x\\": "\\"
     # Quote the current or previous word
     # Quote the current or previous word
     "\C-xq": "\eb\"\ef\""
     "\C-xq": "\eb\"\ef\""
     # Add a binding to refresh the line, which is unbound
     # Add a binding to refresh the line, which is unbound
     "\C-xr": redraw-current-line
     "\C-xr": redraw-current-line
     # Edit variable on current line.
     # Edit variable on current line.
     "\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
     "\M-\C-v": "\C-a\C-k$\C-y\M-\C-e\C-a\C-y="
     $endif
     $endif
     # use a visible bell if one is available
     # use a visible bell if one is available
     set bell-style visible
     set bell-style visible
     # don't strip characters to 7 bits when reading
     # don't strip characters to 7 bits when reading
     set input-meta on
     set input-meta on
     # allow iso-latin1 characters to be inserted rather than converted to
     # allow iso-latin1 characters to be inserted rather than converted to
     # prefix-meta sequences
     # prefix-meta sequences
     set convert-meta off
     set convert-meta off
     # display characters with the eighth bit set directly rather than
     # display characters with the eighth bit set directly rather than
     # as meta-prefixed characters
     # as meta-prefixed characters
     set output-meta on
     set output-meta on
     # if there are more than 150 possible completions for a word, ask the
     # if there are more than 150 possible completions for a word, ask the
     # user if he wants to see all of them
     # user if he wants to see all of them
     set completion-query-items 150
     set completion-query-items 150
     # For FTP
     # For FTP
     $if Ftp
     $if Ftp
     "\C-xg": "get \M-?"
     "\C-xg": "get \M-?"
     "\C-xt": "put \M-?"
     "\C-xt": "put \M-?"
     "\M-.": yank-last-arg
     "\M-.": yank-last-arg
     $endif
     $endif


File: gdb.info,  Node: Bindable Readline Commands,  Next: Readline vi Mode,  Prev: Readline Init File,  Up: Command Line Editing
File: gdb.info,  Node: Bindable Readline Commands,  Next: Readline vi Mode,  Prev: Readline Init File,  Up: Command Line Editing
Bindable Readline Commands
Bindable Readline Commands
==========================
==========================
* Menu:
* Menu:
* Commands For Moving::         Moving about the line.
* Commands For Moving::         Moving about the line.
* Commands For History::        Getting at previous lines.
* Commands For History::        Getting at previous lines.
* Commands For Text::           Commands for changing text.
* Commands For Text::           Commands for changing text.
* Commands For Killing::        Commands for killing and yanking.
* Commands For Killing::        Commands for killing and yanking.
* Numeric Arguments::           Specifying numeric arguments, repeat counts.
* Numeric Arguments::           Specifying numeric arguments, repeat counts.
* Commands For Completion::     Getting Readline to do the typing for you.
* Commands For Completion::     Getting Readline to do the typing for you.
* Keyboard Macros::             Saving and re-executing typed characters
* Keyboard Macros::             Saving and re-executing typed characters
* Miscellaneous Commands::      Other miscellaneous commands.
* Miscellaneous Commands::      Other miscellaneous commands.
   This section describes Readline commands that may be bound to key
   This section describes Readline commands that may be bound to key
sequences.
sequences.


File: gdb.info,  Node: Commands For Moving,  Next: Commands For History,  Up: Bindable Readline Commands
File: gdb.info,  Node: Commands For Moving,  Next: Commands For History,  Up: Bindable Readline Commands
Commands For Moving
Commands For Moving
-------------------
-------------------
`beginning-of-line (C-a)'
`beginning-of-line (C-a)'
     Move to the start of the current line.
     Move to the start of the current line.
`end-of-line (C-e)'
`end-of-line (C-e)'
     Move to the end of the line.
     Move to the end of the line.
`forward-char (C-f)'
`forward-char (C-f)'
     Move forward a character.
     Move forward a character.
`backward-char (C-b)'
`backward-char (C-b)'
     Move back a character.
     Move back a character.
`forward-word (M-f)'
`forward-word (M-f)'
     Move forward to the end of the next word.  Words are composed of
     Move forward to the end of the next word.  Words are composed of
     letters and digits.
     letters and digits.
`backward-word (M-b)'
`backward-word (M-b)'
     Move back to the start of this, or the previous, word.  Words are
     Move back to the start of this, or the previous, word.  Words are
     composed of letters and digits.
     composed of letters and digits.
`clear-screen (C-l)'
`clear-screen (C-l)'
     Clear the screen and redraw the current line, leaving the current
     Clear the screen and redraw the current line, leaving the current
     line at the top of the screen.
     line at the top of the screen.
`redraw-current-line ()'
`redraw-current-line ()'
     Refresh the current line.  By default, this is unbound.
     Refresh the current line.  By default, this is unbound.


File: gdb.info,  Node: Commands For History,  Next: Commands For Text,  Prev: Commands For Moving,  Up: Bindable Readline Commands
File: gdb.info,  Node: Commands For History,  Next: Commands For Text,  Prev: Commands For Moving,  Up: Bindable Readline Commands
Commands For Manipulating The History
Commands For Manipulating The History
-------------------------------------
-------------------------------------
`accept-line (Newline, Return)'
`accept-line (Newline, Return)'
     Accept the line regardless of where the cursor is.  If this line is
     Accept the line regardless of where the cursor is.  If this line is
     non-empty, add it to the history list.  If this line was a history
     non-empty, add it to the history list.  If this line was a history
     line, then restore the history line to its original state.
     line, then restore the history line to its original state.
`previous-history (C-p)'
`previous-history (C-p)'
     Move `up' through the history list.
     Move `up' through the history list.
`next-history (C-n)'
`next-history (C-n)'
     Move `down' through the history list.
     Move `down' through the history list.
`beginning-of-history (M-<)'
`beginning-of-history (M-<)'
     Move to the first line in the history.
     Move to the first line in the history.
`end-of-history (M->)'
`end-of-history (M->)'
     Move to the end of the input history, i.e., the line currently
     Move to the end of the input history, i.e., the line currently
     being entered.
     being entered.
`reverse-search-history (C-r)'
`reverse-search-history (C-r)'
     Search backward starting at the current line and moving `up'
     Search backward starting at the current line and moving `up'
     through the history as necessary.  This is an incremental search.
     through the history as necessary.  This is an incremental search.
`forward-search-history (C-s)'
`forward-search-history (C-s)'
     Search forward starting at the current line and moving `down'
     Search forward starting at the current line and moving `down'
     through the the history as necessary.  This is an incremental
     through the the history as necessary.  This is an incremental
     search.
     search.
`non-incremental-reverse-search-history (M-p)'
`non-incremental-reverse-search-history (M-p)'
     Search backward starting at the current line and moving `up'
     Search backward starting at the current line and moving `up'
     through the history as necessary using a non-incremental search
     through the history as necessary using a non-incremental search
     for a string supplied by the user.
     for a string supplied by the user.
`non-incremental-forward-search-history (M-n)'
`non-incremental-forward-search-history (M-n)'
     Search forward starting at the current line and moving `down'
     Search forward starting at the current line and moving `down'
     through the the history as necessary using a non-incremental search
     through the the history as necessary using a non-incremental search
     for a string supplied by the user.
     for a string supplied by the user.
`history-search-forward ()'
`history-search-forward ()'
     Search forward through the history for the string of characters
     Search forward through the history for the string of characters
     between the start of the current line and the current cursor
     between the start of the current line and the current cursor
     position (the POINT).  This is a non-incremental search.  By
     position (the POINT).  This is a non-incremental search.  By
     default, this command is unbound.
     default, this command is unbound.
`history-search-backward ()'
`history-search-backward ()'
     Search backward through the history for the string of characters
     Search backward through the history for the string of characters
     between the start of the current line and the point.  This is a
     between the start of the current line and the point.  This is a
     non-incremental search.  By default, this command is unbound.
     non-incremental search.  By default, this command is unbound.
`yank-nth-arg (M-C-y)'
`yank-nth-arg (M-C-y)'
     Insert the first argument to the previous command (usually the
     Insert the first argument to the previous command (usually the
     second word on the previous line).  With an argument N, insert the
     second word on the previous line).  With an argument N, insert the
     Nth word from the previous command (the words in the previous
     Nth word from the previous command (the words in the previous
     command begin with word 0).  A negative argument inserts the Nth
     command begin with word 0).  A negative argument inserts the Nth
     word from the end of the previous command.
     word from the end of the previous command.
`yank-last-arg (M-., M-_)'
`yank-last-arg (M-., M-_)'
     Insert last argument to the previous command (the last word of the
     Insert last argument to the previous command (the last word of the
     previous history entry).  With an argument, behave exactly like
     previous history entry).  With an argument, behave exactly like
     `yank-nth-arg'.  Successive calls to `yank-last-arg' move back
     `yank-nth-arg'.  Successive calls to `yank-last-arg' move back
     through the history list, inserting the last argument of each line
     through the history list, inserting the last argument of each line
     in turn.
     in turn.


File: gdb.info,  Node: Commands For Text,  Next: Commands For Killing,  Prev: Commands For History,  Up: Bindable Readline Commands
File: gdb.info,  Node: Commands For Text,  Next: Commands For Killing,  Prev: Commands For History,  Up: Bindable Readline Commands
Commands For Changing Text
Commands For Changing Text
--------------------------
--------------------------
`delete-char (C-d)'
`delete-char (C-d)'
     Delete the character under the cursor.  If the cursor is at the
     Delete the character under the cursor.  If the cursor is at the
     beginning of the line, there are no characters in the line, and
     beginning of the line, there are no characters in the line, and
     the last character typed was not bound to `delete-char', then
     the last character typed was not bound to `delete-char', then
     return `EOF'.
     return `EOF'.
`backward-delete-char (Rubout)'
`backward-delete-char (Rubout)'
     Delete the character behind the cursor.  A numeric argument means
     Delete the character behind the cursor.  A numeric argument means
     to kill the characters instead of deleting them.
     to kill the characters instead of deleting them.
`forward-backward-delete-char ()'
`forward-backward-delete-char ()'
     Delete the character under the cursor, unless the cursor is at the
     Delete the character under the cursor, unless the cursor is at the
     end of the line, in which case the character behind the cursor is
     end of the line, in which case the character behind the cursor is
     deleted.  By default, this is not bound to a key.
     deleted.  By default, this is not bound to a key.
`quoted-insert (C-q, C-v)'
`quoted-insert (C-q, C-v)'
     Add the next character typed to the line verbatim.  This is how to
     Add the next character typed to the line verbatim.  This is how to
     insert key sequences like , for example.
     insert key sequences like , for example.
`tab-insert (M-TAB)'
`tab-insert (M-TAB)'
     Insert a tab character.
     Insert a tab character.
`self-insert (a, b, A, 1, !, ...)'
`self-insert (a, b, A, 1, !, ...)'
     Insert yourself.
     Insert yourself.
`transpose-chars (C-t)'
`transpose-chars (C-t)'
     Drag the character before the cursor forward over the character at
     Drag the character before the cursor forward over the character at
     the cursor, moving the cursor forward as well.  If the insertion
     the cursor, moving the cursor forward as well.  If the insertion
     point is at the end of the line, then this transposes the last two
     point is at the end of the line, then this transposes the last two
     characters of the line.  Negative arguments don't work.
     characters of the line.  Negative arguments don't work.
`transpose-words (M-t)'
`transpose-words (M-t)'
     Drag the word behind the cursor past the word in front of the
     Drag the word behind the cursor past the word in front of the
     cursor moving the cursor over that word as well.
     cursor moving the cursor over that word as well.
`upcase-word (M-u)'
`upcase-word (M-u)'
     Uppercase the current (or following) word.  With a negative
     Uppercase the current (or following) word.  With a negative
     argument, uppercase the previous word, but do not move the cursor.
     argument, uppercase the previous word, but do not move the cursor.
`downcase-word (M-l)'
`downcase-word (M-l)'
     Lowercase the current (or following) word.  With a negative
     Lowercase the current (or following) word.  With a negative
     argument, lowercase the previous word, but do not move the cursor.
     argument, lowercase the previous word, but do not move the cursor.
`capitalize-word (M-c)'
`capitalize-word (M-c)'
     Capitalize the current (or following) word.  With a negative
     Capitalize the current (or following) word.  With a negative
     argument, capitalize the previous word, but do not move the cursor.
     argument, capitalize the previous word, but do not move the cursor.


File: gdb.info,  Node: Commands For Killing,  Next: Numeric Arguments,  Prev: Commands For Text,  Up: Bindable Readline Commands
File: gdb.info,  Node: Commands For Killing,  Next: Numeric Arguments,  Prev: Commands For Text,  Up: Bindable Readline Commands
Killing And Yanking
Killing And Yanking
-------------------
-------------------
`kill-line (C-k)'
`kill-line (C-k)'
     Kill the text from the current cursor position to the end of the
     Kill the text from the current cursor position to the end of the
     line.
     line.
`backward-kill-line (C-x Rubout)'
`backward-kill-line (C-x Rubout)'
     Kill backward to the beginning of the line.
     Kill backward to the beginning of the line.
`unix-line-discard (C-u)'
`unix-line-discard (C-u)'
     Kill backward from the cursor to the beginning of the current line.
     Kill backward from the cursor to the beginning of the current line.
     The killed text is saved on the kill-ring.
     The killed text is saved on the kill-ring.
`kill-whole-line ()'
`kill-whole-line ()'
     Kill all characters on the current line, no matter where the
     Kill all characters on the current line, no matter where the
     cursor is.  By default, this is unbound.
     cursor is.  By default, this is unbound.
`kill-word (M-d)'
`kill-word (M-d)'
     Kill from the cursor to the end of the current word, or if between
     Kill from the cursor to the end of the current word, or if between
     words, to the end of the next word.  Word boundaries are the same
     words, to the end of the next word.  Word boundaries are the same
     as `forward-word'.
     as `forward-word'.
`backward-kill-word (M-DEL)'
`backward-kill-word (M-DEL)'
     Kill the word behind the cursor.  Word boundaries are the same as
     Kill the word behind the cursor.  Word boundaries are the same as
     `backward-word'.
     `backward-word'.
`unix-word-rubout (C-w)'
`unix-word-rubout (C-w)'
     Kill the word behind the cursor, using white space as a word
     Kill the word behind the cursor, using white space as a word
     boundary.  The killed text is saved on the kill-ring.
     boundary.  The killed text is saved on the kill-ring.
`delete-horizontal-space ()'
`delete-horizontal-space ()'
     Delete all spaces and tabs around point.  By default, this is
     Delete all spaces and tabs around point.  By default, this is
     unbound.
     unbound.
`kill-region ()'
`kill-region ()'
     Kill the text between the point and the _mark_ (saved cursor
     Kill the text between the point and the _mark_ (saved cursor
     position).  This text is referred to as the REGION.  By default,
     position).  This text is referred to as the REGION.  By default,
     this command is unbound.
     this command is unbound.
`copy-region-as-kill ()'
`copy-region-as-kill ()'
     Copy the text in the region to the kill buffer, so it can be yanked
     Copy the text in the region to the kill buffer, so it can be yanked
     right away.  By default, this command is unbound.
     right away.  By default, this command is unbound.
`copy-backward-word ()'
`copy-backward-word ()'
     Copy the word before point to the kill buffer.  The word
     Copy the word before point to the kill buffer.  The word
     boundaries are the same as `backward-word'.  By default, this
     boundaries are the same as `backward-word'.  By default, this
     command is unbound.
     command is unbound.
`copy-forward-word ()'
`copy-forward-word ()'
     Copy the word following point to the kill buffer.  The word
     Copy the word following point to the kill buffer.  The word
     boundaries are the same as `forward-word'.  By default, this
     boundaries are the same as `forward-word'.  By default, this
     command is unbound.
     command is unbound.
`yank (C-y)'
`yank (C-y)'
     Yank the top of the kill ring into the buffer at the current
     Yank the top of the kill ring into the buffer at the current
     cursor position.
     cursor position.
`yank-pop (M-y)'
`yank-pop (M-y)'
     Rotate the kill-ring, and yank the new top.  You can only do this
     Rotate the kill-ring, and yank the new top.  You can only do this
     if the prior command is yank or yank-pop.
     if the prior command is yank or yank-pop.


File: gdb.info,  Node: Numeric Arguments,  Next: Commands For Completion,  Prev: Commands For Killing,  Up: Bindable Readline Commands
File: gdb.info,  Node: Numeric Arguments,  Next: Commands For Completion,  Prev: Commands For Killing,  Up: Bindable Readline Commands
Specifying Numeric Arguments
Specifying Numeric Arguments
----------------------------
----------------------------
`digit-argument (M-0, M-1, ... M--)'
`digit-argument (M-0, M-1, ... M--)'
     Add this digit to the argument already accumulating, or start a new
     Add this digit to the argument already accumulating, or start a new
     argument.   starts a negative argument.
     argument.   starts a negative argument.
`universal-argument ()'
`universal-argument ()'
     This is another way to specify an argument.  If this command is
     This is another way to specify an argument.  If this command is
     followed by one or more digits, optionally with a leading minus
     followed by one or more digits, optionally with a leading minus
     sign, those digits define the argument.  If the command is
     sign, those digits define the argument.  If the command is
     followed by digits, executing `universal-argument' again ends the
     followed by digits, executing `universal-argument' again ends the
     numeric argument, but is otherwise ignored.  As a special case, if
     numeric argument, but is otherwise ignored.  As a special case, if
     this command is immediately followed by a character that is
     this command is immediately followed by a character that is
     neither a digit or minus sign, the argument count for the next
     neither a digit or minus sign, the argument count for the next
     command is multiplied by four.  The argument count is initially
     command is multiplied by four.  The argument count is initially
     one, so executing this function the first time makes the argument
     one, so executing this function the first time makes the argument
     count four, a second time makes the argument count sixteen, and so
     count four, a second time makes the argument count sixteen, and so
     on.  By default, this is not bound to a key.
     on.  By default, this is not bound to a key.


File: gdb.info,  Node: Commands For Completion,  Next: Keyboard Macros,  Prev: Numeric Arguments,  Up: Bindable Readline Commands
File: gdb.info,  Node: Commands For Completion,  Next: Keyboard Macros,  Prev: Numeric Arguments,  Up: Bindable Readline Commands
Letting Readline Type For You
Letting Readline Type For You
-----------------------------
-----------------------------
`complete (TAB)'
`complete (TAB)'
     Attempt to do completion on the text before the cursor.  This is
     Attempt to do completion on the text before the cursor.  This is
     application-specific.  Generally, if you are typing a filename
     application-specific.  Generally, if you are typing a filename
     argument, you can do filename completion; if you are typing a
     argument, you can do filename completion; if you are typing a
     command, you can do command completion; if you are typing in a
     command, you can do command completion; if you are typing in a
     symbol to GDB, you can do symbol name completion; if you are
     symbol to GDB, you can do symbol name completion; if you are
     typing in a variable to Bash, you can do variable name completion,
     typing in a variable to Bash, you can do variable name completion,
     and so on.
     and so on.
`possible-completions (M-?)'
`possible-completions (M-?)'
     List the possible completions of the text before the cursor.
     List the possible completions of the text before the cursor.
`insert-completions (M-*)'
`insert-completions (M-*)'
     Insert all completions of the text before point that would have
     Insert all completions of the text before point that would have
     been generated by `possible-completions'.
     been generated by `possible-completions'.
`menu-complete ()'
`menu-complete ()'
     Similar to `complete', but replaces the word to be completed with
     Similar to `complete', but replaces the word to be completed with
     a single match from the list of possible completions.  Repeated
     a single match from the list of possible completions.  Repeated
     execution of `menu-complete' steps through the list of possible
     execution of `menu-complete' steps through the list of possible
     completions, inserting each match in turn.  At the end of the list
     completions, inserting each match in turn.  At the end of the list
     of completions, the bell is rung and the original text is restored.
     of completions, the bell is rung and the original text is restored.
     An argument of N moves N positions forward in the list of matches;
     An argument of N moves N positions forward in the list of matches;
     a negative argument may be used to move backward through the list.
     a negative argument may be used to move backward through the list.
     This command is intended to be bound to `TAB', but is unbound by
     This command is intended to be bound to `TAB', but is unbound by
     default.
     default.
`delete-char-or-list ()'
`delete-char-or-list ()'
     Deletes the character under the cursor if not at the beginning or
     Deletes the character under the cursor if not at the beginning or
     end of the line (like `delete-char').  If at the end of the line,
     end of the line (like `delete-char').  If at the end of the line,
     behaves identically to `possible-completions'.  This command is
     behaves identically to `possible-completions'.  This command is
     unbound by default.
     unbound by default.


File: gdb.info,  Node: Keyboard Macros,  Next: Miscellaneous Commands,  Prev: Commands For Completion,  Up: Bindable Readline Commands
File: gdb.info,  Node: Keyboard Macros,  Next: Miscellaneous Commands,  Prev: Commands For Completion,  Up: Bindable Readline Commands
Keyboard Macros
Keyboard Macros
---------------
---------------
`start-kbd-macro (C-x ()'
`start-kbd-macro (C-x ()'
     Begin saving the characters typed into the current keyboard macro.
     Begin saving the characters typed into the current keyboard macro.
`end-kbd-macro (C-x ))'
`end-kbd-macro (C-x ))'
     Stop saving the characters typed into the current keyboard macro
     Stop saving the characters typed into the current keyboard macro
     and save the definition.
     and save the definition.
`call-last-kbd-macro (C-x e)'
`call-last-kbd-macro (C-x e)'
     Re-execute the last keyboard macro defined, by making the
     Re-execute the last keyboard macro defined, by making the
     characters in the macro appear as if typed at the keyboard.
     characters in the macro appear as if typed at the keyboard.


File: gdb.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up: Bindable Readline Commands
File: gdb.info,  Node: Miscellaneous Commands,  Prev: Keyboard Macros,  Up: Bindable Readline Commands
Some Miscellaneous Commands
Some Miscellaneous Commands
---------------------------
---------------------------
`re-read-init-file (C-x C-r)'
`re-read-init-file (C-x C-r)'
     Read in the contents of the inputrc file, and incorporate any
     Read in the contents of the inputrc file, and incorporate any
     bindings or variable assignments found there.
     bindings or variable assignments found there.
`abort (C-g)'
`abort (C-g)'
     Abort the current editing command and ring the terminal's bell
     Abort the current editing command and ring the terminal's bell
     (subject to the setting of `bell-style').
     (subject to the setting of `bell-style').
`do-uppercase-version (M-a, M-b, M-X, ...)'
`do-uppercase-version (M-a, M-b, M-X, ...)'
     If the metafied character X is lowercase, run the command that is
     If the metafied character X is lowercase, run the command that is
     bound to the corresponding uppercase character.
     bound to the corresponding uppercase character.
`prefix-meta (ESC)'
`prefix-meta (ESC)'
     Make the next character typed be metafied.  This is for keyboards
     Make the next character typed be metafied.  This is for keyboards
     without a meta key.  Typing `ESC f' is equivalent to typing `M-f'.
     without a meta key.  Typing `ESC f' is equivalent to typing `M-f'.
`undo (C-_, C-x C-u)'
`undo (C-_, C-x C-u)'
     Incremental undo, separately remembered for each line.
     Incremental undo, separately remembered for each line.
`revert-line (M-r)'
`revert-line (M-r)'
     Undo all changes made to this line.  This is like executing the
     Undo all changes made to this line.  This is like executing the
     `undo' command enough times to get back to the beginning.
     `undo' command enough times to get back to the beginning.
`tilde-expand (M-~)'
`tilde-expand (M-~)'
     Perform tilde expansion on the current word.
     Perform tilde expansion on the current word.
`set-mark (C-@)'
`set-mark (C-@)'
     Set the mark to the current point.  If a numeric argument is
     Set the mark to the current point.  If a numeric argument is
     supplied, the mark is set to that position.
     supplied, the mark is set to that position.
`exchange-point-and-mark (C-x C-x)'
`exchange-point-and-mark (C-x C-x)'
     Swap the point with the mark.  The current cursor position is set
     Swap the point with the mark.  The current cursor position is set
     to the saved position, and the old cursor position is saved as the
     to the saved position, and the old cursor position is saved as the
     mark.
     mark.
`character-search (C-])'
`character-search (C-])'
     A character is read and point is moved to the next occurrence of
     A character is read and point is moved to the next occurrence of
     that character.  A negative count searches for previous
     that character.  A negative count searches for previous
     occurrences.
     occurrences.
`character-search-backward (M-C-])'
`character-search-backward (M-C-])'
     A character is read and point is moved to the previous occurrence
     A character is read and point is moved to the previous occurrence
     of that character.  A negative count searches for subsequent
     of that character.  A negative count searches for subsequent
     occurrences.
     occurrences.
`insert-comment (M-#)'
`insert-comment (M-#)'
     The value of the `comment-begin' variable is inserted at the
     The value of the `comment-begin' variable is inserted at the
     beginning of the current line, and the line is accepted as if a
     beginning of the current line, and the line is accepted as if a
     newline had been typed.
     newline had been typed.
`dump-functions ()'
`dump-functions ()'
     Print all of the functions and their key bindings to the Readline
     Print all of the functions and their key bindings to the Readline
     output stream.  If a numeric argument is supplied, the output is
     output stream.  If a numeric argument is supplied, the output is
     formatted in such a way that it can be made part of an INPUTRC
     formatted in such a way that it can be made part of an INPUTRC
     file.  This command is unbound by default.
     file.  This command is unbound by default.
`dump-variables ()'
`dump-variables ()'
     Print all of the settable variables and their values to the
     Print all of the settable variables and their values to the
     Readline output stream.  If a numeric argument is supplied, the
     Readline output stream.  If a numeric argument is supplied, the
     output is formatted in such a way that it can be made part of an
     output is formatted in such a way that it can be made part of an
     INPUTRC file.  This command is unbound by default.
     INPUTRC file.  This command is unbound by default.
`dump-macros ()'
`dump-macros ()'
     Print all of the Readline key sequences bound to macros and the
     Print all of the Readline key sequences bound to macros and the
     strings they ouput.  If a numeric argument is supplied, the output
     strings they ouput.  If a numeric argument is supplied, the output
     is formatted in such a way that it can be made part of an INPUTRC
     is formatted in such a way that it can be made part of an INPUTRC
     file.  This command is unbound by default.
     file.  This command is unbound by default.


File: gdb.info,  Node: Readline vi Mode,  Prev: Bindable Readline Commands,  Up: Command Line Editing
File: gdb.info,  Node: Readline vi Mode,  Prev: Bindable Readline Commands,  Up: Command Line Editing
Readline vi Mode
Readline vi Mode
================
================
   While the Readline library does not have a full set of `vi' editing
   While the Readline library does not have a full set of `vi' editing
functions, it does contain enough to allow simple editing of the line.
functions, it does contain enough to allow simple editing of the line.
The Readline `vi' mode behaves as specified in the POSIX 1003.2
The Readline `vi' mode behaves as specified in the POSIX 1003.2
standard.
standard.
   In order to switch interactively between `emacs' and `vi' editing
   In order to switch interactively between `emacs' and `vi' editing
modes, use the command M-C-j (toggle-editing-mode).  The Readline
modes, use the command M-C-j (toggle-editing-mode).  The Readline
default is `emacs' mode.
default is `emacs' mode.
   When you enter a line in `vi' mode, you are already placed in
   When you enter a line in `vi' mode, you are already placed in
`insertion' mode, as if you had typed an `i'.  Pressing  switches
`insertion' mode, as if you had typed an `i'.  Pressing  switches
you into `command' mode, where you can edit the text of the line with
you into `command' mode, where you can edit the text of the line with
the standard `vi' movement keys, move to previous history lines with
the standard `vi' movement keys, move to previous history lines with
`k' and subsequent lines with `j', and so forth.
`k' and subsequent lines with `j', and so forth.


File: gdb.info,  Node: Using History Interactively,  Next: Installing GDB,  Prev: Command Line Editing,  Up: Top
File: gdb.info,  Node: Using History Interactively,  Next: Installing GDB,  Prev: Command Line Editing,  Up: Top
Using History Interactively
Using History Interactively
***************************
***************************
   This chapter describes how to use the GNU History Library
   This chapter describes how to use the GNU History Library
interactively, from a user's standpoint.  It should be considered a
interactively, from a user's standpoint.  It should be considered a
user's guide.
user's guide.
* Menu:
* Menu:
* History Interaction::         What it feels like using History as a user.
* History Interaction::         What it feels like using History as a user.


File: gdb.info,  Node: History Interaction,  Up: Using History Interactively
File: gdb.info,  Node: History Interaction,  Up: Using History Interactively
History Expansion
History Expansion
=================
=================
   The History library provides a history expansion feature that is
   The History library provides a history expansion feature that is
similar to the history expansion provided by `csh'.  This section
similar to the history expansion provided by `csh'.  This section
describes the syntax used to manipulate the history information.
describes the syntax used to manipulate the history information.
   History expansions introduce words from the history list into the
   History expansions introduce words from the history list into the
input stream, making it easy to repeat commands, insert the arguments
input stream, making it easy to repeat commands, insert the arguments
to a previous command into the current input line, or fix errors in
to a previous command into the current input line, or fix errors in
previous commands quickly.
previous commands quickly.
   History expansion takes place in two parts.  The first is to
   History expansion takes place in two parts.  The first is to
determine which line from the history list should be used during
determine which line from the history list should be used during
substitution.  The second is to select portions of that line for
substitution.  The second is to select portions of that line for
inclusion into the current one.  The line selected from the history is
inclusion into the current one.  The line selected from the history is
called the "event", and the portions of that line that are acted upon
called the "event", and the portions of that line that are acted upon
are called "words".  Various "modifiers" are available to manipulate
are called "words".  Various "modifiers" are available to manipulate
the selected words.  The line is broken into words in the same fashion
the selected words.  The line is broken into words in the same fashion
that Bash does, so that several words surrounded by quotes are
that Bash does, so that several words surrounded by quotes are
considered one word.  History expansions are introduced by the
considered one word.  History expansions are introduced by the
appearance of the history expansion character, which is `!' by default.
appearance of the history expansion character, which is `!' by default.
* Menu:
* Menu:
* Event Designators::   How to specify which history line to use.
* Event Designators::   How to specify which history line to use.
* Word Designators::    Specifying which words are of interest.
* Word Designators::    Specifying which words are of interest.
* Modifiers::           Modifying the results of substitution.
* Modifiers::           Modifying the results of substitution.


File: gdb.info,  Node: Event Designators,  Next: Word Designators,  Up: History Interaction
File: gdb.info,  Node: Event Designators,  Next: Word Designators,  Up: History Interaction
Event Designators
Event Designators
-----------------
-----------------
   An event designator is a reference to a command line entry in the
   An event designator is a reference to a command line entry in the
history list.
history list.
`!'
`!'
     Start a history substitution, except when followed by a space, tab,
     Start a history substitution, except when followed by a space, tab,
     the end of the line, `=' or `('.
     the end of the line, `=' or `('.
`!N'
`!N'
     Refer to command line N.
     Refer to command line N.
`!-N'
`!-N'
     Refer to the command N lines back.
     Refer to the command N lines back.
`!!'
`!!'
     Refer to the previous command.  This is a synonym for `!-1'.
     Refer to the previous command.  This is a synonym for `!-1'.
`!STRING'
`!STRING'
     Refer to the most recent command starting with STRING.
     Refer to the most recent command starting with STRING.
`!?STRING[?]'
`!?STRING[?]'
     Refer to the most recent command containing STRING.  The trailing
     Refer to the most recent command containing STRING.  The trailing
     `?' may be omitted if the STRING is followed immediately by a
     `?' may be omitted if the STRING is followed immediately by a
     newline.
     newline.
`^STRING1^STRING2^'
`^STRING1^STRING2^'
     Quick Substitution.  Repeat the last command, replacing STRING1
     Quick Substitution.  Repeat the last command, replacing STRING1
     with STRING2.  Equivalent to `!!:s/STRING1/STRING2/'.
     with STRING2.  Equivalent to `!!:s/STRING1/STRING2/'.
`!#'
`!#'
     The entire command line typed so far.
     The entire command line typed so far.


File: gdb.info,  Node: Word Designators,  Next: Modifiers,  Prev: Event Designators,  Up: History Interaction
File: gdb.info,  Node: Word Designators,  Next: Modifiers,  Prev: Event Designators,  Up: History Interaction
Word Designators
Word Designators
----------------
----------------
   Word designators are used to select desired words from the event.  A
   Word designators are used to select desired words from the event.  A
`:' separates the event specification from the word designator.  It may
`:' separates the event specification from the word designator.  It may
be omitted if the word designator begins with a `^', `$', `*', `-', or
be omitted if the word designator begins with a `^', `$', `*', `-', or
`%'.  Words are numbered from the beginning of the line, with the first
`%'.  Words are numbered from the beginning of the line, with the first
word being denoted by 0 (zero).  Words are inserted into the current
word being denoted by 0 (zero).  Words are inserted into the current
line separated by single spaces.
line separated by single spaces.
`0 (zero)'
`0 (zero)'
     The `0'th word.  For many applications, this is the command word.
     The `0'th word.  For many applications, this is the command word.
`N'
`N'
     The Nth word.
     The Nth word.
`^'
`^'
     The first argument; that is, word 1.
     The first argument; that is, word 1.
`$'
`$'
     The last argument.
     The last argument.
`%'
`%'
     The word matched by the most recent `?STRING?' search.
     The word matched by the most recent `?STRING?' search.
`X-Y'
`X-Y'
     A range of words; `-Y' abbreviates `0-Y'.
     A range of words; `-Y' abbreviates `0-Y'.
`*'
`*'
     All of the words, except the `0'th.  This is a synonym for `1-$'.
     All of the words, except the `0'th.  This is a synonym for `1-$'.
     It is not an error to use `*' if there is just one word in the
     It is not an error to use `*' if there is just one word in the
     event; the empty string is returned in that case.
     event; the empty string is returned in that case.
`X*'
`X*'
     Abbreviates `X-$'
     Abbreviates `X-$'
`X-'
`X-'
     Abbreviates `X-$' like `X*', but omits the last word.
     Abbreviates `X-$' like `X*', but omits the last word.
   If a word designator is supplied without an event specification, the
   If a word designator is supplied without an event specification, the
previous command is used as the event.
previous command is used as the event.


File: gdb.info,  Node: Modifiers,  Prev: Word Designators,  Up: History Interaction
File: gdb.info,  Node: Modifiers,  Prev: Word Designators,  Up: History Interaction
Modifiers
Modifiers
---------
---------
   After the optional word designator, you can add a sequence of one or
   After the optional word designator, you can add a sequence of one or
more of the following modifiers, each preceded by a `:'.
more of the following modifiers, each preceded by a `:'.
`h'
`h'
     Remove a trailing pathname component, leaving only the head.
     Remove a trailing pathname component, leaving only the head.
`t'
`t'
     Remove all leading  pathname  components, leaving the tail.
     Remove all leading  pathname  components, leaving the tail.
`r'
`r'
     Remove a trailing suffix of the form `.SUFFIX', leaving the
     Remove a trailing suffix of the form `.SUFFIX', leaving the
     basename.
     basename.
`e'
`e'
     Remove all but the trailing suffix.
     Remove all but the trailing suffix.
`p'
`p'
     Print the new command but do not execute it.
     Print the new command but do not execute it.
`s/OLD/NEW/'
`s/OLD/NEW/'
     Substitute NEW for the first occurrence of OLD in the event line.
     Substitute NEW for the first occurrence of OLD in the event line.
     Any delimiter may be used in place of `/'.  The delimiter may be
     Any delimiter may be used in place of `/'.  The delimiter may be
     quoted in OLD and NEW with a single backslash.  If `&' appears in
     quoted in OLD and NEW with a single backslash.  If `&' appears in
     NEW, it is replaced by OLD.  A single backslash will quote the
     NEW, it is replaced by OLD.  A single backslash will quote the
     `&'.  The final delimiter is optional if it is the last character
     `&'.  The final delimiter is optional if it is the last character
     on the input line.
     on the input line.
`&'
`&'
     Repeat the previous substitution.
     Repeat the previous substitution.
`g'
`g'
     Cause changes to be applied over the entire event line.  Used in
     Cause changes to be applied over the entire event line.  Used in
     conjunction with `s', as in `gs/OLD/NEW/', or with `&'.
     conjunction with `s', as in `gs/OLD/NEW/', or with `&'.


File: gdb.info,  Node: Formatting Documentation,  Next: Command Line Editing,  Prev: GDB Bugs,  Up: Top
File: gdb.info,  Node: Formatting Documentation,  Next: Command Line Editing,  Prev: GDB Bugs,  Up: Top
Formatting Documentation
Formatting Documentation
************************
************************
   The GDB 4 release includes an already-formatted reference card, ready
   The GDB 4 release includes an already-formatted reference card, ready
for printing with PostScript or Ghostscript, in the `gdb' subdirectory
for printing with PostScript or Ghostscript, in the `gdb' subdirectory
of the main source directory(1).  If you can use PostScript or
of the main source directory(1).  If you can use PostScript or
Ghostscript with your printer, you can print the reference card
Ghostscript with your printer, you can print the reference card
immediately with `refcard.ps'.
immediately with `refcard.ps'.
   The release also includes the source for the reference card.  You
   The release also includes the source for the reference card.  You
can format it, using TeX, by typing:
can format it, using TeX, by typing:
     make refcard.dvi
     make refcard.dvi
   The GDB reference card is designed to print in "landscape" mode on
   The GDB reference card is designed to print in "landscape" mode on
US "letter" size paper; that is, on a sheet 11 inches wide by 8.5 inches
US "letter" size paper; that is, on a sheet 11 inches wide by 8.5 inches
high.  You will need to specify this form of printing as an option to
high.  You will need to specify this form of printing as an option to
your DVI output program.
your DVI output program.
   All the documentation for GDB comes as part of the machine-readable
   All the documentation for GDB comes as part of the machine-readable
distribution.  The documentation is written in Texinfo format, which is
distribution.  The documentation is written in Texinfo format, which is
a documentation system that uses a single source file to produce both
a documentation system that uses a single source file to produce both
on-line information and a printed manual.  You can use one of the Info
on-line information and a printed manual.  You can use one of the Info
formatting commands to create the on-line version of the documentation
formatting commands to create the on-line version of the documentation
and TeX (or `texi2roff') to typeset the printed version.
and TeX (or `texi2roff') to typeset the printed version.
   GDB includes an already formatted copy of the on-line Info version
   GDB includes an already formatted copy of the on-line Info version
of this manual in the `gdb' subdirectory.  The main Info file is
of this manual in the `gdb' subdirectory.  The main Info file is
`gdb-5.0/gdb/gdb.info', and it refers to subordinate files matching
`gdb-5.0/gdb/gdb.info', and it refers to subordinate files matching
`gdb.info*' in the same directory.  If necessary, you can print out
`gdb.info*' in the same directory.  If necessary, you can print out
these files, or read them with any editor; but they are easier to read
these files, or read them with any editor; but they are easier to read
using the `info' subsystem in GNU Emacs or the standalone `info'
using the `info' subsystem in GNU Emacs or the standalone `info'
program, available as part of the GNU Texinfo distribution.
program, available as part of the GNU Texinfo distribution.
   If you want to format these Info files yourself, you need one of the
   If you want to format these Info files yourself, you need one of the
Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
Info formatting programs, such as `texinfo-format-buffer' or `makeinfo'.
   If you have `makeinfo' installed, and are in the top level GDB
   If you have `makeinfo' installed, and are in the top level GDB
source directory (`gdb-5.0', in the case of version 5.0), you can make
source directory (`gdb-5.0', in the case of version 5.0), you can make
the Info file by typing:
the Info file by typing:
     cd gdb
     cd gdb
     make gdb.info
     make gdb.info
   If you want to typeset and print copies of this manual, you need TeX,
   If you want to typeset and print copies of this manual, you need TeX,
a program to print its DVI output files, and `texinfo.tex', the Texinfo
a program to print its DVI output files, and `texinfo.tex', the Texinfo
definitions file.
definitions file.
   TeX is a typesetting program; it does not print files directly, but
   TeX is a typesetting program; it does not print files directly, but
produces output files called DVI files.  To print a typeset document,
produces output files called DVI files.  To print a typeset document,
you need a program to print DVI files.  If your system has TeX
you need a program to print DVI files.  If your system has TeX
installed, chances are it has such a program.  The precise command to
installed, chances are it has such a program.  The precise command to
use depends on your system; `lpr -d' is common; another (for PostScript
use depends on your system; `lpr -d' is common; another (for PostScript
devices) is `dvips'.  The DVI print command may require a file name
devices) is `dvips'.  The DVI print command may require a file name
without any extension or a `.dvi' extension.
without any extension or a `.dvi' extension.
   TeX also requires a macro definitions file called `texinfo.tex'.
   TeX also requires a macro definitions file called `texinfo.tex'.
This file tells TeX how to typeset a document written in Texinfo
This file tells TeX how to typeset a document written in Texinfo
format.  On its own, TeX cannot either read or typeset a Texinfo file.
format.  On its own, TeX cannot either read or typeset a Texinfo file.
`texinfo.tex' is distributed with GDB and is located in the
`texinfo.tex' is distributed with GDB and is located in the
`gdb-VERSION-NUMBER/texinfo' directory.
`gdb-VERSION-NUMBER/texinfo' directory.
   If you have TeX and a DVI printer program installed, you can typeset
   If you have TeX and a DVI printer program installed, you can typeset
and print this manual.  First switch to the the `gdb' subdirectory of
and print this manual.  First switch to the the `gdb' subdirectory of
the main source directory (for example, to `gdb-5.0/gdb') and type:
the main source directory (for example, to `gdb-5.0/gdb') and type:
     make gdb.dvi
     make gdb.dvi
   Then give `gdb.dvi' to your DVI printing program.
   Then give `gdb.dvi' to your DVI printing program.
   ---------- Footnotes ----------
   ---------- Footnotes ----------
   (1) In `gdb-5.0/gdb/refcard.ps' of the version 5.0 release.
   (1) In `gdb-5.0/gdb/refcard.ps' of the version 5.0 release.


File: gdb.info,  Node: Installing GDB,  Next: Index,  Prev: Using History Interactively,  Up: Top
File: gdb.info,  Node: Installing GDB,  Next: Index,  Prev: Using History Interactively,  Up: Top
Installing GDB
Installing GDB
**************
**************
   GDB comes with a `configure' script that automates the process of
   GDB comes with a `configure' script that automates the process of
preparing GDB for installation; you can then use `make' to build the
preparing GDB for installation; you can then use `make' to build the
`gdb' program.
`gdb' program.
   The GDB distribution includes all the source code you need for GDB
   The GDB distribution includes all the source code you need for GDB
in a single directory, whose name is usually composed by appending the
in a single directory, whose name is usually composed by appending the
version number to `gdb'.
version number to `gdb'.
   For example, the GDB version 5.0 distribution is in the `gdb-5.0'
   For example, the GDB version 5.0 distribution is in the `gdb-5.0'
directory.  That directory contains:
directory.  That directory contains:
`gdb-5.0/configure (and supporting files)'
`gdb-5.0/configure (and supporting files)'
     script for configuring GDB and all its supporting libraries
     script for configuring GDB and all its supporting libraries
`gdb-5.0/gdb'
`gdb-5.0/gdb'
     the source specific to GDB itself
     the source specific to GDB itself
`gdb-5.0/bfd'
`gdb-5.0/bfd'
     source for the Binary File Descriptor library
     source for the Binary File Descriptor library
`gdb-5.0/include'
`gdb-5.0/include'
     GNU include files
     GNU include files
`gdb-5.0/libiberty'
`gdb-5.0/libiberty'
     source for the `-liberty' free software library
     source for the `-liberty' free software library
`gdb-5.0/opcodes'
`gdb-5.0/opcodes'
     source for the library of opcode tables and disassemblers
     source for the library of opcode tables and disassemblers
`gdb-5.0/readline'
`gdb-5.0/readline'
     source for the GNU command-line interface
     source for the GNU command-line interface
`gdb-5.0/glob'
`gdb-5.0/glob'
     source for the GNU filename pattern-matching subroutine
     source for the GNU filename pattern-matching subroutine
`gdb-5.0/mmalloc'
`gdb-5.0/mmalloc'
     source for the GNU memory-mapped malloc package
     source for the GNU memory-mapped malloc package
   The simplest way to configure and build GDB is to run `configure'
   The simplest way to configure and build GDB is to run `configure'
from the `gdb-VERSION-NUMBER' source directory, which in this example
from the `gdb-VERSION-NUMBER' source directory, which in this example
is the `gdb-5.0' directory.
is the `gdb-5.0' directory.
   First switch to the `gdb-VERSION-NUMBER' source directory if you are
   First switch to the `gdb-VERSION-NUMBER' source directory if you are
not already in it; then run `configure'.  Pass the identifier for the
not already in it; then run `configure'.  Pass the identifier for the
platform on which GDB will run as an argument.
platform on which GDB will run as an argument.
   For example:
   For example:
     cd gdb-5.0
     cd gdb-5.0
     ./configure HOST
     ./configure HOST
     make
     make
where HOST is an identifier such as `sun4' or `decstation', that
where HOST is an identifier such as `sun4' or `decstation', that
identifies the platform where GDB will run.  (You can often leave off
identifies the platform where GDB will run.  (You can often leave off
HOST; `configure' tries to guess the correct value by examining your
HOST; `configure' tries to guess the correct value by examining your
system.)
system.)
   Running `configure HOST' and then running `make' builds the `bfd',
   Running `configure HOST' and then running `make' builds the `bfd',
`readline', `mmalloc', and `libiberty' libraries, then `gdb' itself.
`readline', `mmalloc', and `libiberty' libraries, then `gdb' itself.
The configured source files, and the binaries, are left in the
The configured source files, and the binaries, are left in the
corresponding source directories.
corresponding source directories.
   `configure' is a Bourne-shell (`/bin/sh') script; if your system
   `configure' is a Bourne-shell (`/bin/sh') script; if your system
does not recognize this automatically when you run a different shell,
does not recognize this automatically when you run a different shell,
you may need to run `sh' on it explicitly:
you may need to run `sh' on it explicitly:
     sh configure HOST
     sh configure HOST
   If you run `configure' from a directory that contains source
   If you run `configure' from a directory that contains source
directories for multiple libraries or programs, such as the `gdb-5.0'
directories for multiple libraries or programs, such as the `gdb-5.0'
source directory for version 5.0, `configure' creates configuration
source directory for version 5.0, `configure' creates configuration
files for every directory level underneath (unless you tell it not to,
files for every directory level underneath (unless you tell it not to,
with the `--norecursion' option).
with the `--norecursion' option).
   You can run the `configure' script from any of the subordinate
   You can run the `configure' script from any of the subordinate
directories in the GDB distribution if you only want to configure that
directories in the GDB distribution if you only want to configure that
subdirectory, but be sure to specify a path to it.
subdirectory, but be sure to specify a path to it.
   For example, with version 5.0, type the following to configure only
   For example, with version 5.0, type the following to configure only
the `bfd' subdirectory:
the `bfd' subdirectory:
     cd gdb-5.0/bfd
     cd gdb-5.0/bfd
     ../configure HOST
     ../configure HOST
   You can install `gdb' anywhere; it has no hardwired paths.  However,
   You can install `gdb' anywhere; it has no hardwired paths.  However,
you should make sure that the shell on your path (named by the `SHELL'
you should make sure that the shell on your path (named by the `SHELL'
environment variable) is publicly readable.  Remember that GDB uses the
environment variable) is publicly readable.  Remember that GDB uses the
shell to start your program--some systems refuse to let GDB debug child
shell to start your program--some systems refuse to let GDB debug child
processes whose programs are not readable.
processes whose programs are not readable.
* Menu:
* Menu:
* Separate Objdir::             Compiling GDB in another directory
* Separate Objdir::             Compiling GDB in another directory
* Config Names::                Specifying names for hosts and targets
* Config Names::                Specifying names for hosts and targets
* Configure Options::           Summary of options for configure
* Configure Options::           Summary of options for configure


File: gdb.info,  Node: Separate Objdir,  Next: Config Names,  Up: Installing GDB
File: gdb.info,  Node: Separate Objdir,  Next: Config Names,  Up: Installing GDB
Compiling GDB in another directory
Compiling GDB in another directory
==================================
==================================
   If you want to run GDB versions for several host or target machines,
   If you want to run GDB versions for several host or target machines,
you need a different `gdb' compiled for each combination of host and
you need a different `gdb' compiled for each combination of host and
target.  `configure' is designed to make this easy by allowing you to
target.  `configure' is designed to make this easy by allowing you to
generate each configuration in a separate subdirectory, rather than in
generate each configuration in a separate subdirectory, rather than in
the source directory.  If your `make' program handles the `VPATH'
the source directory.  If your `make' program handles the `VPATH'
feature (GNU `make' does), running `make' in each of these directories
feature (GNU `make' does), running `make' in each of these directories
builds the `gdb' program specified there.
builds the `gdb' program specified there.
   To build `gdb' in a separate directory, run `configure' with the
   To build `gdb' in a separate directory, run `configure' with the
`--srcdir' option to specify where to find the source.  (You also need
`--srcdir' option to specify where to find the source.  (You also need
to specify a path to find `configure' itself from your working
to specify a path to find `configure' itself from your working
directory.  If the path to `configure' would be the same as the
directory.  If the path to `configure' would be the same as the
argument to `--srcdir', you can leave out the `--srcdir' option; it is
argument to `--srcdir', you can leave out the `--srcdir' option; it is
assumed.)
assumed.)
   For example, with version 5.0, you can build GDB in a separate
   For example, with version 5.0, you can build GDB in a separate
directory for a Sun 4 like this:
directory for a Sun 4 like this:
     cd gdb-5.0
     cd gdb-5.0
     mkdir ../gdb-sun4
     mkdir ../gdb-sun4
     cd ../gdb-sun4
     cd ../gdb-sun4
     ../gdb-5.0/configure sun4
     ../gdb-5.0/configure sun4
     make
     make
   When `configure' builds a configuration using a remote source
   When `configure' builds a configuration using a remote source
directory, it creates a tree for the binaries with the same structure
directory, it creates a tree for the binaries with the same structure
(and using the same names) as the tree under the source directory.  In
(and using the same names) as the tree under the source directory.  In
the example, you'd find the Sun 4 library `libiberty.a' in the
the example, you'd find the Sun 4 library `libiberty.a' in the
directory `gdb-sun4/libiberty', and GDB itself in `gdb-sun4/gdb'.
directory `gdb-sun4/libiberty', and GDB itself in `gdb-sun4/gdb'.
   One popular reason to build several GDB configurations in separate
   One popular reason to build several GDB configurations in separate
directories is to configure GDB for cross-compiling (where GDB runs on
directories is to configure GDB for cross-compiling (where GDB runs on
one machine--the "host"--while debugging programs that run on another
one machine--the "host"--while debugging programs that run on another
machine--the "target").  You specify a cross-debugging target by giving
machine--the "target").  You specify a cross-debugging target by giving
the `--target=TARGET' option to `configure'.
the `--target=TARGET' option to `configure'.
   When you run `make' to build a program or library, you must run it
   When you run `make' to build a program or library, you must run it
in a configured directory--whatever directory you were in when you
in a configured directory--whatever directory you were in when you
called `configure' (or one of its subdirectories).
called `configure' (or one of its subdirectories).
   The `Makefile' that `configure' generates in each source directory
   The `Makefile' that `configure' generates in each source directory
also runs recursively.  If you type `make' in a source directory such
also runs recursively.  If you type `make' in a source directory such
as `gdb-5.0' (or in a separate configured directory configured with
as `gdb-5.0' (or in a separate configured directory configured with
`--srcdir=DIRNAME/gdb-5.0'), you will build all the required libraries,
`--srcdir=DIRNAME/gdb-5.0'), you will build all the required libraries,
and then build GDB.
and then build GDB.
   When you have multiple hosts or targets configured in separate
   When you have multiple hosts or targets configured in separate
directories, you can run `make' on them in parallel (for example, if
directories, you can run `make' on them in parallel (for example, if
they are NFS-mounted on each of the hosts); they will not interfere
they are NFS-mounted on each of the hosts); they will not interfere
with each other.
with each other.


File: gdb.info,  Node: Config Names,  Next: Configure Options,  Prev: Separate Objdir,  Up: Installing GDB
File: gdb.info,  Node: Config Names,  Next: Configure Options,  Prev: Separate Objdir,  Up: Installing GDB
Specifying names for hosts and targets
Specifying names for hosts and targets
======================================
======================================
   The specifications used for hosts and targets in the `configure'
   The specifications used for hosts and targets in the `configure'
script are based on a three-part naming scheme, but some short
script are based on a three-part naming scheme, but some short
predefined aliases are also supported.  The full naming scheme encodes
predefined aliases are also supported.  The full naming scheme encodes
three pieces of information in the following pattern:
three pieces of information in the following pattern:
     ARCHITECTURE-VENDOR-OS
     ARCHITECTURE-VENDOR-OS
   For example, you can use the alias `sun4' as a HOST argument, or as
   For example, you can use the alias `sun4' as a HOST argument, or as
the value for TARGET in a `--target=TARGET' option.  The equivalent
the value for TARGET in a `--target=TARGET' option.  The equivalent
full name is `sparc-sun-sunos4'.
full name is `sparc-sun-sunos4'.
   The `configure' script accompanying GDB does not provide any query
   The `configure' script accompanying GDB does not provide any query
facility to list all supported host and target names or aliases.
facility to list all supported host and target names or aliases.
`configure' calls the Bourne shell script `config.sub' to map
`configure' calls the Bourne shell script `config.sub' to map
abbreviations to full names; you can read the script, if you wish, or
abbreviations to full names; you can read the script, if you wish, or
you can use it to test your guesses on abbreviations--for example:
you can use it to test your guesses on abbreviations--for example:
     % sh config.sub i386-linux
     % sh config.sub i386-linux
     i386-pc-linux-gnu
     i386-pc-linux-gnu
     % sh config.sub alpha-linux
     % sh config.sub alpha-linux
     alpha-unknown-linux-gnu
     alpha-unknown-linux-gnu
     % sh config.sub hp9k700
     % sh config.sub hp9k700
     hppa1.1-hp-hpux
     hppa1.1-hp-hpux
     % sh config.sub sun4
     % sh config.sub sun4
     sparc-sun-sunos4.1.1
     sparc-sun-sunos4.1.1
     % sh config.sub sun3
     % sh config.sub sun3
     m68k-sun-sunos4.1.1
     m68k-sun-sunos4.1.1
     % sh config.sub i986v
     % sh config.sub i986v
     Invalid configuration `i986v': machine `i986v' not recognized
     Invalid configuration `i986v': machine `i986v' not recognized
`config.sub' is also distributed in the GDB source directory
`config.sub' is also distributed in the GDB source directory
(`gdb-5.0', for version 5.0).
(`gdb-5.0', for version 5.0).


File: gdb.info,  Node: Configure Options,  Prev: Config Names,  Up: Installing GDB
File: gdb.info,  Node: Configure Options,  Prev: Config Names,  Up: Installing GDB
`configure' options
`configure' options
===================
===================
   Here is a summary of the `configure' options and arguments that are
   Here is a summary of the `configure' options and arguments that are
most often useful for building GDB.  `configure' also has several other
most often useful for building GDB.  `configure' also has several other
options not listed here.  *note (configure.info)What Configure Does::,
options not listed here.  *note (configure.info)What Configure Does::,
for a full explanation of `configure'.
for a full explanation of `configure'.
     configure [--help]
     configure [--help]
               [--prefix=DIR]
               [--prefix=DIR]
               [--exec-prefix=DIR]
               [--exec-prefix=DIR]
               [--srcdir=DIRNAME]
               [--srcdir=DIRNAME]
               [--norecursion] [--rm]
               [--norecursion] [--rm]
               [--target=TARGET]
               [--target=TARGET]
               HOST
               HOST
You may introduce options with a single `-' rather than `--' if you
You may introduce options with a single `-' rather than `--' if you
prefer; but you may abbreviate option names if you use `--'.
prefer; but you may abbreviate option names if you use `--'.
`--help'
`--help'
     Display a quick summary of how to invoke `configure'.
     Display a quick summary of how to invoke `configure'.
`--prefix=DIR'
`--prefix=DIR'
     Configure the source to install programs and files under directory
     Configure the source to install programs and files under directory
     `DIR'.
     `DIR'.
`--exec-prefix=DIR'
`--exec-prefix=DIR'
     Configure the source to install programs under directory `DIR'.
     Configure the source to install programs under directory `DIR'.
`--srcdir=DIRNAME'
`--srcdir=DIRNAME'
     *Warning: using this option requires GNU `make', or another `make'
     *Warning: using this option requires GNU `make', or another `make'
     that implements the `VPATH' feature.*
     that implements the `VPATH' feature.*
     Use this option to make configurations in directories separate
     Use this option to make configurations in directories separate
     from the GDB source directories.  Among other things, you can use
     from the GDB source directories.  Among other things, you can use
     this to build (or maintain) several configurations simultaneously,
     this to build (or maintain) several configurations simultaneously,
     in separate directories.  `configure' writes configuration
     in separate directories.  `configure' writes configuration
     specific files in the current directory, but arranges for them to
     specific files in the current directory, but arranges for them to
     use the source in the directory DIRNAME.  `configure' creates
     use the source in the directory DIRNAME.  `configure' creates
     directories under the working directory in parallel to the source
     directories under the working directory in parallel to the source
     directories below DIRNAME.
     directories below DIRNAME.
`--norecursion'
`--norecursion'
     Configure only the directory level where `configure' is executed;
     Configure only the directory level where `configure' is executed;
     do not propagate configuration to subdirectories.
     do not propagate configuration to subdirectories.
`--target=TARGET'
`--target=TARGET'
     Configure GDB for cross-debugging programs running on the specified
     Configure GDB for cross-debugging programs running on the specified
     TARGET.  Without this option, GDB is configured to debug programs
     TARGET.  Without this option, GDB is configured to debug programs
     that run on the same machine (HOST) as GDB itself.
     that run on the same machine (HOST) as GDB itself.
     There is no convenient way to generate a list of all available
     There is no convenient way to generate a list of all available
     targets.
     targets.
`HOST ...'
`HOST ...'
     Configure GDB to run on the specified HOST.
     Configure GDB to run on the specified HOST.
     There is no convenient way to generate a list of all available
     There is no convenient way to generate a list of all available
     hosts.
     hosts.
   There are many other options available as well, but they are
   There are many other options available as well, but they are
generally needed for special purposes only.
generally needed for special purposes only.
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.