diff options
Diffstat (limited to 'gdb/doc/gdb.texinfo')
-rw-r--r-- | gdb/doc/gdb.texinfo | 480 |
1 files changed, 329 insertions, 151 deletions
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 86cd420..eb2aff9 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -2742,7 +2742,7 @@ environment: @end smallexample This command is available when debugging locally on most targets, excluding -@sc{djgpp}, Cygwin, MS Windows, and QNX Neutrino. +@sc{djgpp}, Cygwin, and MS Windows. @kindex set startup-with-shell @anchor{set startup-with-shell} @@ -4289,7 +4289,7 @@ includes changes in memory, registers, and even (within some limits) system state. Effectively, it is like going back in time to the moment when the checkpoint was saved. -Thus, if you're stepping thru a program and you think you're +Thus, if you're stepping through a program and you think you're getting close to the point where things go wrong, you can save a checkpoint. Then, if you accidentally go too far and miss the critical statement, instead of having to restart your program @@ -7077,33 +7077,6 @@ $1 = (void *) 0x7ffff7ff7000 Depending on target support, @code{$_siginfo} may also be writable. -@cindex Intel MPX boundary violations -@cindex boundary violations, Intel MPX -On some targets, a @code{SIGSEGV} can be caused by a boundary -violation, i.e., accessing an address outside of the allowed range. -In those cases @value{GDBN} may displays additional information, -depending on how @value{GDBN} has been told to handle the signal. -With @code{handle stop SIGSEGV}, @value{GDBN} displays the violation -kind: "Upper" or "Lower", the memory address accessed and the -bounds, while with @code{handle nostop SIGSEGV} no additional -information is displayed. - -The usual output of a segfault is: -@smallexample -Program received signal SIGSEGV, Segmentation fault -0x0000000000400d7c in upper () at i386-mpx-sigsegv.c:68 -68 value = *(p + len); -@end smallexample - -While a bound violation is presented as: -@smallexample -Program received signal SIGSEGV, Segmentation fault -Upper bound violation while accessing address 0x7fffffffc3b3 -Bounds: [lower = 0x7fffffffc390, upper = 0x7fffffffc3a3] -0x0000000000400d7c in upper () at i386-mpx-sigsegv.c:68 -68 value = *(p + len); -@end smallexample - @node Thread Stops @section Stopping and Starting Multi-thread Programs @@ -7686,7 +7659,7 @@ the called function, stopping at the beginning of the @emph{last} statement in the called function (typically a return statement). Also, as with the @code{step} command, if non-debuggable functions are -called, @code{reverse-step} will run thru them backward without stopping. +called, @code{reverse-step} will run through them backward without stopping. @kindex reverse-stepi @kindex rsi @r{(@code{reverse-stepi})} @@ -7784,6 +7757,9 @@ Moxie, PowerPC, PowerPC64, S/390, and x86 (i386/amd64) running GNU/Linux. Process record and replay can be used both when native debugging, and when remote debugging via @code{gdbserver}. +When recording an inferior, @value{GDBN} may print auxiliary information +during stepping commands and commands displaying the execution history. + For architecture environments that support process record and replay, @value{GDBN} provides the following commands: @@ -8113,6 +8089,16 @@ also need longer to process the branch trace data before it can be used. Show the current setting of the requested ring buffer size for branch tracing in Intel Processor Trace format. +@item set record btrace pt event-tracing +Enable or disable event tracing for branch tracing in Intel Processor +Trace format. When enabled, events are recorded during execution as +auxiliary information and will be printed during stepping commands and +commands displaying the execution history. Changing this setting has no +effect on an active recording. The default is off. + +@item show record btrace pt event-tracing +Show the current setting of Intel Processor Trace event tracing. + @kindex info record @item info record Show various statistics about the recording depending on the recording @@ -8199,6 +8185,9 @@ To better align the printed instructions when the trace contains instructions from more than one function, the function name may be omitted by specifying the @code{/f} modifier. +Printing auxiliary information is enabled by default and can be +omitted with the @code{/a} modifier. + Speculatively executed instructions are prefixed with @samp{?}. This feature is not available for all recording formats. @@ -8252,8 +8241,9 @@ that function, the source lines for this instruction sequence (if the @code{/l} modifier is specified), and the instructions numbers that form the sequence (if the @code{/i} modifier is specified). The function names are indented to reflect the call stack depth if the @code{/c} modifier is -specified. The @code{/l}, @code{/i}, and @code{/c} modifiers can be given -together. +specified. Printing auxiliary information is enabled by default and can be +omitted with the @code{/a} modifier. The @code{/l}, @code{/i}, @code{/a}, +and @code{/c} modifiers can be given together. @smallexample (@value{GDBP}) @b{list 1, 10} @@ -16238,6 +16228,9 @@ the data was saved, as well as the current trace frame you are examining. Both @var{filename} and @var{dirname} must be on a filesystem accessible to the host. +The @var{filename} and @var{dirname} arguments supports escaping and +quoting, see @ref{Filename Arguments,,Filenames As Command Arguments}. + @smallexample (@value{GDBP}) target ctf ctf.ctf (@value{GDBP}) tfind @@ -18305,6 +18298,9 @@ All Modula-2 built-in procedures also return a result, described below. @item ABS(@var{n}) Returns the absolute value of @var{n}. +@item ADR(@var{n}) +Returns the memory address of @var{n}. + @item CAP(@var{c}) If @var{c} is a lower case letter, it returns its upper case equivalent, otherwise it returns its argument. @@ -18825,6 +18821,12 @@ operand of the membership (@code{in}) operator. @item @t{'Address}. + +@item +@t{'Size} is available for objects (not types). + +@item +@t{'Object_Size} is available, but not for indefinite types. @end itemize @item @@ -20412,6 +20414,7 @@ libraries. When set to @code{off} no messages are printed. Show whether messages will be printed when a @value{GDBN} command entered from the keyboard causes symbol information to be loaded. +@anchor{maint print symbols} @kindex maint print symbols @cindex symbol dump @kindex maint print psymbols @@ -21337,6 +21340,9 @@ Like @code{compile code}, but take the source code from @var{filename}. @smallexample compile file /home/user/example.c @end smallexample + +The @var{filename} argument supports escaping and quoting, see +@ref{Filename Arguments,,Filenames As Command Arguments}. @end table @table @code @@ -21885,6 +21891,7 @@ Remove symbol table from file "/home/user/gdb/mylib.so"? (y or n) y (@value{GDBP}) @end smallexample +The @var{address} can be any expression which evaluates to an address. @code{remove-symbol-file} does not repeat if you press @key{RET} after using it. @@ -22011,7 +22018,7 @@ name and remembers it that way. @cindex shared libraries @anchor{Shared Libraries} @value{GDBN} supports @sc{gnu}/Linux, MS-Windows, SunOS, -Darwin/Mach-O, SVr4, IBM RS/6000 AIX, QNX Neutrino, FDPIC (FR-V), and +Darwin/Mach-O, SVr4, IBM RS/6000 AIX, FDPIC (FR-V), and DSBT (TIC6X) shared libraries. On MS-Windows @value{GDBN} must be linked with the Expat library to support @@ -22782,6 +22789,9 @@ the @option{-dwarf-5} option, it produces 2 files: @file{@var{symbol-file}.debug_names} and @file{@var{symbol-file}.debug_str}. The files are created in the given @var{directory}. + +The @var{directory} argument supports escaping and quoting, see +@ref{Filename Arguments,,Filenames As Command Arguments}. @end table Once you have created an index file you can merge it into your symbol @@ -22861,6 +22871,19 @@ Print the number of cache hits and misses since the launch of @value{GDBN}. @end table +@subsection Building the index with GNU @command{gold} + +The GNU @command{gold} linker can write the index at link time into +the resulting ELF file, by passing the @command{--gdb-index} flag to +@command{gold}. + +This is especially helpful if you intend to build a program and immediately +run it under @value{GDBN}. You may find that it is faster overall for +the linker to write the index while it has the relevant information in +memory anyways, rather than re-reloading the data from disk with +@command{gdb-add-index}, or debugging the program without an index at +all, especially for large programs. + @node Debug Names @section Extensions to @samp{.debug_names} @cindex index files @@ -23152,11 +23175,17 @@ configuration): An executable file. @samp{target exec @var{program}} is the same as @samp{exec-file @var{program}}. +The @var{program} argument supports escaping and quoting, see +@ref{Filename Arguments,,Filenames As Command Arguments}. + @item target core @var{filename} @cindex core dump file target A core dump file. @samp{target core @var{filename}} is the same as @samp{core-file @var{filename}}. +The @var{filename} argument supports escaping and quoting, see +@ref{Filename Arguments,,Filenames As Command Arguments}. + @item target remote @var{medium} @cindex remote target A remote system connected to @value{GDBN} via a serial line or network @@ -24534,6 +24563,10 @@ future connections is shown. The available settings are: @tab @code{vFile:fstat} @tab Host I/O +@item @code{hostio-stat-packet} +@tab @code{vFile:stat} +@tab Host I/O + @item @code{hostio-setfs-packet} @tab @code{vFile:setfs} @tab Host I/O @@ -25203,16 +25236,6 @@ Show the file to which @code{procfs} API trace is written. These commands enable and disable tracing of entries into and exits from the @code{syscall} interface. -@item info pidlist -@kindex info pidlist -@cindex process list, QNX Neutrino -For QNX Neutrino only, this command displays the list of all the -processes and all the threads within each process. - -@item info meminfo -@kindex info meminfo -@cindex mapinfo list, QNX Neutrino -For QNX Neutrino only, this command displays the list of all mapinfos. @end table @node DJGPP Native @@ -26775,91 +26798,6 @@ Show the current setting of the convention to return @code{struct}s from functions. @end table - -@subsubsection Intel @dfn{Memory Protection Extensions} (MPX). -@cindex Intel Memory Protection Extensions (MPX). - -Memory Protection Extension (MPX) adds the bound registers @samp{BND0} -@footnote{The register named with capital letters represent the architecture -registers.} through @samp{BND3}. Bound registers store a pair of 64-bit values -which are the lower bound and upper bound. Bounds are effective addresses or -memory locations. The upper bounds are architecturally represented in 1's -complement form. A bound having lower bound = 0, and upper bound = 0 -(1's complement of all bits set) will allow access to the entire address space. - -@samp{BND0} through @samp{BND3} are represented in @value{GDBN} as @samp{bnd0raw} -through @samp{bnd3raw}. Pseudo registers @samp{bnd0} through @samp{bnd3} -display the upper bound performing the complement of one operation on the -upper bound value, i.e.@ when upper bound in @samp{bnd0raw} is 0 in the -@value{GDBN} @samp{bnd0} it will be @code{0xfff@dots{}}. In this sense it -can also be noted that the upper bounds are inclusive. - -As an example, assume that the register BND0 holds bounds for a pointer having -access allowed for the range between 0x32 and 0x71. The values present on -bnd0raw and bnd registers are presented as follows: - -@smallexample - bnd0raw = @{0x32, 0xffffffff8e@} - bnd0 = @{lbound = 0x32, ubound = 0x71@} : size 64 -@end smallexample - -This way the raw value can be accessed via bnd0raw@dots{}bnd3raw. Any -change on bnd0@dots{}bnd3 or bnd0raw@dots{}bnd3raw is reflect on its -counterpart. When the bnd0@dots{}bnd3 registers are displayed via -Python, the display includes the memory size, in bits, accessible to -the pointer. - -Bounds can also be stored in bounds tables, which are stored in -application memory. These tables store bounds for pointers by specifying -the bounds pointer's value along with its bounds. Evaluating and changing -bounds located in bound tables is therefore interesting while investigating -bugs on MPX context. @value{GDBN} provides commands for this purpose: - -@table @code -@item show mpx bound @var{pointer} -@kindex show mpx bound -Display bounds of the given @var{pointer}. - -@item set mpx bound @var{pointer}, @var{lbound}, @var{ubound} -@kindex set mpx bound -Set the bounds of a pointer in the bound table. -This command takes three parameters: @var{pointer} is the pointers -whose bounds are to be changed, @var{lbound} and @var{ubound} are new values -for lower and upper bounds respectively. -@end table - -Both commands are deprecated and will be removed in future versions of -@value{GDBN}. MPX itself was listed as removed by Intel in 2019. - -When you call an inferior function on an Intel MPX enabled program, -GDB sets the inferior's bound registers to the init (disabled) state -before calling the function. As a consequence, bounds checks for the -pointer arguments passed to the function will always pass. - -This is necessary because when you call an inferior function, the -program is usually in the middle of the execution of other function. -Since at that point bound registers are in an arbitrary state, not -clearing them would lead to random bound violations in the called -function. - -You can still examine the influence of the bound registers on the -execution of the called function by stopping the execution of the -called function at its prologue, setting bound registers, and -continuing the execution. For example: - -@smallexample - $ break *upper - Breakpoint 2 at 0x4009de: file i386-mpx-call.c, line 47. - $ print upper (a, b, c, d, 1) - Breakpoint 2, upper (a=0x0, b=0x6e0000005b, c=0x0, d=0x0, len=48).... - $ print $bnd0 - @{lbound = 0x0, ubound = ffffffff@} : size -1 -@end smallexample - -At this last step the value of bnd0 can be changed for investigation of bound -violations caused along the execution of the call. In order to know how to -set the bound registers or bound table for the call consult the ABI. - @subsubsection x87 registers @value{GDBN} provides access to the x87 state through the following registers: @@ -27936,6 +27874,10 @@ if @value{GDBN} is using its builtin disassembler library for styling (@pxref{style_disassembler_enabled,,@kbd{set style disassembler enabled}}). +@item line-number +Control the styling of line numbers. By default, this style's +intensity is dim. + @item variable Control the styling of variable names. These are managed with the @code{set style variable} family of commands. By default, this style's @@ -29224,9 +29166,21 @@ files. @cindex arguments, to user-defined commands A @dfn{user-defined command} is a sequence of @value{GDBN} commands to which you assign a new name as a command. This is done with the -@code{define} command. User commands may accept an unlimited number of arguments -separated by whitespace. Arguments are accessed within the user command -via @code{$arg0@dots{}$argN}. A trivial example: +@code{define} command. + +User commands may accept an unlimited number of arguments separated by +whitespace. Arguments are accessed within the user command via +@code{$arg0@dots{}$argN}. The arguments are text substitutions, so +they may reference variables, use complex expressions, or even perform +inferior functions calls. Note, however, that this textual +substitution means that working with certain arguments is difficult. +For example, there is no way for the user to pass an argument +containing a space; and while stringifying an argument can be done +using an expression like @code{"$arg1"}, this will fail if the +argument contains a quote. For more complicated and robust commands, +we recommend writing them in Python; see @ref{CLI Commands In Python}. + +A trivial example: @smallexample define adder @@ -29243,9 +29197,7 @@ adder 1 2 3 @noindent This defines the command @code{adder}, which prints the sum of -its three arguments. Note the arguments are text substitutions, so they may -reference variables, use complex expressions, or even perform inferior -functions calls. +its three arguments. @cindex argument count in user-defined commands @cindex how many arguments (user-defined commands) @@ -39822,6 +39774,11 @@ corresponds to the @code{file} command. @xref{Files}. If provided, this must be a boolean. When @samp{True}, @value{GDBN} will set a temporary breakpoint at the program's main procedure, using the same approach as the @code{start} command. @xref{Starting}. + +@item stopOnEntry +If provided, this must be a boolean. When @samp{True}, @value{GDBN} +will set a temporary breakpoint at the program's first instruction, using +the same approach as the @code{starti} command. @xref{Starting}. @end table @value{GDBN} defines some parameters that can be passed to the @@ -41430,7 +41387,8 @@ This command is useful for debugging the agent version of dynamic printf (@pxref{Dynamic Printf}). @kindex maint info breakpoints -@item @anchor{maint info breakpoints}maint info breakpoints +@anchor{maint info breakpoints} +@item maint info breakpoints Using the same format as @samp{info breakpoints}, display both the breakpoints you've set explicitly, and those @value{GDBN} is using for internal purposes. Internal breakpoints are shown with negative @@ -41778,6 +41736,9 @@ target description being processed (either the default, or from @var{file}) must only contain a single feature. The source file produced is different in this case. +The @var{file} argument supports escaping and quoting, see +@ref{Filename Arguments,,Filenames As Command Arguments}. + @kindex maint print xml-tdesc @item maint print xml-tdesc @r{[}@var{file}@r{]} Print the target description (@pxref{Target Descriptions}) as an XML @@ -41846,6 +41807,176 @@ frame-id for frame #0: @{stack=0x7fffffffac70,code=0x0000000000401106,!special@} frame-id for frame #2: @{stack=0x7fffffffac90,code=0x000000000040111c,!special@} @end smallexample +@item maint info inline-frames +@itemx maint info inline-frames @var{address} +@cindex frames of inlined functions +@kindex maint info inline-frames +Print information about inlined frames which start at the current +address, or @var{address} if specified. + +In order to allow the user to correctly step into inlined functions, +@value{GDBN} needs to identify which inlined functions start at a +particular address, and @value{GDBN} also needs to track which of +these functions was last displayed to the user as the current frame. + +Imagine a situation where function @code{main} calls @code{foo}, which +then calls @code{bar}, something like this: + +@smallexample +@group +int +main () +@{ + /* Some interesting code here... */ + + foo (); + + /* More interesting code here... */ +@} + +void +foo () +@{ + bar (); +@} + +void +bar () +@{ + /* Some interesting code here... */ +@} +@end group +@end smallexample + +As both @code{foo} and @code{bar} are inlined within @code{main} then +there could be one address within @code{main} which is also the start +of @code{foo} and also the start of @code{bar}. When the user stops +at this address they will initially be told the inferior is in +@code{main}, if the user does a @kbd{step} then @value{GDBN} doesn't +actually step the inferior, instead the user is told the inferior +entered @code{foo}. After the next @kbd{step} the user is told the +inferior entered @code{bar}. The @kbd{maint info inline-frames} +command can be used to view this internal @value{GDBN} state, like +this: + +@smallexample +@group +(@value{GDBP}) step +24 foo (); +(@value{GDBP}) maintenance info inline-frames +Cached inline state information for thread 1. +program counter = 0x401137 +skipped frames = 2 + bar + foo +> main +@end group +@end smallexample + +Here the user is stopped in @code{main} at the call to @code{foo}. The +inline-frames information shows that at this address @value{GDBN} has +found the start of inlined functions @code{bar} and @code{foo}, but +currently @value{GDBN} has skipped 2 frames and considers @code{main} +to be the current frame, this is indicated with the @samp{>}. + +If the user performs a @kbd{step} to enter @code{foo} then the +situation is updated: + +@smallexample +@group +(@value{GDBP}) step +foo () at inline.c:14 +14 bar (); +(@value{GDBP}) maintenance info inline-frames +Cached inline state information for thread 1. +program counter = 0x401137 +skipped frames = 1 + bar +> foo + main +@end group +@end smallexample + +Notice that the program counter value @code{0x401137} hasn't change, +but now @value{GDBN} considers @code{foo} to be the current frame, and +it is marked as such with the @samp{>}. + +Finally, the user performs another @kbd{step} to enter @code{bar}: + +@smallexample +@group +(@value{GDBP}) step +bar () at inline.c:6 +6 ++global_counter; +(@value{GDBP}) maintenance info inline-frames +Cached inline state information for thread 1. +program counter = 0x401137 +skipped frames = 0 +> bar + foo + main +@end group +@end smallexample + +@kindex maint info blocks +@item maint info blocks +@itemx maint info blocks @var{address} +Print information about all blocks at @var{address}, or at the current +@code{$pc} if @var{address} is not given. + +For information about what blocks are in @value{GDBN} see @ref{Blocks +In Python}. + +Blocks are listed starting from the global block, then the static +block, and then proceeding through progressively narrower scopes. + +Here is an example of the command's output: +@smallexample +@group +(@value{GDBP}) maintenance info blocks +Blocks at 0x401137: + from objfile: [(objfile *) 0x50507d0] /tmp/inline_func_demo + +[(block *) 0x504da90] 0x401106..0x40119a + entry pc: 0x401106 + is global block + symbol count: 2 + is contiguous +@end group +@group +[(block *) 0x504d9f0] 0x401106..0x40119a + entry pc: 0x401106 + is static block + symbol count: 1 + is contiguous +@end group +@group +[(block *) 0x504d9a0] 0x401106..0x40119a + entry pc: 0x401106 + function: main + is contiguous +@end group +@group +[(block *) 0x504d900] 0x401137..0x401166 + entry pc: 0x401137 + inline function: foo + symbol count: 1 + is contiguous +@end group +@group +[(block *) 0x504d860] 0x401137..0x401165 + entry pc: 0x401137 + inline function: bar + symbol count: 1 + is contiguous +@end group +@end smallexample + +The command @kbd{maint info blocks} lists the symbol count for each +block but doesn't print the symbols themselves. The symbol names can +be found using @kbd{maint print symbols} (@pxref{maint print +symbols}). + @kindex maint print registers @kindex maint print raw-registers @kindex maint print cooked-registers @@ -41865,7 +41996,11 @@ including registers which aren't available on the target nor visible to user; the command @code{maint print register-groups} includes the groups that each register is a member of; and the command @code{maint print remote-registers} includes the remote target's register numbers -and offsets in the `G' packets. +and offsets in the `G' packets, as well as an indication of which +registers were included in the last stop reply packet received by +@value{GDBN} (@pxref{Stop Reply Packets}). Please note that the list +of registers included in a stop reply can change from one stop to the +next. These commands take an optional parameter, a file name to which to write the information. @@ -44795,6 +44930,16 @@ These are the currently defined stub features and their properties: @tab @samp{-} @tab Yes +@item @samp{Qbtrace-conf:pt:ptwrite} +@tab Yes +@tab @samp{-} +@tab Yes + +@item @samp{Qbtrace-conf:pt:event-tracing} +@tab Yes +@tab @samp{-} +@tab Yes + @item @samp{QNonStop} @tab No @tab @samp{-} @@ -45116,6 +45261,12 @@ The remote stub understands the @samp{Qbtrace-conf:bts:size} packet. @item Qbtrace-conf:pt:size The remote stub understands the @samp{Qbtrace-conf:pt:size} packet. +@item Qbtrace-conf:pt:ptwrite +The remote stub understands the @samp{Qbtrace-conf:pt:ptwrite} packet. + +@item Qbtrace-conf:pt:event-tracing +The remote stub understands the @samp{Qbtrace-conf:pt:event-tracing} packet. + @item swbreak The remote stub reports the @samp{swbreak} stop reason for memory breakpoints. @@ -45605,6 +45756,30 @@ Reply: The ring buffer size has been set. @end table +@item Qbtrace-conf:pt:ptwrite=@var{(yes|no)} +Indicate support for @code{PTWRITE} packets. This allows for backwards +compatibility. + +Reply: +@table @samp +@item OK +The ptwrite config parameter has been set. +@item E.errtext +A badly formed request or an error was encountered. +@end table + +@item Qbtrace-conf:pt:event-tracing=@var{(yes|no)} +Indicate support for event-tracing packets. This allows for backwards +compatibility. + +Reply: +@table @samp +@item OK +The event-tracing config parameter has been set. +@item E.errtext +A badly formed request or an error was encountered. +@end table + @end table @node Architecture-Specific Protocol Details @@ -46326,6 +46501,13 @@ and the return value is the size of this attachment in bytes. If an error occurs the return value is -1. The format of the returned binary attachment is as described in @ref{struct stat}. +@item vFile:stat: @var{filename} +Get information about the file @var{filename} on the target. +On success the information is returned as a binary attachment +and the return value is the size of this attachment in bytes. +If an error occurs the return value is -1. The format of the +returned binary attachment is as described in @ref{struct stat}. + @item vFile:unlink: @var{filename} Delete the file at @var{filename} on the target. Return 0, or -1 if an error occurs. The @var{filename} is a string. @@ -48231,14 +48413,16 @@ branch trace configuration discovery. @xref{Expat}. The formal DTD for the branch trace configuration format is given below: @smallexample -<!ELEMENT btrace-conf (bts?, pt?)> -<!ATTLIST btrace-conf version CDATA #FIXED "1.0"> +<!ELEMENT btrace-conf (bts?, pt?)> +<!ATTLIST btrace-conf version CDATA #FIXED "1.0"> <!ELEMENT bts EMPTY> -<!ATTLIST bts size CDATA #IMPLIED> +<!ATTLIST bts size CDATA #IMPLIED> <!ELEMENT pt EMPTY> -<!ATTLIST pt size CDATA #IMPLIED> +<!ATTLIST pt size CDATA #IMPLIED> +<!ATTLIST pt ptwrite (yes | no) #IMPLIED> +<!ATTLIST pt event-tracing (yes | no) #IMPLIED> @end smallexample @include agentexpr.texi @@ -49476,16 +49660,6 @@ describe the upper 128 bits of @sc{ymm} registers: @samp{ymm0h} through @samp{ymm15h} for amd64 @end itemize -The @samp{org.gnu.gdb.i386.mpx} is an optional feature representing Intel -Memory Protection Extension (MPX). It should describe the following registers: - -@itemize @minus -@item -@samp{bnd0raw} through @samp{bnd3raw} for i386 and amd64. -@item -@samp{bndcfgu} and @samp{bndstatus} for i386 and amd64. -@end itemize - The @samp{org.gnu.gdb.i386.linux} feature is optional. It should describe a single register, @samp{orig_eax}. @@ -51011,7 +51185,7 @@ Richard M. Stallman and Roland H. Pesch, July 1991. @format @c man begin SYNOPSIS gcore -gcore [-a] [-o @var{prefix}] @var{pid1} [@var{pid2}...@var{pidN}] +gcore [-a] [-o @var{prefix}] [-d @var{directory}] @var{pid1} [@var{pid2}...@var{pidN}] @c man end @end format @@ -51039,6 +51213,10 @@ when composing the file names of the core dumps. The file name is composed as @file{@var{prefix}.@var{pid}}, where @var{pid} is the process ID of the running program being analyzed by @command{gcore}. If not specified, @var{prefix} defaults to @var{gcore}. + +@item -d @var{directory} +Use @var{directory} as the data directory when invoking @value{GDBN} for running +the gcore command. This argument is optional. @end table @c man end |