From c338a2fdf290f4549f03f49d155b4f702364eb7b Mon Sep 17 00:00:00 2001 From: Roland Pesch Date: Wed, 9 Oct 1991 00:27:09 +0000 Subject: [PATCH] (ORIG: date: 1991/09/21 02:01:41; author: pesch; state: Exp; lines: +175 -110) Update configs table. --- gdb/doc/gdb.texinfo | 281 +++++++++++++++++++++++++++----------------- 1 file changed, 173 insertions(+), 108 deletions(-) diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index fe8263c6ae..4c4e1e2b32 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -31,7 +31,7 @@ _include__(gdbVN.m4) @c @syncodeindex ky cp @c FOR UPDATES LEADING TO THIS DRAFT, GDB CHANGELOG CONSULTED BETWEEN: -@c Thu Aug 22 14:05:47 1991 Stu Grossman (grossman at cygint.cygnus.com) +@c Fri Sep 20 16:10:52 1991 John Gilmore (gnu at cygnus.com) @c Sat Dec 22 02:51:40 1990 John Gilmore (gnu at cygint) @ifinfo This file documents the GNU debugger _GDBN__. @@ -277,6 +277,7 @@ Altering Execution * Signaling:: Giving the Program a Signal * Returning:: Returning from a Function * Calling:: Calling your Program's Functions +* Patching:: Patching your Program _GDBN__'s Files @@ -445,7 +446,8 @@ support for the Gould NP1 and Gould Powernode. Pace Willison contributed Intel 386 support. Jay Vosburgh contributed Symmetry support. -Rich Schaefer helped with support of SunOS shared libraries. +Rich Schaefer and Peter Schauer helped with support of SunOS shared +libraries. Jay Fenlason and Roland McGrath ensured that GDB and GAS agree about several machine instruction sets. @@ -598,7 +600,10 @@ Let's use _GDBN__ to try to see what's going on. @smallexample $ @i{_GDBP__ m4} -Reading symbol data from m4...done. +GDB is free software and you are welcome to distribute copies of it + under certain conditions; type "info copying" to see the conditions. +There is absolutely no warranty for GDB; type "info warranty" for details. +GDB _GDB_VN__, Copyright 1991 Free Software Foundation, Inc... (_GDBP__) @end smallexample @@ -924,8 +929,7 @@ Files}. @item -quiet @itemx -q ``Quiet''. Do not print the introductory and copyright messages. These -messages are also suppressed in batch mode, or if an executable file name is -specified on the _GDBN__ command line. +messages are also suppressed in batch mode. @item -batch Run in batch mode. Exit with status @code{0} after processing all the command @@ -1733,7 +1737,7 @@ breakpoints on overloaded functions that are not members of any special classes. @kindex info breakpoints -@kindex $_ +@cindex @code{$_} and @code{info breakpoints} @item info breakpoints @r{[}@var{n}@r{]} @item info break @r{[}@var{n}@r{]} Print a list of all breakpoints (but not watchpoints) set and not @@ -2209,6 +2213,9 @@ Use the "delete" command to delete unwanted breakpoints. @c FIXME: "cannot insert breakpoints" error, v unclear. @c Q in pending mail to Gilmore. ---pesch@cygnus.com, 26mar91 +@c some light may be shed by looking at instances of +@c ONE_PROCESS_WRITETEXT. But error seems possible otherwise +@c too. pesch, 20sep91 Under some operating systems, breakpoints cannot be used in a program if any other process is running that program. In this situation, attempting to run or continue a program with a breakpoint causes _GDBN__ @@ -2791,22 +2798,37 @@ Here are the forms of the @code{list} command most commonly used: @table @code @item list @var{linenum} -Print ten lines centered around line number @var{linenum} in the +Print lines centered around line number @var{linenum} in the current source file. @item list @var{function} -Print ten lines centered around the beginning of function +Print lines centered around the beginning of function @var{function}. @item list -Print ten more lines. If the last lines printed were printed with a -@code{list} command, this prints ten lines following the last lines +Print more lines. If the last lines printed were printed with a +@code{list} command, this prints lines following the last lines printed; however, if the last line printed was a solitary line printed -as part of displaying a stack frame (@pxref{Stack}), this prints ten +as part of displaying a stack frame (@pxref{Stack}), this prints lines centered around that line. @item list - -Print ten lines just before the lines last printed. +Print lines just before the lines last printed. +@end table + +By default, _GDBN__ prints ten source lines with any of these forms of +the @code{list} command. You can change this using @code{set listsize}: + +@table @code +@item set listsize @var{count} +@kindex set listsize +Make the @code{list} command display @var{count} source lines (unless +the @code{list} argument explicitly specifies some other number). + +@item show listsize +@kindex show listsize +Display the number of lines that @code{list} will currently display by +default. @end table Repeating a @code{list} command with @key{RET} discards the argument, @@ -2823,23 +2845,23 @@ Here is a complete description of the possible arguments for @code{list}: @table @code @item list @var{linespec} -Print ten lines centered around the line specified by @var{linespec}. +Print lines centered around the line specified by @var{linespec}. @item list @var{first},@var{last} Print lines from @var{first} to @var{last}. Both arguments are linespecs. @item list ,@var{last} -Print ten lines ending with @var{last}. +Print lines ending with @var{last}. @item list @var{first}, -Print ten lines starting with @var{first}. +Print lines starting with @var{first}. @item list + -Print ten lines just after the lines last printed. +Print lines just after the lines last printed. @item list - -Print ten lines just before the lines last printed. +Print lines just before the lines last printed. @item list As described in the preceding table. @@ -3005,7 +3027,7 @@ We can also inquire (using @code{*@var{addr}} as the form for Line 926 of "builtin.c" starts at pc 0x63e4 and ends at 0x6404. @end smallexample -@kindex $_ +@cindex @code{$_} and @code{info line} After @code{info line}, the default address for the @code{x} command is changed to the starting address of the line, so that @samp{x/i} is sufficient to begin examining the machine code @@ -3441,8 +3463,7 @@ x/7 @noindent ---where the format and address are allowed to default. -@kindex $_ -@kindex $__ +@cindex @code{$_}, @code{$__}, and value history The addresses and contents printed by the @code{x} command are not put in the value history because there is often too much of them and they would get in the way. Instead, _GDBN__ makes these values available for @@ -3897,14 +3918,16 @@ values likely to be useful. @table @code @item $_ +@kindex $_ The variable @code{$_} is automatically set by the @code{x} command to the last address examined (@pxref{Memory}). Other commands which provide a default address for @code{x} to examine also set @code{$_} to that address; these commands include @code{info line} and @code{info -breakpoint}. @code{$_}'s type is @code{void *} except when set by the +breakpoint}. The type of @code{$_} is @code{void *} except when set by the @code{x} command, in which case it is a pointer to the type of @code{$__}. @item $__ +@kindex $__ The variable @code{$__} is automatically set by the @code{x} command to the value found in the last address examined. Its type is chosen to match the format in which the data was printed. @@ -4065,10 +4088,8 @@ defaults to setting the language automatically. @kindex set language To set the language, issue the command @samp{set language @var{lang}}, -where @var{lang} is the name of a language, such as @code{c} or -@code{m2}, or the extension of a filename written in that language, such -as @file{.c} or @file{.mod}. For a list of the supported -languages, type @samp{set language}. +where @var{lang} is the name of a language: @code{c} or @code{modula-2}. +For a list of the supported languages, type @samp{set language}. Setting the language manually prevents _GDBN__ from updating the working language automatically. This can lead to confusion if you try @@ -5320,6 +5341,7 @@ or even return prematurely from a function to its caller. * Signaling:: Giving the Program a Signal * Returning:: Returning from a Function * Calling:: Calling your Program's Functions +* Patching:: Patching your Program @end menu @node Assignment, Jumping, Altering, Altering @@ -5486,7 +5508,7 @@ returned. In contrast, the @code{finish} command (@pxref{Continuing and Stepping}) resumes execution until the selected stack frame returns naturally.@refill -@node Calling, , Returning, Altering +@node Calling, Patching, Returning, Altering @section Calling your Program's Functions @cindex calling functions @@ -5502,6 +5524,39 @@ execute a function from your program, but without cluttering the output with @code{void} returned values. The result is printed and saved in the value history, if it is not void. +@node Patching, , Calling, Altering +@section Patching your Program +@cindex patching binaries +@cindex writing into executables +@cindex writing into corefiles +By default, _GDBN__ opens the file containing your program's executable +code (or the corefile) read-only. This prevents accidental alterations +to machine code; but it also prevents you from intentionally patching +your program's binary. + +If you'd like to be able to patch the binary, you can specify that +explicitly with the @code{set write} command. For example, you might +want to turn on internal debugging flags, or even to make emergency +repairs. + +@table @code +@item set write on +@itemx set write off +@kindex set write +If you specify @samp{set write on}, _GDBN__ will open executable and +core files for both reading and writing; if you specify @samp{set write +off} (the default), _GDBN__ will open them read-only. + +If you've already loaded a file, you must load it +again (using the @code{exec-file} or @code{core-file} command) after +changing @code{set write}, for your new setting to take effect. + +@item show write +Display whether executable files and core files will be opened for +writing as well as reading. + +@end table + @node _GDBN__ Files, Targets, Altering, Top @chapter _GDBN__'s Files @@ -5672,37 +5727,35 @@ All file-specifying commands allow both absolute and relative file names as arguments. _GDBN__ always converts the file name to an absolute path name and remembers it that way. -@kindex sharedlibrary -@kindex share @cindex shared libraries -_GDBN__ supports the SunOS shared library format. Symbols from a shared -library cannot be referenced before the shared library has been linked -with the program. (That is to say, until after you type @code{run} and -the function @code{main} has been entered; or when examining core -files.) Once the shared library has been linked in, you can use the -following commands: +_GDBN__ supports the SunOS shared library format. _GDBN__ automatically +loads symbol definitions from shared libraries when you use the +@code{run} command, or when you examine a core file. (Before you issue +the @code{run} command, _GDBN__ won't understand references to a +function in a shared library, however---unless you're debugging a core +file). +@c FIXME: next _GDBN__ release should permit some refs to undef +@c FIXME...symbols---eg in a break cmd---assuming they're from a shared lib @table @code -@item sharedlibrary @var{regex} -@itemx share @var{regex} -Load shared object library symbols for files matching a UNIX regular -expression. - -@item share -@itemx sharedlibrary -Load symbols for all shared libraries. - @item info share @itemx info sharedlibrary @kindex info sharedlibrary @kindex info share -Print the names of the shared libraries which you have loaded with the -@code{sharedlibrary} command. -@end table +Print the names of the shared libraries which are currently loaded. -@code{sharedlibrary} does not repeat automatically when you press -@key{RET} after using it once. +@item sharedlibrary @var{regex} +@itemx share @var{regex} +@kindex sharedlibrary +@kindex share +This is an obsolescent command; you can use it to explicitly +load shared object library symbols for files matching a UNIX regular +expression, but as with files loaded automatically, it will only load +shared libraries required by your program for a core file or after +typing @code{run}. If @var{regex} is omitted all shared libraries +required by your program are loaded. +@end table @node Symbol Errors, , Files, _GDBN__ Files @section Errors Reading Symbol Files @@ -7176,30 +7229,36 @@ prefix'' column ending in a @samp{*} may be followed by a release number. ARCHITECTURE VENDOR OS prefix ------------+-------------+------------- | | - a29k | altos | aix* - alliant | aout | aout - arm | apollo | bout - c1 | att | bsd* - c2 | bout | coff - i386 | coff | ctix* - i860 | convergent | dynix* - i960 | convex | esix* - m68000 | dec | hpux* - m68k | encore | isc* - m88k | gould | mach* - mips | hp | newsos* - ns32k | ibm | nindy* - pyramid | intel | none - rs6000 | isi | osf* - rtpc | little | sco* - sparc | mips | sunos* - tahoe | motorola | sysv* - tron | ncr | ultrix* - vax | next | unos* - | none | v88r* - | sco | vms* - | sequent | vxworks* - | sgi | + 580 | altos | aix* + a29k | amdahl | amigados + alliant | aout | aout + arm | apollo | bout + c1 | att | bsd* + c2 | bull | coff + cray2 | bcs | ctix* + h8300 | bout | dynix* + i386 | cbm | esix* + i860 | coff | hpux* + i960 | convergent | irix* + m68000 | convex | isc* + m68k | cray | kern + m88k | dec | mach* + mips | encore | newsos* + ns32k | gould | nindy* + pyramid | hp | none + romp | ibm | osf* + rs6000 | intel | sco* + rtpc | isi | sunos* + sparc | little | svr4 + tahoe | mips | sym* + tron | motorola | sysv* + vax | ncr | ultrix* + xmp | next | unicos + ymp | none | unos* + | nyu | uts + | sco | v88r* + | sequent | vms* + | sgi | vxworks* | sony | | sun | | unicom | @@ -7208,47 +7267,53 @@ ARCHITECTURE VENDOR OS prefix @end example @end ifinfo +@c FIXME: this table is probably screwed in @smallbook. Try setting +@c FIXME...smallbook fonts? @tex -\vskip \parskip\vskip \baselineskip -\halign{\hskip\parindent\tt #\hfil &\qquad#&\tt #\hfil &\qquad#&\tt #\hfil\cr +%\vskip\parskip +\vskip \baselineskip +\halign{\hskip\parindent\tt #\hfil &\qquad#&\tt #\hfil &\qquad#&\tt +#\hfil &\qquad\qquad\it #\hfil\cr {\bf Architecture} &&{\bf Vendor} &&{\bf OS prefix}\cr -\noalign{\hrule} +\multispan5\hrulefill\cr \cr - a29k &&altos &&aix*\cr - alliant &&aout &&aout\cr - arm &&apollo &&bout\cr - c1 &&att &&bsd*\cr - c2 &&bout &&coff\cr - i386 &&coff &&ctix*\cr - i860 &&convergent &&dynix*\cr - i960 &&convex &&esix*\cr - m68000 &&dec &&hpux*\cr - m68k &&encore &&isc*\cr - m88k &&gould &&mach*\cr - mips &&hp &&newsos*\cr - ns32k &&ibm &&nindy*\cr - pyramid &&intel &&none\cr - rs6000 &&isi &&osf*\cr - rtpc &&little &&sco*\cr - sparc &&mips &&sunos*\cr - tahoe &&motorola &&sysv*\cr - tron &&ncr &&ultrix*\cr - vax &&next &&unos*\cr - &&none &&v88r*\cr - &&sco &&vms*\cr - &&sequent &&vxworks*\cr - &&sgi \cr - &&sony \cr - &&sun \cr - &&unicom \cr - &&utek \cr - &&wrs \cr + 580 && altos && aix* \cr + a29k && amdahl && amigados\cr + alliant && aout && aout \cr + arm && apollo && bout \cr + c1 && att && bsd* \cr + c2 && bull && coff \cr + cray2 && bcs && ctix* \cr + h8300 && bout && dynix* \cr + i386 && cbm && esix* \cr + i860 && coff && hpux* &Warning: Many combinations \cr + i960 && convergent && irix* &of architecture, vendor \cr + m68000 && convex && isc* &and OS are untested. \cr + m68k && cray && kern \cr + m88k && dec && mach* \cr + mips && encore && newsos* \cr + ns32k && gould && nindy* \cr + pyramid && hp && none \cr + romp && ibm && osf* \cr + rs6000 && intel && sco* \cr + rtpc && isi && sunos* \cr + sparc && little && svr4 \cr + tahoe && mips && sym* \cr + tron && motorola && sysv* \cr + vax && ncr && ultrix* \cr + xmp && next && unicos \cr + ymp && none && unos* \cr + && nyu && uts \cr + && sco && v88r* \cr + && sequent && vms* \cr + && sgi && vxworks*\cr + && sony &&\cr + && sun &&\cr + && unicom &&\cr + && utek &&\cr + && wrs &&\cr } @end tex -@quotation -@emph{Warning:} Many combinations of architecture, vendor, and OS are -untested. -@end quotation The @code{configure} script accompanying _GDBN__ _GDB_VN__ does not provide any query facility to list all supported host and target names or