diff options
author | Tom Tromey <tom@tromey.com> | 2023-12-03 13:42:29 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2024-01-18 08:20:16 -0700 |
commit | 374807b60751a5f890005d16dd8b466b22185a3f (patch) | |
tree | 71b913722e7723ec83327028df2bc171b6763745 /gdb/doc | |
parent | 7da299f0c5a7cb1600835d8c482b0612cdd4db6a (diff) | |
download | gdb-374807b60751a5f890005d16dd8b466b22185a3f.zip gdb-374807b60751a5f890005d16dd8b466b22185a3f.tar.gz gdb-374807b60751a5f890005d16dd8b466b22185a3f.tar.bz2 |
Document GDB extensions to DWARF .debug_names
GDB's new .debug_names implementation uses some extensions. This
patch adds some documentation on this to the manual.
Reviewed-By: Eli Zaretskii <eliz@gnu.org>
Diffstat (limited to 'gdb/doc')
-rw-r--r-- | gdb/doc/gdb.texinfo | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo index 55ebf75..e98c152 100644 --- a/gdb/doc/gdb.texinfo +++ b/gdb/doc/gdb.texinfo @@ -21479,6 +21479,7 @@ program. To debug a core dump of a previous run, you must also tell * Separate Debug Files:: Debugging information in separate files * MiniDebugInfo:: Debugging information in a special section * Index Files:: Index files speed up GDB +* Debug Names:: Extensions to .debug_names * Symbol Errors:: Errors reading symbol files * Data Files:: GDB data files @end menu @@ -22682,6 +22683,44 @@ Print the number of cache hits and misses since the launch of @value{GDBN}. @end table +@node Debug Names +@section Extensions to @samp{.debug_names} +@cindex index files +@cindex @samp{.debug_names} section + +The DWARF specification documents an optional index section called +@samp{.debug_names}. @value{GDBN} can both read and create this +section. However, in order to work with @value{GDBN}, some extensions +were necessary. + +@value{GDBN} uses the augmentation string @samp{GDB2}. Earlier +versions used the string @samp{GDB}, but these versions of the index +are no longer supported. + +@value{GDBN} does not use the specified hash table. Therefore, +because this hash table is optional, @value{GDBN} also does not write +it. + +@value{GDBN} also generates and uses some extra index attributes: +@table @code +@item DW_IDX_GNU_internal +This has the value @samp{0x2000}. It is a flag that, when set, +indicates that the associated entry has @code{static} linkage. + +@item DW_IDX_GNU_main +This has the value @samp{0x2002}. It is a flag that, when set, +indicates that the associated entry is the program's @code{main}. + +@item DW_IDX_GNU_language +This has the value @samp{0x2003}. It is @samp{DW_LANG_} constant, +indicating the language of the associated entry. + +@item DW_IDX_GNU_linkage_name +This has the value @samp{0x2004}. It is a flag that, when set, +indicates that the associated entry is a linkage name, and not a +source name. +@end table + @node Symbol Errors @section Errors Reading Symbol Files |