### 18.6 Extensions to ‘`.debug_names`’ ¶

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 the augmentation string ‘`GDB2`’. Earlier versions used the string ‘`GDB`’, but these versions of the index are no longer supported.

GDB does not use the specified hash table. Therefore, because this hash table is optional, GDB also does not write it.

GDB also generates and uses some extra 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 ‘`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.