Next: Symbol Errors, Previous: Index Files, Up: GDB Files [Contents][Index]
The DWARF specification documents an optional index section called ‘.debug_names’. GDB can both read and create this section. However, in order to work with GDB, some extensions were necessary.
GDB uses an augmentation string to specify which extensions are in use and to allow support of backwards-incompatible changes in this functionality. The augmentation string has the form ‘GDBn’, where n is an integral version number of the extensions, which is incremented when the extensions are added or modified. The smallest n is 2; earlier versions of GDB used just ‘GDB’ with no version number, but these versions of the index are no longer supported.
Here is a list of augmentation string versions along with the changes introduced with each version, compared to the previous version.
Specifies the use of attributes DW_IDX_GNU_internal
,
DW_IDX_GNU_main
, DW_IDX_GNU_language
and
DW_IDX_GNU_linkage_name
, described below.
Changes the semantic of the DW_IDX_parent
attribute.
With ‘GDB2’, DW_IDX_parent
provided an offset into the name
table. With ‘GDB3’, it now provides an offset to the index entry
of the parent, relative to the start of the entry pool region.
GDB produces indexes with the augmentation string ‘GDB3’.
GDB can read indexes with augmentation strings ‘GDB2’ or ‘GDB3’. GDB does not support reading indexes with any other augmentation strings.
GDB does not use the specified hash table. Therefore, because this hash table is optional, GDB also does not write it.
GDB generates and uses the following non-standard index attributes:
DW_IDX_GNU_internal
This has the value ‘0x2000’. It is a flag that, when set,
indicates that the associated entry has static
linkage.
DW_IDX_GNU_main
This has the value ‘0x2002’. It is a flag that, when set,
indicates that the associated entry is the program’s main
.
DW_IDX_GNU_language
This has the value ‘0x2003’. It is a ‘DW_LANG_’ constant, indicating the language of the associated entry.
DW_IDX_GNU_linkage_name
This has the value ‘0x2004’. It is a flag that, when set, indicates that the associated entry is a linkage name, and not a source name.
Next: Symbol Errors, Previous: Index Files, Up: GDB Files [Contents][Index]