---
name: "avr-gdb-add-index"
section: "1"
platform: "linux"
package: "avr-gdb"
version: "17.2-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/avr-gdb-add-index"
---

# avr-gdb-add-index(1)

Add index files to speed up GDB

## NAME

gdb-add-index - Add index files to speed up GDB

## SYNOPSIS

gdb-add-index \[-h \| --help\] \[-v \| --version\] \[--dwarf-5\] *filename*

## DESCRIPTION

When GDB finds a symbol file, it scans the symbols in the file in order to construct an internal symbol table.  This lets most GDB operations work quickly--at the cost of a delay early on. For large programs, this delay can be quite lengthy, so GDB provides a way to build an index, which speeds up startup.

To determine whether a file contains such an index, use the command `"readelf -S filename"`: the index is stored in a section named `".gdb_index"` (pre-DWARF 5) or `".debug_names"` and `".debug_str"` (DWARF 5).  Indexes can only be produced on systems which use ELF binaries and DWARF debug information (i.e., sections named `".debug_*"`).

By default **gdb-add-index** will add a pre-DWARF 5 `".gdb_index"` section to *filename*.  With **--dwarf-5** the DWARF 5 section `".debug_names"` is added instead.

*filename* must be writable.

**gdb-add-index** uses GDB, **objcopy**, and **readelf** found in the **PATH** environment variable.  If you want to use different versions of these programs, you can specify them through the appropriate environment variables (see below).

**gdb-add-index** exits with status 0 if it succeeds in creating the index for *filename* or greater than 0 if an error occurs.

See more in the GDB manual in node `"Index Files"` -- shell command `"info -f gdb -n "Index Files""`.

## OPTIONS

- **--dwarf-5**

  Add DWARF 5 sections instead of previous `".gdb_index"` section.

- **--help**

  - **-h**

  List all options, with brief explanations.

- **--version**

  - **-v**

  Print version information and then exit.

## ENVIRONMENT

- **GDB**

  Full file name of the `"gdb"` program to use for index generation. If not set, the **PATH** will be searched for a `"gdb"` program.

- **OBJCOPY**

  Full file name of the `"objcopy"` program to use to copy section information into the given file.  If not set, the **PATH** will be searched for a `"objcopy"` program.

- **READELF**

  Full file name of the `"readelf"` program to use to inspect properties of the given file.  If not set, the **PATH** will be searched for a `"readelf"` program.

## SEE ALSO

The full documentation for GDB is maintained as a Texinfo manual. If the `"info"` and `"gdb"` programs and GDB's Texinfo documentation are properly installed at your site, the command

```
        info gdb
```

should give you access to the complete manual.

*Using GDB: A Guide to the GNU Source-Level Debugger*, Richard M. Stallman and Roland H. Pesch, July 1991.

## COPYRIGHT

Copyright (c) 1988-2025 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being "Free Software" and "Free Software Needs Free Documentation", with the Front-Cover Texts being "A GNU Manual," and with the Back-Cover Texts as in (a) below.

(a) The FSF's Back-Cover Text is: "You are free to copy and modify this GNU Manual.  Buying copies from GNU Press supports the FSF in developing GNU and promoting software freedom."
