DWARF Definition

This section3.18defines the Debug With Arbitrary Record Format (DWARF) debugging format for the AMD64 processor family. The AMD64 ABI does not define a debug format. However, all systems that do implement DWARF shall use the following definitions.

DWARF is a specification developed for symbolic, source-level debugging. The debugging information format does not favor the design of any compiler or debugger. For more information on DWARF, see DWARF Debugging Information Format, revision: Version 2.0.0, July 27, 1993, UNIX International, Program Languages SIG.

DWARF Release Number

The DWARF definition requires some machine-specific definitions. The register number mapping needs to be specified for the AMD64 registers. In addition, the DWARF Version 2 specification requires processor-specific address class codes to be defined.

DWARF Register Number Mapping

Table [*]3.19 outlines the register number mapping for the AMD64 processor family.3.20

Figure: DWARF Register Number Mapping
\begin{tabular}{l\vert r\vert l}
...mm0}}\xspace --{\texttt{\%mm7}}\xspace \\


... section3.18
This section is structured in a way similar to the PowerPC psABI
The table defines Return Address to have a register number, even though the address is stored in 0(%rsp) and not in a physical register.
This document does not define mappings for privileged registers.
Jan Hubicka 2003-05-04