diff options
author | nobody <> | 2003-02-02 23:00:07 +0000 |
---|---|---|
committer | nobody <> | 2003-02-02 23:00:07 +0000 |
commit | cddd45abf62af6ed70c8c67601a9f09da0a939b0 (patch) | |
tree | c8d60358c712fe334d27b9e65723fcea6351e33f /gdb/doc | |
parent | 812e900cfcaad5c1a17d6728e204cbf34d4eb557 (diff) | |
download | binutils-gdb-cddd45abf62af6ed70c8c67601a9f09da0a939b0.tar.gz |
This commit was manufactured by cvs2svn to create branchinterps-20030202-branchpoint
'interps-20030202-branch'.
Sprout from cagney-unwind-20030108-branch 2003-01-09 20:50:26 UTC nobody 'This commit was manufactured by cvs2svn to create branch 'cagney-'
Cherrypick from master 2003-02-02 23:00:06 UTC Alan Modra <amodra@gmail.com> 'daily update':
ChangeLog
Makefile.in
Makefile.tpl
bfd/ChangeLog
bfd/Makefile.am
bfd/Makefile.in
bfd/aclocal.m4
bfd/archures.c
bfd/bfd-in2.h
bfd/bfd.c
bfd/coffcode.h
bfd/config.bfd
bfd/cpu-sh.c
bfd/elf-bfd.h
bfd/elf.c
bfd/elf32-i386.c
bfd/elf32-mips.c
bfd/elf32-ppc.c
bfd/elf32-s390.c
bfd/elf32-sh.c
bfd/elf32-sh64-com.c
bfd/elf32-sh64.c
bfd/elf32-sh64.h
bfd/elf32-sparc.c
bfd/elf64-alpha.c
bfd/elf64-mips.c
bfd/elf64-mmix.c
bfd/elf64-ppc.c
bfd/elf64-s390.c
bfd/elf64-sparc.c
bfd/elfn32-mips.c
bfd/elfxx-ia64.c
bfd/elfxx-mips.c
bfd/elfxx-mips.h
bfd/elfxx-target.h
bfd/libbfd.h
bfd/opncls.c
bfd/po/SRC-POTFILES.in
bfd/reloc.c
bfd/version.h
config.if
configure
configure.in
gdb/ChangeLog
gdb/ChangeLog-2002
gdb/MAINTAINERS
gdb/Makefile.in
gdb/NEWS
gdb/README
gdb/acinclude.m4
gdb/aclocal.m4
gdb/ada-valprint.c
gdb/alpha-nat.c
gdb/alpha-tdep.c
gdb/alpha-tdep.h
gdb/ax-gdb.c
gdb/blockframe.c
gdb/breakpoint.c
gdb/breakpoint.h
gdb/buildsym.c
gdb/c-exp.y
gdb/c-valprint.c
gdb/charset.c
gdb/cli/cli-decode.h
gdb/cli/cli-script.c
gdb/complaints.c
gdb/complaints.h
gdb/config.in
gdb/config/alpha/nm-linux.h
gdb/config/djgpp/fnchange.lst
gdb/config/h8500/tm-h8500.h
gdb/config/i386/tm-ptx.h
gdb/config/i386/tm-symmetry.h
gdb/config/i386/xm-i386sco.h
gdb/config/m68k/nm-apollo68b.h
gdb/config/m68k/tm-sun3.h
gdb/config/nm-lynx.h
gdb/config/ns32k/nm-nbsd.h
gdb/config/pa/tm-hppa.h
gdb/config/pa/tm-hppa64.h
gdb/config/sparc/tm-sp64.h
gdb/config/sparc/tm-sparc.h
gdb/configure
gdb/configure.host
gdb/configure.in
gdb/configure.tgt
gdb/corefile.c
gdb/corelow.c
gdb/cp-valprint.c
gdb/cris-tdep.c
gdb/d10v-tdep.c
gdb/dbxread.c
gdb/defs.h
gdb/demangle.c
gdb/disasm.c
gdb/doc/ChangeLog
gdb/doc/gdb.texinfo
gdb/doc/gdbint.texinfo
gdb/doc/stabs.texinfo
gdb/dummy-frame.c
gdb/dummy-frame.h
gdb/dve3900-rom.c
gdb/dwarf2cfi.c
gdb/dwarf2read.c
gdb/dwarfread.c
gdb/elfread.c
gdb/eval.c
gdb/exec.c
gdb/expprint.c
gdb/expression.h
gdb/f-exp.y
gdb/f-typeprint.c
gdb/f-valprint.c
gdb/findvar.c
gdb/frame-unwind.c
gdb/frame-unwind.h
gdb/frame.c
gdb/frame.h
gdb/gcore.c
gdb/gdb-stabs.h
gdb/gdb_dirent.h
gdb/gdb_indent.sh
gdb/gdb_mbuild.sh
gdb/gdbarch.c
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/gdbcore.h
gdb/gdbtypes.c
gdb/gdbtypes.h
gdb/gnu-v2-abi.c
gdb/hppa-tdep.c
gdb/hppab-nat.c
gdb/hppah-nat.c
gdb/hpread.c
gdb/hpux-thread.c
gdb/i386v-nat.c
gdb/infcmd.c
gdb/inferior.h
gdb/infrun.c
gdb/inftarg.c
gdb/irix4-nat.c
gdb/jv-typeprint.c
gdb/language.c
gdb/language.h
gdb/lin-lwp.c
gdb/linespec.c
gdb/lynx-nat.c
gdb/m32r-tdep.c
gdb/m68klinux-nat.c
gdb/main.c
gdb/maint.c
gdb/mdebugread.c
gdb/mi/ChangeLog
gdb/mi/gdbmi.texinfo
gdb/mi/mi-cmd-env.c
gdb/mi/mi-cmd-var.c
gdb/mi/mi-main.c
gdb/mips-nat.c
gdb/mips-tdep.c
gdb/mipsv4-nat.c
gdb/mn10200-tdep.c
gdb/monitor.c
gdb/monitor.h
gdb/objc-exp.y
gdb/objfiles.c
gdb/objfiles.h
gdb/ocd.c
gdb/parse.c
gdb/proc-utils.h
gdb/procfs.c
gdb/remote-e7000.c
gdb/remote-mips.c
gdb/remote-sds.c
gdb/remote-sim.c
gdb/remote-vx.c
gdb/rom68k-rom.c
gdb/rs6000-nat.c
gdb/scm-lang.c
gdb/scm-lang.h
gdb/sentinel-frame.c
gdb/sentinel-frame.h
gdb/ser-go32.c
gdb/sh-tdep.c
gdb/solib-svr4.c
gdb/solib.c
gdb/somread.c
gdb/somsolib.c
gdb/somsolib.h
gdb/source.c
gdb/sparc-tdep.c
gdb/stabsread.c
gdb/stabsread.h
gdb/stack.c
gdb/symfile.c
gdb/symfile.h
gdb/symmisc.c
gdb/symtab.c
gdb/symtab.h
gdb/target.c
gdb/target.h
gdb/testsuite/ChangeLog
gdb/testsuite/gdb.arch/altivec-abi.exp
gdb/testsuite/gdb.arch/altivec-regs.exp
gdb/testsuite/gdb.asm/arm.inc
gdb/testsuite/gdb.asm/asm-source.exp
gdb/testsuite/gdb.base/advance.c
gdb/testsuite/gdb.base/advance.exp
gdb/testsuite/gdb.base/args.c
gdb/testsuite/gdb.base/args.exp
gdb/testsuite/gdb.base/break.exp
gdb/testsuite/gdb.base/constvars.exp
gdb/testsuite/gdb.base/default.exp
gdb/testsuite/gdb.base/display.exp
gdb/testsuite/gdb.base/float.exp
gdb/testsuite/gdb.base/help.exp
gdb/testsuite/gdb.base/long_long.exp
gdb/testsuite/gdb.base/mips_pro.exp
gdb/testsuite/gdb.base/overlays.exp
gdb/testsuite/gdb.base/printcmds.exp
gdb/testsuite/gdb.base/relocate.exp
gdb/testsuite/gdb.base/selftest.exp
gdb/testsuite/gdb.base/setshow.exp
gdb/testsuite/gdb.base/step-line.exp
gdb/testsuite/gdb.base/step-test.exp
gdb/testsuite/gdb.base/until.exp
gdb/testsuite/gdb.c++/cplusfuncs.exp
gdb/testsuite/gdb.c++/demangle.exp
gdb/testsuite/gdb.c++/inherit.exp
gdb/testsuite/gdb.c++/local.exp
gdb/testsuite/gdb.c++/overload.exp
gdb/testsuite/gdb.c++/printmethod.exp
gdb/testsuite/gdb.c++/virtfunc.exp
gdb/testsuite/gdb.mi/gdb669.exp
gdb/testsuite/gdb.mi/gdb792.exp
gdb/testsuite/gdb.mi/mi-console.exp
gdb/testsuite/gdb.mi/mi-pthreads.exp
gdb/testsuite/gdb.mi/mi-syn-frame.c
gdb/testsuite/gdb.mi/mi-syn-frame.exp
gdb/testsuite/gdb.mi/mi-var-child.exp
gdb/testsuite/gdb.mi/mi-var-display.exp
gdb/testsuite/gdb.mi/mi1-console.exp
gdb/testsuite/gdb.mi/mi1-pthreads.exp
gdb/testsuite/gdb.threads/killed.exp
gdb/testsuite/lib/gdb.exp
gdb/testsuite/lib/mi-support.exp
gdb/thread-db.c
gdb/thread.c
gdb/top.c
gdb/typeprint.c
gdb/utils.c
gdb/v850ice.c
gdb/valarith.c
gdb/valops.c
gdb/value.h
gdb/values.c
gdb/version.in
gdb/win32-nat.c
gdb/x86-64-linux-nat.c
gdb/x86-64-linux-tdep.c
gdb/xcoffread.c
gdb/z8k-tdep.c
include/ChangeLog
include/coff/ti.h
include/coff/tic4x.h
include/elf/ChangeLog
include/elf/common.h
include/elf/mips.h
include/elf/ppc.h
include/elf/ppc64.h
include/elf/s390.h
include/elf/sh.h
include/elf/sparc.h
include/hashtab.h
include/opcode/ChangeLog
include/opcode/hppa.h
include/opcode/m68hc11.h
include/splay-tree.h
libiberty/ChangeLog
libiberty/Makefile.in
libiberty/configure
libiberty/configure.in
libiberty/functions.texi
libiberty/hashtab.c
libiberty/pex-common.h
libiberty/pex-djgpp.c
libiberty/pex-mpw.c
libiberty/pex-msdos.c
libiberty/pex-os2.c
libiberty/pex-unix.c
libiberty/pex-win32.c
libiberty/pexecute.txh
opcodes/ChangeLog
opcodes/Makefile.am
opcodes/Makefile.in
opcodes/alpha-opc.c
opcodes/po/POTFILES.in
opcodes/sh-dis.c
opcodes/sh-opc.h
opcodes/sh64-dis.c
opcodes/sparc-dis.c
readline/ChangeLog.gdb
readline/display.c
sim/arm/ChangeLog
sim/arm/README
sim/h8300/ChangeLog
sim/h8300/compile.c
sim/mips/ChangeLog
sim/mips/mips.igen
Delete:
gdb/a68v-nat.c
gdb/config/i386/i386dgux.mh
gdb/config/i386/i386mk.mh
gdb/config/i386/i386mk.mt
gdb/config/i386/i386v32.mh
gdb/config/i386/tm-i386os9k.h
gdb/config/i386/xm-i386v32.h
gdb/config/m68k/es1800.mt
gdb/hp300ux-nat.c
gdb/mon960-rom.c
gdb/nindy-share/Makefile
gdb/nindy-share/Onindy.c
gdb/nindy-share/README
gdb/nindy-share/VERSION
gdb/nindy-share/b.out.h
gdb/nindy-share/block_io.h
gdb/nindy-share/coff.h
gdb/nindy-share/env.h
gdb/nindy-share/nindy.c
gdb/nindy-share/stop.h
gdb/nindy-share/ttyflush.c
gdb/nindy-tdep.c
gdb/ptx4-nat.c
gdb/remote-es.c
gdb/saber.suppress
libiberty/pexecute.c
sim/arm/README.Cygnus
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/ChangeLog | 71 | ||||
-rw-r--r-- | gdb/doc/gdb.texinfo | 478 | ||||
-rw-r--r-- | gdb/doc/gdbint.texinfo | 131 | ||||
-rw-r--r-- | gdb/doc/stabs.texinfo | 21 |
4 files changed, 442 insertions, 259 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog index 612af11fa4d..832ac375c64 100644 --- a/gdb/doc/ChangeLog +++ b/gdb/doc/ChangeLog @@ -1,3 +1,74 @@ +2003-02-01 Andrew Cagney <ac131313@redhat.com> + + * gdbint.texinfo (Target Architecture Definition): Delete + description of ADDITIONAL_OPTIONS, ADDITIONAL_OPTION_CASES, + ADDITIONAL_OPTION_HANDLER, and ADDITIONAL_OPTION_HELP, and + BEFORE_MAIN_LOOP_HOOK, and DBX_PARM_SYMBOL_CLASS along with + references to nindy and i960. + * gdb.texinfo (i960): Delete all references to i960 and nindy. + +2003-02-01 Andrew Cagney <ac131313@redhat.com> + + * gdbint.texinfo (Target Architecture Definition): Delete + FLOAT_INFO. + +2003-01-30 Andrew Cagney <ac131313@redhat.com> + + * stabs.texinfo (Member Type Descriptor): Clarify description of + `@'. Suggested by Ben Hutchings. + +2003-01-29 Andrew Cagney <ac131313@redhat.com> + + * gdb.texinfo (M68K): Delete reference to es1800. + +2003-01-29 Andrew Cagney <ac131313@redhat.com> + + * gdb.texinfo (Maintenance Commands): Document `maint print + reggroups' and `maint print register-groups'. + * gdbint.texinfo (Target Architecture Definition): Document + register_reggroup_p. + +2003-01-23 Jim Blandy <jimb@redhat.com> + + * gdb.texinfo (Separate Debug Files): New section. + +2003-01-22 Daniel Jacobowitz <drow@mvista.com> + + * gdb.texinfo (Maintenance Commands): Add "maint set profile" + and "maint show profile". + +2003-01-16 Michael Chastain <mec@shout.net> + + * gdb.texinfo (Installing GDB): Warn against + ".../gdb-VERSION/gdb/configure". + (Separate Objdir): Likewise. + +2003-01-15 Andrew Cagney <ac131313@redhat.com> + + * gdbint.texinfo (Target Architecture Definition): Delete + definition of PRINT_REGISTER_HOOK. + +2003-01-15 Elena Zannoni <ezannoni@redhat.com> + + (OpenRISC 1000): Fix formatting of command names. + +2003-01-15 Elena Zannoni <ezannoni@redhat.com> + + * gdb.texinfo (Continuing and Stepping): Add new command + 'advance'. Clarify behavior of 'until'. + +2003-01-13 Daniel Jacobowitz <drow@mvista.com> + + * gdb.texinfo (Files): Document solib-absolute-prefix and + solib-search-path. + +2003-01-09 Michael Chastain <mec@shout.net> + + * gdbint.texinfo (Configuring @value{GDBN} for Release): Delete. + (Create a Release): Add new instructions for new @file{src-release}. + Document existing instructions for @file{Makefile.in} as + being for @value{GDBN} 5.3.1 or earlier. + 2003-01-09 Andrew Cagney <ac131313@redhat.com> * gdbint.texinfo (Target Architecture Definition): Mention diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 8bfce2f0ca4..b3dd7a7f1dd 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -3462,8 +3462,35 @@ argument. Continue running your program until either the specified location is reached, or the current stack frame returns. @var{location} is any of the forms of argument acceptable to @code{break} (@pxref{Set Breaks, -,Setting breakpoints}). This form of the command uses breakpoints, -and hence is quicker than @code{until} without an argument. +,Setting breakpoints}). This form of the command uses breakpoints, and +hence is quicker than @code{until} without an argument. The specified +location is actually reached only if it is in the current frame. This +implies that @code{until} can be used to skip over recursive function +invocations. For instance in the code below, if the current location is +line @code{96}, issuing @code{until 99} will execute the program up to +line @code{99} in the same invocation of factorial, i.e. after the inner +invocations have returned. + +@smallexample +94 int factorial (int value) +95 @{ +96 if (value > 1) @{ +97 value *= factorial (value - 1); +98 @} +99 return (value); +100 @} +@end smallexample + + +@kindex advance @var{location} +@itemx advance @var{location} +Continue running the program up to the given location. An argument is +required, anything of the same form as arguments for the @code{break} +command. Execution will also stop upon exit from the current stack +frame. This command is similar to @code{until}, but @code{advance} will +not skip over recursive function calls, and the target location doesn't +have to be in the same frame as the current one. + @kindex stepi @kindex si @r{(@code{stepi})} @@ -9315,6 +9342,7 @@ program. To debug a core dump of a previous run, you must also tell @menu * Files:: Commands to specify files +* Separate Debug Files:: Debugging information in separate files * Symbol Errors:: Errors reading symbol files @end menu @@ -9719,6 +9747,233 @@ Mb). Display the current autoloading size threshold, in megabytes. @end table +Shared libraries are also supported in many cross or remote debugging +configurations. A copy of the target's libraries need to be present on the +host system; they need to be the same as the target libraries, although the +copies on the target can be stripped as long as the copies on the host are +not. + +You need to tell @value{GDBN} where the target libraries are, so that it can +load the correct copies---otherwise, it may try to load the host's libraries. +@value{GDBN} has two variables to specify the search directories for target +libraries. + +@table @code +@kindex set solib-absolute-prefix +@item set solib-absolute-prefix @var{path} +If this variable is set, @var{path} will be used as a prefix for any +absolute shared library paths; many runtime loaders store the absolute +paths to the shared library in the target program's memory. If you use +@samp{solib-absolute-prefix} to find shared libraries, they need to be laid +out in the same way that they are on the target, with e.g.@: a +@file{/usr/lib} hierarchy under @var{path}. + +You can set the default value of @samp{solib-absolute-prefix} by using the +configure-time @samp{--with-sysroot} option. + +@kindex show solib-absolute-prefix +@item show solib-absolute-prefix +Display the current shared library prefix. + +@kindex set solib-search-path +@item set solib-search-path @var{path} +If this variable is set, @var{path} is a colon-separated list of directories +to search for shared libraries. @samp{solib-search-path} is used after +@samp{solib-absolute-prefix} fails to locate the library, or if the path to +the library is relative instead of absolute. If you want to use +@samp{solib-search-path} instead of @samp{solib-absolute-prefix}, be sure to +set @samp{solib-absolute-prefix} to a nonexistant directory to prevent +@value{GDBN} from finding your host's libraries. + +@kindex show solib-search-path +@item show solib-search-path +Display the current shared library search path. +@end table + + +@node Separate Debug Files +@section Debugging Information in Separate Files +@cindex separate debugging information files +@cindex debugging information in separate files +@cindex @file{.debug} subdirectories +@cindex debugging information directory, global +@cindex global debugging information directory + +@value{GDBN} allows you to put a program's debugging information in a +file separate from the executable itself, in a way that allows +@value{GDBN} to find and load the debugging information automatically. +Since debugging information can be very large --- sometimes larger +than the executable code itself --- some systems distribute debugging +information for their executables in separate files, which users can +install only when they need to debug a problem. + +If an executable's debugging information has been extracted to a +separate file, the executable should contain a @dfn{debug link} giving +the name of the debugging information file (with no directory +components), and a checksum of its contents. (The exact form of a +debug link is described below.) If the full name of the directory +containing the executable is @var{execdir}, and the executable has a +debug link that specifies the name @var{debugfile}, then @value{GDBN} +will automatically search for the debugging information file in three +places: + +@itemize @bullet +@item +the directory containing the executable file (that is, it will look +for a file named @file{@var{execdir}/@var{debugfile}}, +@item +a subdirectory of that directory named @file{.debug} (that is, the +file @file{@var{execdir}/.debug/@var{debugfile}}, and +@item +a subdirectory of the global debug file directory that includes the +executable's full path, and the name from the link (that is, the file +@file{@var{globaldebugdir}/@var{execdir}/@var{debugfile}}, where +@var{globaldebugdir} is the global debug file directory, and +@var{execdir} has been turned into a relative path). +@end itemize +@noindent +@value{GDBN} checks under each of these names for a debugging +information file whose checksum matches that given in the link, and +reads the debugging information from the first one it finds. + +So, for example, if you ask @value{GDBN} to debug @file{/usr/bin/ls}, +which has a link containing the name @file{ls.debug}, and the global +debug directory is @file{/usr/lib/debug}, then @value{GDBN} will look +for debug information in @file{/usr/bin/ls.debug}, +@file{/usr/bin/.debug/ls.debug}, and +@file{/usr/lib/debug/usr/bin/ls.debug}. + +You can set the global debugging info directory's name, and view the +name @value{GDBN} is currently using. + +@table @code + +@kindex set debug-file-directory +@item set debug-file-directory @var{directory} +Set the directory which @value{GDBN} searches for separate debugging +information files to @var{directory}. + +@kindex show debug-file-directory +@item show debug-file-directory +Show the directory @value{GDBN} searches for separate debugging +information files. + +@end table + +@cindex @code{.gnu_debuglink} sections +@cindex debug links +A debug link is a special section of the executable file named +@code{.gnu_debuglink}. The section must contain: + +@itemize +@item +A filename, with any leading directory components removed, followed by +a zero byte, +@item +zero to three bytes of padding, as needed to reach the next four-byte +boundary within the section, and +@item +a four-byte CRC checksum, stored in the same endianness used for the +executable file itself. The checksum is computed on the debugging +information file's full contents by the function given below, passing +zero as the @var{crc} argument. +@end itemize + +Any executable file format can carry a debug link, as long as it can +contain a section named @code{.gnu_debuglink} with the contents +described above. + +The debugging information file itself should be an ordinary +executable, containing a full set of linker symbols, sections, and +debugging information. The sections of the debugging information file +should have the same names, addresses and sizes as the original file, +but they need not contain any data --- much like a @code{.bss} section +in an ordinary executable. + +As of December 2002, there is no standard GNU utility to produce +separated executable / debugging information file pairs. Ulrich +Drepper's @file{elfutils} package, starting with version 0.53, +contains a version of the @code{strip} command such that the command +@kbd{strip foo -f foo.debug} removes the debugging information from +the executable file @file{foo}, places it in the file +@file{foo.debug}, and leaves behind a debug link in @file{foo}. + +Since there are many different ways to compute CRC's (different +polynomials, reversals, byte ordering, etc.), the simplest way to +describe the CRC used in @code{.gnu_debuglink} sections is to give the +complete code for a function that computes it: + +@kindex @code{gnu_debuglink_crc32} +@smallexample +unsigned long +gnu_debuglink_crc32 (unsigned long crc, + unsigned char *buf, size_t len) +@{ + static const unsigned long crc32_table[256] = + @{ + 0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, + 0x706af48f, 0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, + 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, + 0x90bf1d91, 0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, + 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7, 0x136c9856, + 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9, + 0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, + 0xa2677172, 0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, + 0x35b5a8fa, 0x42b2986c, 0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, + 0x45df5c75, 0xdcd60dcf, 0xabd13d59, 0x26d930ac, 0x51de003a, + 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423, 0xcfba9599, + 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924, + 0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, + 0x01db7106, 0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, + 0x9fbfe4a5, 0xe8b8d433, 0x7807c9a2, 0x0f00f934, 0x9609a88e, + 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d, 0x91646c97, 0xe6635c01, + 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e, 0x6c0695ed, + 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950, + 0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, + 0xfbd44c65, 0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, + 0x4adfa541, 0x3dd895d7, 0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, + 0x346ed9fc, 0xad678846, 0xda60b8d0, 0x44042d73, 0x33031de5, + 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa, 0xbe0b1010, + 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f, + 0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, + 0x2eb40d81, 0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, + 0x03b6e20c, 0x74b1d29a, 0xead54739, 0x9dd277af, 0x04db2615, + 0x73dc1683, 0xe3630b12, 0x94643b84, 0x0d6d6a3e, 0x7a6a5aa8, + 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1, 0xf00f9344, + 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb, + 0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, + 0x67dd4acc, 0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, + 0xd6d6a3e8, 0xa1d1937e, 0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, + 0xa6bc5767, 0x3fb506dd, 0x48b2364b, 0xd80d2bda, 0xaf0a1b4c, + 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55, 0x316e8eef, + 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236, + 0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, + 0xb2bd0b28, 0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, + 0x2cd99e8b, 0x5bdeae1d, 0x9b64c2b0, 0xec63f226, 0x756aa39c, + 0x026d930a, 0x9c0906a9, 0xeb0e363f, 0x72076785, 0x05005713, + 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38, 0x92d28e9b, + 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242, + 0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, + 0x18b74777, 0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, + 0x8f659eff, 0xf862ae69, 0x616bffd3, 0x166ccf45, 0xa00ae278, + 0xd70dd2ee, 0x4e048354, 0x3903b3c2, 0xa7672661, 0xd06016f7, + 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc, 0x40df0b66, + 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9, + 0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, + 0xcdd70693, 0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, + 0x5d681b02, 0x2a6f2b94, 0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, + 0x2d02ef8d + @}; + unsigned char *end; + + crc = ~crc & 0xffffffff; + for (end = buf + len; buf < end; ++buf) + crc = crc32_table[(crc ^ *buf) & 0xff] ^ (crc >> 8); + return ~crc & 0xffffffff;; +@} +@end smallexample + + @node Symbol Errors @section Errors reading symbol files @@ -11159,7 +11414,6 @@ configurations. * ARM:: ARM * H8/300:: Hitachi H8/300 * H8/500:: Hitachi H8/500 -* i960:: Intel i960 * M32R/D:: Mitsubishi M32R/D * M68K:: Motorola M68K * MIPS Embedded:: MIPS Embedded @@ -11413,128 +11667,6 @@ memory}. The accepted values for @var{mod} are @code{small}, @end table -@node i960 -@subsection Intel i960 - -@table @code - -@kindex target mon960 -@item target mon960 @var{dev} -MON960 monitor for Intel i960. - -@kindex target nindy -@item target nindy @var{devicename} -An Intel 960 board controlled by a Nindy Monitor. @var{devicename} is -the name of the serial device to use for the connection, e.g. -@file{/dev/ttya}. - -@end table - -@cindex Nindy -@cindex i960 -@dfn{Nindy} is a ROM Monitor program for Intel 960 target systems. When -@value{GDBN} is configured to control a remote Intel 960 using Nindy, you can -tell @value{GDBN} how to connect to the 960 in several ways: - -@itemize @bullet -@item -Through command line options specifying serial port, version of the -Nindy protocol, and communications speed; - -@item -By responding to a prompt on startup; - -@item -By using the @code{target} command at any point during your @value{GDBN} -session. @xref{Target Commands, ,Commands for managing targets}. - -@end itemize - -@cindex download to Nindy-960 -With the Nindy interface to an Intel 960 board, @code{load} -downloads @var{filename} to the 960 as well as adding its symbols in -@value{GDBN}. - -@menu -* Nindy Startup:: Startup with Nindy -* Nindy Options:: Options for Nindy -* Nindy Reset:: Nindy reset command -@end menu - -@node Nindy Startup -@subsubsection Startup with Nindy - -If you simply start @code{@value{GDBP}} without using any command-line -options, you are prompted for what serial port to use, @emph{before} you -reach the ordinary @value{GDBN} prompt: - -@smallexample -Attach /dev/ttyNN -- specify NN, or "quit" to quit: -@end smallexample - -@noindent -Respond to the prompt with whatever suffix (after @samp{/dev/tty}) -identifies the serial port you want to use. You can, if you choose, -simply start up with no Nindy connection by responding to the prompt -with an empty line. If you do this and later wish to attach to Nindy, -use @code{target} (@pxref{Target Commands, ,Commands for managing targets}). - -@node Nindy Options -@subsubsection Options for Nindy - -These are the startup options for beginning your @value{GDBN} session with a -Nindy-960 board attached: - -@table @code -@item -r @var{port} -Specify the serial port name of a serial interface to be used to connect -to the target system. This option is only available when @value{GDBN} is -configured for the Intel 960 target architecture. You may specify -@var{port} as any of: a full pathname (e.g. @samp{-r /dev/ttya}), a -device name in @file{/dev} (e.g. @samp{-r ttya}), or simply the unique -suffix for a specific @code{tty} (e.g. @samp{-r a}). - -@item -O -(An uppercase letter ``O'', not a zero.) Specify that @value{GDBN} should use -the ``old'' Nindy monitor protocol to connect to the target system. -This option is only available when @value{GDBN} is configured for the Intel 960 -target architecture. - -@quotation -@emph{Warning:} if you specify @samp{-O}, but are actually trying to -connect to a target system that expects the newer protocol, the connection -fails, appearing to be a speed mismatch. @value{GDBN} repeatedly -attempts to reconnect at several different line speeds. You can abort -this process with an interrupt. -@end quotation - -@item -brk -Specify that @value{GDBN} should first send a @code{BREAK} signal to the target -system, in an attempt to reset it, before connecting to a Nindy target. - -@quotation -@emph{Warning:} Many target systems do not have the hardware that this -requires; it only works with a few boards. -@end quotation -@end table - -The standard @samp{-b} option controls the line speed used on the serial -port. - -@c @group -@node Nindy Reset -@subsubsection Nindy reset command - -@table @code -@item reset -@kindex reset -For a Nindy target, this command sends a ``break'' to the remote target -system; this is only useful if the target has been equipped with a -circuit to perform a hard reset (or some other interesting action) when -a break is detected. -@end table -@c @end group - @node M32R/D @subsection Mitsubishi M32R/D @@ -11576,19 +11708,6 @@ ROM 68K monitor, running on an M68K IDP board. @end table -If @value{GDBN} is configured with @code{m68*-ericsson-*}, it will -instead have only a single special target command: - -@table @code - -@kindex target es1800 -@item target es1800 @var{dev} -ES-1800 emulator for M68K. - -@end table - -[context?] - @table @code @kindex target rombug @@ -11834,7 +11953,7 @@ Set acquisition qualifier for HW trace. Set HW trace stopping criteria. @kindex htrace record -@item htrace record @var{[data]*} +@item htrace record [@var{data}]* Selects the data to be recorded, when qualifier is met and HW trace was triggered. @@ -11845,14 +11964,14 @@ triggered. Enables/disables the HW trace. @kindex htrace rewind -@item htrace rewind @var{[filename]} +@item htrace rewind [@var{filename}] Clears currently recorded trace data. If filename is specified, new trace file is made and any newly collected data will be written there. @kindex htrace print -@item htrace print @var{[start [len]]} +@item htrace print [@var{start} [@var{len}]] Prints trace buffer, using current record configuration. @kindex htrace mode continuous @@ -14015,6 +14134,7 @@ Then give @file{gdb.dvi} to your @sc{dvi} printing program. @appendix Installing @value{GDBN} @cindex configuring @value{GDBN} @cindex installation +@cindex configuring @value{GDBN}, and source tree subdirectories @value{GDBN} comes with a @code{configure} script that automates the process of preparing @value{GDBN} for installation; you can then use @code{make} to @@ -14105,19 +14225,15 @@ directories for multiple libraries or programs, such as the creates configuration files for every directory level underneath (unless you tell it not to, with the @samp{--norecursion} option). -You can run the @code{configure} script from any of the -subordinate directories in the @value{GDBN} distribution if you only want to -configure that subdirectory, but be sure to specify a path to it. - -For example, with version @value{GDBVN}, type the following to configure only -the @code{bfd} subdirectory: - -@smallexample -@group -cd gdb-@value{GDBVN}/bfd -../configure @var{host} -@end group -@end smallexample +You should run the @code{configure} script from the top directory in the +source tree, the @file{gdb-@var{version-number}} directory. If you run +@code{configure} from one of the subdirectories, you will configure only +that subdirectory. That is usually not what you want. In particular, +if you run the first @code{configure} from the @file{gdb} subdirectory +of the @file{gdb-@var{version-number}} directory, you will omit the +configuration of @file{bfd}, @file{readline}, and other sibling +directories of the @file{gdb} subdirectory. This leads to build errors +about missing include files such as @file{bfd/bfd.h}. You can install @code{@value{GDBP}} anywhere; it has no hardwired paths. However, you should make sure that the shell on your path (named by @@ -14170,6 +14286,12 @@ the example, you'd find the Sun 4 library @file{libiberty.a} in the directory @file{gdb-sun4/libiberty}, and @value{GDBN} itself in @file{gdb-sun4/gdb}. +Make sure that your path to the @file{configure} script has just one +instance of @file{gdb} in it. If your path to @file{configure} looks +like @file{../gdb-@value{GDBVN}/gdb/configure}, you are configuring only +one subdirectory of @value{GDBN}, not the whole package. This leads to +build errors about missing include files such as @file{bfd/bfd.h}. + One popular reason to build several @value{GDBN} configurations in separate directories is to configure @value{GDBN} for cross-compiling (where @value{GDBN} runs on one machine---the @dfn{host}---while debugging @@ -14373,18 +14495,58 @@ warning message. @kindex maint print registers @kindex maint print raw-registers @kindex maint print cooked-registers +@kindex maint print register-groups @item maint print registers @itemx maint print raw-registers @itemx maint print cooked-registers +@itemx maint print register-groups Print @value{GDBN}'s internal register data structures. -The command @samp{maint print raw-registers} includes the contents of -the raw register cache; and the command @samp{maint print -cooked-registers} includes the (cooked) value of all registers. -@xref{Registers,, Registers, gdbint, @value{GDBN} Internals}. +The command @code{maint print raw-registers} includes the contents of +the raw register cache; the command @code{maint print cooked-registers} +includes the (cooked) value of all registers; and the command +@code{maint print register-groups} includes the groups that each +register is a member of. @xref{Registers,, Registers, gdbint, +@value{GDBN} Internals}. + +Takes an optional file parameter. + +@kindex maint print reggroups +@item maint print reggroups +Print @value{GDBN}'s internal register group data structures. Takes an optional file parameter. +@smallexample +(gdb) @kbd{maint print reggroups} + Group Type + general user + float user + all user + vector user + system user + save internal + restore internal +@end smallexample + +@kindex maint set profile +@kindex maint show profile +@cindex profiling GDB +@item maint set profile +@itemx maint show profile +Control profiling of @value{GDBN}. + +Profiling will be disabled until you use the @samp{maint set profile} +command to enable it. When you enable profiling, the system will begin +collecting timing and execution count data; when you disable profiling or +exit @value{GDBN}, the results will be written to a log file. Remember that +if you use profiling, @value{GDBN} will overwrite the profiling log file +(often called @file{gmon.out}). If you have a record of important profiling +data in a @file{gmon.out} file, be sure to move it to a safe location. + +Configuring with @samp{--enable-profiling} arranges for @value{GDBN} to be +compiled with the @samp{-pg} compiler option. + @end table diff --git a/gdb/doc/gdbint.texinfo b/gdb/doc/gdbint.texinfo index 3b6293f81e3..cf35a2817d8 100644 --- a/gdb/doc/gdbint.texinfo +++ b/gdb/doc/gdbint.texinfo @@ -2295,9 +2295,8 @@ always linked in.) @item USG Means that System V (prior to SVR4) include files are in use. (FIXME: -This symbol is abused in @file{infrun.c}, @file{regex.c}, -@file{remote-nindy.c}, and @file{utils.c} for other things, at the -moment.) +This symbol is abused in @file{infrun.c}, @file{regex.c}, and +@file{utils.c} for other things, at the moment.) @item lint Define this to help placate @code{lint} in some situations. @@ -2913,18 +2912,6 @@ machine. @table @code -@item ADDITIONAL_OPTIONS -@itemx ADDITIONAL_OPTION_CASES -@itemx ADDITIONAL_OPTION_HANDLER -@itemx ADDITIONAL_OPTION_HELP -@findex ADDITIONAL_OPTION_HELP -@findex ADDITIONAL_OPTION_HANDLER -@findex ADDITIONAL_OPTION_CASES -@findex ADDITIONAL_OPTIONS -These are a set of macros that allow the addition of additional command -line options to @value{GDBN}. They are currently used only for the unsupported -i960 Nindy target, and should not be used in any other configuration. - @item ADDR_BITS_REMOVE (addr) @findex ADDR_BITS_REMOVE If a raw machine instruction address includes any bits that are not @@ -2990,16 +2977,6 @@ This macro may safely assume that @var{type} is either a pointer or a C@t{++} reference type. @xref{Target Architecture Definition, , Pointers Are Not Always Addresses}. -@item BEFORE_MAIN_LOOP_HOOK -@findex BEFORE_MAIN_LOOP_HOOK -Define this to expand into any code that you want to execute before the -main loop starts. Although this is not, strictly speaking, a target -conditional, that is how it is currently being used. Note that if a -configuration were to define it one way for a host and a different way -for the target, @value{GDBN} will probably not compile, let alone run -correctly. This macro is currently used only for the unsupported i960 Nindy -target, and should not be used in any other configuration. - @item BELIEVE_PCC_PROMOTION @findex BELIEVE_PCC_PROMOTION Define if the compiler promotes a @code{short} or @code{char} @@ -3150,12 +3127,6 @@ Return non-zero if register @var{regnum} can represent data values in a non-standard form. @xref{Target Architecture Definition, , Using Different Register and Memory Data Representations}. -@item DBX_PARM_SYMBOL_CLASS -@findex DBX_PARM_SYMBOL_CLASS -Hook for the @code{SYMBOL_CLASS} of a parameter when decoding DBX symbol -information. In the i960, parameters can be stored as locals or as -args, depending on the type of the debug record. - @item DECR_PC_AFTER_BREAK @findex DECR_PC_AFTER_BREAK Define this to be the amount by which to decrement the PC after the @@ -3232,10 +3203,6 @@ If not defined, @code{EXTRACT_RETURN_VALUE} is used. @findex EXTRACT_STRUCT_VALUE_ADDRESS_P Predicate for @code{EXTRACT_STRUCT_VALUE_ADDRESS}. -@item FLOAT_INFO -@findex FLOAT_INFO -Deprecated in favor of @code{PRINT_FLOAT_INFO}. - @item FP_REGNUM @findex FP_REGNUM If the virtual frame pointer is kept in a register, then define this @@ -3510,6 +3477,28 @@ Return the raw size of @var{reg}; defaults to the size of the register's virtual type. @xref{Target Architecture Definition, , Raw and Virtual Register Representations}. +@item register_reggroup_p (@var{gdbarch}, @var{regnum}, @var{reggroup}) +@findex register_reggroup_p +@cindex register groups +Return non-zero if register @var{regnum} is a member of the register +group @var{reggroup}. + +By default, registers are grouped as follows: + +@table @code +@item float_reggroup +Any register with a valid name and a floating-point type. +@item vector_reggroup +Any register with a valid name and a vector type. +@item general_reggroup +Any register with a valid name and a type other than vector or +floating-point. @samp{float_reggroup}. +@item save_reggroup +@itemx restore_reggroup +@itemx all_reggroup +Any register with a valid name. +@end table + @item REGISTER_VIRTUAL_SIZE (@var{reg}) @findex REGISTER_VIRTUAL_SIZE Return the virtual size of @var{reg}; defaults to the size of the @@ -3652,11 +3641,6 @@ The number of the ``next program counter'' register, if defined. If non-zero, round arguments to a boundary of this many bits before pushing them on the stack. -@item PRINT_REGISTER_HOOK (@var{regno}) -@findex PRINT_REGISTER_HOOK -If defined, this must be a function that prints the contents of the -given register to standard output. - @item PRINT_TYPELESS_INTEGER @findex PRINT_TYPELESS_INTEGER This is an obscure substitute for @code{print_longest} that seems to @@ -5396,62 +5380,6 @@ target-dependent @file{.h} and @file{.c} files used for your configuration. @end itemize -@section Configuring @value{GDBN} for Release - -@cindex preparing a release -@cindex making a distribution tarball -From the top level directory (containing @file{gdb}, @file{bfd}, -@file{libiberty}, and so on): - -@smallexample -make -f Makefile.in gdb.tar.gz -@end smallexample - -@noindent -This will properly configure, clean, rebuild any files that are -distributed pre-built (e.g. @file{c-exp.tab.c} or @file{refcard.ps}), -and will then make a tarfile. (If the top level directory has already -been configured, you can just do @code{make gdb.tar.gz} instead.) - -This procedure requires: - -@itemize @bullet - -@item -symbolic links; - -@item -@code{makeinfo} (texinfo2 level); - -@item -@TeX{}; - -@item -@code{dvips}; - -@item -@code{yacc} or @code{bison}. -@end itemize - -@noindent -@dots{} and the usual slew of utilities (@code{sed}, @code{tar}, etc.). - -@subheading TEMPORARY RELEASE PROCEDURE FOR DOCUMENTATION - -@file{gdb.texinfo} is currently marked up using the texinfo-2 macros, -which are not yet a default for anything (but we have to start using -them sometime). - -For making paper, the only thing this implies is the right generation of -@file{texinfo.tex} needs to be included in the distribution. - -For making info files, however, rather than duplicating the texinfo2 -distribution, generate @file{gdb-all.texinfo} locally, and include the -files @file{gdb.info*} in the distribution. Note the plural; -@code{makeinfo} will split the document into one overall file and five -or so included files. - - @node Releasing GDB @chapter Releasing @value{GDBN} @@ -5987,6 +5915,17 @@ This is identical to the process used to create the daily snapshot. @smallexample $ for m in gdb insight do +( cd $m/src && gmake -f src-release $m.tar ) +done +$ ( m=dejagnu; cd $m/src && gmake -f src-release $m.tar.bz2 ) +@end smallexample + +If the top level source directory does not have @file{src-release} +(@value{GDBN} version 5.3.1 or earlier), try these commands instead: + +@smallexample +$ for m in gdb insight +do ( cd $m/src && gmake -f Makefile.in $m.tar ) done $ ( m=dejagnu; cd $m/src && gmake -f Makefile.in $m.tar.bz2 ) diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo index 52b88b47ff7..c334d45eb3d 100644 --- a/gdb/doc/stabs.texinfo +++ b/gdb/doc/stabs.texinfo @@ -2724,11 +2724,22 @@ compiler it can also be used in other contexts. @node Member Type Descriptor @section The @samp{@@} Type Descriptor -The @samp{@@} type descriptor is for a member (class and variable) type. -It is followed by type information for the offset basetype, a comma, and -type information for the type of the field being pointed to. (FIXME: -this is acknowledged to be gibberish. Can anyone say what really goes -here?). +The @samp{@@} type descriptor is used together with the @samp{*} type +descriptor for a pointer-to-non-static-member-data type. It is followed +by type information for the class (or union), a comma, and type +information for the member data. + +The following C++ source: + +@smallexample +typedef int A::*int_in_a; +@end smallexample + +generates the following stab: + +@smallexample +.stabs "int_in_a:t20=*21=@@19,1",128,0,0,0 +@end smallexample Note that there is a conflict between this and type attributes (@pxref{String Field}); both use type descriptor @samp{@@}. |