About this Manual

This book describes the organization and usage of object files and images that are built on HP Tru64 UNIX systems.

Audience

This manual is targeted for compiler and debugger writers and other developers who must access or manipulate object files. A familiarity with basic program development and symbol table concepts is assumed.

Necessity

This manual is designed to fill a need for technical information for back-end developers working on the Tru64 UNIX operating system. It supplements or replaces information that has previously been available in the Assembly Language Programmer's Guide.

Organization

This manual is organized as follows:

Chapter 1 Provides background information on the development environment and describes the high-level organization and usage of object files.
Chapter 2 Describes the header sections of the object file.
Chapter 3 Describes the contents of the "raw data" sections of the object file.
Chapter 4 Describes the relocation process and related structures stored in the object file.
Chapter 5 Describes the compact relocations and linkerdef entries used by post-link object modification tools.
Chapter 6 Describes the symbol table structure and general contents.
Chapter 7 Describes source file and line number information.
Chapter 8 Describes run-time information used by debuggers.
Chapter 9 Describes profile feedback data used for feedback-driven code generation optimizations.
Chapter 10 Describes object annotation data used for characterizing a procedure's text for post-link optimization.
Chapter 11 Describes scope, symbol, and type information used by debuggers.
Chapter 13 Describes information used for symbol resolution.
Chapter 14 Describes the object file sections containing dynamic loading information.
Chapter 15 Describes the format and usage of the object file comment section.
Chapter 16 Describes the archive file format.
Chapter 17 Provides examples that illustrate symbol table representations.
Chapter 18 Provides programming examples to illustrate object file and symbol table access.

Related Documents

This manual discusses the object file format from the perspective of tools that produce or use object files. Understanding the purpose of these tools is a prerequisite, but this information is touched upon briefly in this document. The primary source for information on system programs in the development environment is the Programmer's Guide. The default debugger on Tru64 UNIX is the ladebug debugger, which is treated separately in the Ladebug Debugger Manual.

The contents of object files are also tied to the Alpha architectural implementation. The Assembly Language Programmer's Guide provides an architectural overview that focuses on assembly level instructions and directives. Architectural documentation is also available in the Alpha Architecture Reference Manual.

The Calling Standard for Alpha Systems also contains material related to this manual. The calling standard defines the interface and other requirements for procedure calls on Alpha platforms.

Icons on Tru64 UNIX Printed Manuals

The printed version of the Tru64 UNIX documentation uses letter icons on the spines of the manuals to help specific audiences quickly find the manuals that meet their needs. (You can order the printed documentation from HP.) The following list describes this convention:

  G Manuals for general users
  S Manuals for system and network administrators
  P Manuals for programmers
  R Manuals for reference page users

Some manuals in the documentation help meet the needs of several audiences. For example, the information in some system manuals is also used by programmers. Keep this in mind when searching for information on specific topics.

The Documentation Overview provides information on all of the manuals in the Tru64 UNIX documentation set.

Reader's Comments

HP welcomes any comments and suggestions you have on this and other Tru64 UNIX manuals.

You can send your comments in the following ways:

Please include the following information along with your comments:

The Tru64 UNIX Publications group cannot respond to system problems or technical support inquiries. Please address technical questions to your local system vendor or to the appropriate HP technical support office. Information provided with the software media explains how to send problem reports to HP.

Conventions

The following conventions are used in this manual:

%
$

A percent sign represents the C shell system prompt. A dollar sign represents the system prompt for the Bourne, Korn, and POSIX shells.

#

A number sign represents the superuser prompt.

% cat

Boldface type in interactive examples indicates typed user input.

file

Italic (slanted) type indicates variable values, placeholders, and function argument names.

[ | ]
{ | }

In syntax definitions, brackets indicate items that are optional and braces indicate items that are required. Vertical bars separating items inside brackets or braces indicate that you choose one item from among those listed.

colored text

In syntax definitions, literal elements are colored green. Variable values, placeholders, and function argument names are colored red. No special colored text is used outside of syntax descriptions.

. . .

In syntax definitions, a horizontal ellipsis indicates that the preceding item can be repeated one or more times.


.
.
.

A vertical ellipsis indicates that a portion of an example that would normally be present is not shown.

cat(1)

A cross-reference to a reference page includes the appropriate section number in parentheses. For example, cat(1) indicates that you can find information on the cat command in Section 1 of the reference pages.

[Return]

In an example, a key name enclosed in a box indicates that you press that key.

[Ctrl/x]

This symbol indicates that you hold down the first named key while pressing the key or mouse button that follows the slash. In examples, this key combination is enclosed in a box (for example, [Ctrl/C] ).

Alt x

Multiple key or mouse button names separated by spaces indicate that you press and release each in sequence. In examples, each key in the sequence is enclosed in a box (for example, [Alt] [Q] ).

Colored ink

Colored ink indicates information that you enter from the keyboard or a screen object that you must choose or click on.