6.3. Compiler Module Structure

6.3.1. Intermediate Program Representations

The compiler generates assembly language, which is automatically passed to the assembler. The assembler generates object code, and several different object code formats are supported. The utility program objcopy may be used to change the format among any of those supported.

6.3.2. Final Program Representation

The final program representation is one of a number of industry-standard formats, including but not limited to the following:

The default format is COFF, which can include symbolic information to help with debugging. When COFF files are converted into the other formats, some or all of the debugging information might be lost.

6.3.3. Compiler Interfaces to Other Tools

LEON Ada provides information for other tools, notably the GNU debugger GDB and the GNU profiler GPROF. GPROF is not included with LEON Ada, but may be used with a native Ada compiler to provide a useful analysis of software that is intended to be run on the target microprocessor. LEON Ada can also provide information for future program analysis tools. This is done by an implementation-defined pragma that allows the programmer to annotate the Ada source with arbitrary comments that are preserved in the internal data structures.