nld and noft Manual

Native Object File Structure
nld and noft Manual520384-003
8-2
MDEBUG Section
Shared run-time libraries (SRLs) and programs with callable procedures contain
additional sections and segments.
Each code and initialized data segment in a linkfile has a corresponding relocation
table section. This section identifies the places within the code or data segment that
contain linkable references. nld updates these references when it builds a new object
file. When nld builds a loadfile:
All references within the object file are resolved, their addresses are finalized, and
the relocation tables no longer exist.
Any unresolved reference information is placed in the TANDEM_GINFO section.
MDEBUG Section
The MDEBUG section is the object file’s symbol table, which contains the following
tables:
In TNS and accelerated object files, distinct Binder and Inspect symbols regions
contain binding and symbolic debugging information. In TNS/R native object files, a
single symbols region contains the linking and symbolic debugging information. You
can remove either the symbolic debugging information or both the linking and symbolic
debugging information from TNS/R native object files (see Stripping Symbol
Information on page 2-29).
Table 8-2. MDEBUG Section Tables
Table Purpose
External symbol table
1
Describes the code and data addresses that are meaningful
outside a single compilation. Each procedure name or data
name is either defined or undefined. If the name is defined, it
actually exists in the object file. If the name is undefined, it
references an entity that is defined in another object file.
Procedure descriptor table
1
Provides additional information about all procedures within
the object file.
File descriptor table
2
Keeps track of the source code files used in compilations.
Line number table
2
Keeps track of the line numbers in a source code file. Used
with the file descriptor table to map instructions to source
code line numbers.
Local symbol table
2
Stores information about local symbols defined within
procedures and subprocedures, or fields within global data
blocks.
1. Provides the information nld needs to link object files together.
2. Can be used to help debug a program.