|
HP OpenVMS Linker Utility Manual
9.2.3 Image Section Synopsis Section (Alpha/VAX)
The Image Section Synopsis section of the linker map file lists the
image sections created by the linker. The image sections appear in the
order in which the linker created them, which is the same order as the
clusters in the linker's cluster list. (For more information about
clusters, see Chapter 6.) The section includes other information
about these image sections, formatted in columns, as in the following
example:
The items in the following list correspond to the numbered items in the
preceding figure:
- Cluster. The name of each cluster the linker
created, listed in the order in which the linker created them.
- Type. The type of image section, expressed
as one of the following codes:
Code |
Image Section Type |
1
|
Shareable fixed image section
|
2
|
Private fixed image section
|
3
|
Shareable position-independent image section
|
4
|
Private position-independent image section
|
253
|
Stack image section
|
For more information about the types of image sections the linker
creates, see Section 7.3.5.
- Pages or pagelets. The length of each image
section, expressed in pages or pagelets.
- Base Address. The base address assigned to
the image section. Note that if the cluster is relocatable, the image
activator relocates the base address. In this case, the base address
entry for each image section in the cluster MY_MATH has the letter
"R" appended to it, indicating that the base address entry is
an offset to be added to the cluster base address assigned by the image
activator.
For Alpha linking, when images are installed as resident images, the
Install utility moves image sections containing code into system space.
This invalidates the base addresses listed for these image sections in
this section of the map file. Note, however, that the relative
positions of the program sections within the image section, listed in
the Program Section Synopsis section of the map file, remain valid when
the image section is moved into system space.
- Disk VBN (virtual block number). The virtual
block number of the image file on disk where the image section begins.
The number 0 indicates that the image section is not in the image file.
- Page fault cluster (PFC). The number of
pagelets read into memory by the operating system when the initial page
fault occurs for that image section. The number 0 indicates that the
system parameter PFCDEFAULT determines this value, rather than the
linker.
- Protection and Paging. A keyword phrase that
characterizes the settings of certain attributes of the image section,
such as the attributes that affect protection and paging. The following
table lists the keywords used by the linker to indicate these
characteristics of an image section:
Keyword |
Meaning |
COPY ON REF
|
Indicates that the image section is a copy-on-reference image section.
Because a copy-on-reference image section is readable and writable, but
not shareable, each process receives a copy of it.
|
DEMAND ZERO
|
Indicates that the image section is a demand-zero image section. (For
more information, see Section 7.4.3.)
|
EXECUTABLE
|
Indicates that the image section contains code.
|
FIXUP VECTORS
|
Indicates that the image section contains the fix-up section. There is
always a change-protection fix-up for the fix-up section, so that when
the image activator is done, the image activator changes the protection
of the image section to READ ONLY.
|
NON-SHAREABLE ADDRESS DATA
|
Indicates that the linker set a READ ONLY page in the image section to
WRITE so that the image activator can fix up address references
(.ADDRESS) in the image section. The linker creates a change-protection
fix-up for these image sections that causes the image activator to set
the attributes of the image section back to READ ONLY when it finishes
processing the address references.
|
READ ONLY
|
Indicates that the image section is protected against write access.
|
READ WRITE
|
Indicates that the image section allows both read and write access.
|
The linker may use more than one keyword to describe an image
section. For example, to describe an image section that contains code,
the linker uses the READ ONLY and EXECUTABLE keywords. Note that a
program section that you may have protected from write access (by
setting the NOWRT program section attribute) may appear in the map file
as writable (with the READ WRITE keyword). If this program section also
has the NON-SHAREABLE ADDRESS DATA keyword (as the first image section
in DEFAULT_CLUSTER illustrates), the linker has enabled write access to
the program section to allow the image activator to fix up address
references in the image section at run time. The image activator resets
the program section attributes to READ ONLY after it is finished.
- Global Section Name. The name assigned by
the linker to each image section comprising a shareable image. The
linker creates the names by appending the characters "_00x"
after the file name, where "x" is an integer, starting with
1, and incremented for each image section in a shareable image.
- Match. The algorithm the image activator
uses when comparing identification numbers in a shareable image,
expressed by the keyword LESS/EQUAL, EQUAL, or ALWAYS. For more
information about this topic, see the description of the GSMATCH=
option in Part 2.
- Majorid. An identification number assigned
to the image. The linker assigns the number to the image if it is not
specified as part of the link operation in the GSMATCH= option.
- Minorid. An identification number assigned
to the image. The linker assigns the number to the image if it is not
specified as part of the link operation in the GSMATCH= option.
9.2.4 Program Section Synopsis Section (Alpha/VAX)
The Program Section Synopsis section lists the program sections that
comprise the image, with information about the size of the program
section, its starting- and ending-addresses, and its attributes. The
Module Name column in this section lists the modules that contribute to
each program section. The following example illustrates this format:
The items in the following list correspond to the numbered items in the
preceding figure:
- Psect Name. The name of each program section
in the image in ascending order of its base virtual address.
- Module Name. The names of the modules that
contribute to the program section whose name appears on the line
directly above in the Psect Name column. If a shareable image appears
in this column, the linker processed the program section as a shareable
image reference.
- Base. The starting virtual address of the
program section or of a module that contributes to a program section.
- End. The ending virtual address of the
program section or of a module that contributes to a program section.
- Length. The total length of the program
section or of a module that contributes to a program section.
- Align. The type of alignment used for the
entire program section or for an individual program section
contribution. The alignment is expressed in two ways. In the first
column, the alignment is expressed using a predefined keyword, such as
OCTA. In the second column, the alignment is expressed as an integer
that is the power of 2 that creates the alignment. For example,
octaword alignment would be expressed as the keyword OCTA and as the
integer 4 (because 24 = 16).
If the linker does not
support a keyword to express an alignment, it puts the text "2
**" in the column in which the keyword usually appears. When read
with the integer in the second column, it expresses these alignments,
such as 2 ** 5.
- Attributes. The attributes associated with
the program section. For a list of all the possible attributes, see
Chapter 7.
For Alpha linking, the linker includes the MOD
attribute in the list of program section attributes (as illustrated in
the example). To make room in the display for this attribute, the
linker leaves out the Readability (RD/NORD) and User Library (USR/LIB)
attributes, which are reserved for future use. For VAX linking, the
list of attributes includes the Readability (RD/NORD) and User Library
(USR/LIB) attributes. The Modified (MOD/NOMOD) attribute, which is not
supported for VAX images, is not included.
Note that, if a routine is extracted from the default system library to
resolve a symbolic reference, the Program Section Synopsis section in a
full map contains information about the program sections comprising
that routine. The Program Section Synopsis section in a default map
does not.
9.2.5 Symbols By Name Section (Alpha/VAX)
The Symbols By Name section lists the global symbols contained in all
the modules included in the link operation. The section includes the
value of the symbol, in the following format:
+-----------------+
! Symbols By Name !
+-----------------+
Symbol (1) Value (2) Symbol Value Symbol Value Symbol Value
------ ----- ------ ----- ------ ----- ------ -----
DECC$EXIT 00001FD0-RX
DECC$GPRINTF 00001710-RX
DECC$MAIN 000007D0-RX
MAIN 00010000-R
MYSUB 00000010-RX
MY_SYMBOL 00000050-RX
SYS$IMGSTA 00000340-RX
__MAIN 00010078-R
|
- Symbol. The names of the image's global
symbols in alphabetical order.
- Value. The value of the symbol, expressed in
hexadecimal. The linker appends characters to the end of the symbol
value to describe other characteristics of the symbol. For an
explanation of these symbols, see Section 9.2.7.
Note that this section is replaced by the Symbol Cross-Reference
section when you specify the /CROSS_REFERENCE qualifier in the LINK
command. The Symbols by Value section, described in Section 9.2.7,
lists the same symbols by value.
9.2.6 Symbol Cross-Reference Section (Alpha/VAX)
The Symbol Cross-Reference Section, which is produced in place of the
Symbols By Name section when you specify the /CROSS_REFERENCE
qualifier, lists all of the symbols referenced in the image, along with
the module in which they are defined and with all the modules that
reference them. The section formats this information as in the
following example:
+------------------------+
! Symbol Cross Reference !
+------------------------+
Symbol (1) Value (2) Defined By (3) Referenced By ... (4)
------ ----- ---------- -----------------
DECC$EXIT 00001FD0-RX DECC$SHR MY_MAIN
DECC$GPRINTF 00001710-RX DECC$SHR MY_MAIN
DECC$MAIN 000007D0-RX DECC$SHR MY_MAIN
MAIN 00010000-R MY_MAIN
MYSUB 00000010-RX MY_MATH MY_MAIN
MY_SYMBOL 00000050-RX MY_MATH MY_MAIN
SYS$IMGSTA 00000340-RX SYS$PUBLIC_VECTORS
__MAIN 00010078-R MY_MAIN
|
- Symbol. The name of the global symbol.
- Value. The value of the global symbol,
expressed in hexadecimal. The linker appends characters to the end of
the symbol value to describe other characteristics of the symbol. For
an explanation of these symbols, see Section 9.2.7.
- Defined By. The name of the module in which
the symbol is defined. For example, the symbol
mysub
is defined in the module named MY_MATH.
- Referenced By.... The name or names of all
the modules that contain at least one reference to the symbol.
9.2.7 Symbols By Value Section (Alpha/VAX)
The Symbols By Value section lists all the global symbols in the image
in order by value, in ascending numeric order. The linker formats the
information into columns, as in the following example:
+------------------+
! Symbols By Value !
+------------------+
Value (1) Symbols...(2)
----- ----------
00000010 RX-MYSUB
00000050 RX-MY_SYMBOL
00000340 RX-SYS$IMGSTA
000007D0 RX-DECC$MAIN
00001710 RX-DECC$GPRINTF
00001FD0 RX-DECC$EXIT
00010000 R-MAIN
00010078 R-__MAIN
|
- Value. The value of each global symbol,
expressed in hexadecimal, in ascending numerical order.
- Symbols... The names of the global symbols.
If more than one symbol has the same value, the linker lists them on
more than one line. The characters prefixed to the symbol names
indicate other characteristics of the symbol, suchas its scope.
Table 9-3 lists these codes.
Table 9-3 Symbol Characterization Codes (Alpha/VAX)
Code |
Meaning |
asterisk(*)
|
Symbol is undefined.
|
+A
|
Symbol is the alias name for a universal symbol.
|
+I
|
Symbol is the internal name of a symbol that has a universal alias name.
|
U
|
Symbol is a universal symbol.
|
R
|
Symbol is a relocatable symbol.
|
X
|
Symbol is an external symbol.
|
WK
|
Symbol is a weak symbol. (For more information, see Chapter 6.)
|
+Alpha specific
9.2.8 Image Synopsis Section (Alpha/VAX)
The Image Synopsis section contains miscellaneous information about the
image, such as its name and identification numbers, and a summary of
various attributes of the image, such as the number of files used to
build the image. The following example illustrates the format of this
section of a map file. The list following the example provides more
information about items in this section that are not self-explanatory.
+----------------+
! Image Synopsis !
+----------------+
Virtual memory allocated:(1) 00010000 0003FFFF 00030000 (196608. bytes, 384. pages)
Stack size: 20. pages
Image header virtual block limits: 1. 2. ( 2. blocks)
Image binary virtual block limits: 3. 5. ( 3. blocks)
Image name and identification: MY_MAIN V1.0
Number of files: 7.
Number of modules: 4.
Number of program sections: 11.
Number of global symbols: 944.
Number of cross references: 13.
Number of image sections: 20.
User transfer address: 00010078
Debugger transfer address: 00000340
Number of code references to shareable images: 6.
Image type: EXECUTABLE.
Map format: FULL WITH CROSS REFERENCE in file WORK:[PROGS]MY_MAIN.MAP;15
Estimated map length: 148. blocks
|
The following list explains the information returned in each line of
the Image Synopsis section:
- Virtual memory allocated. This line contains
the following information:
- The starting-address of the image (base-address)
- The ending-address of the image
- The total size of the image, expressed in bytes, in hexadecimal
radix
The numbers in parentheses at the end of the line indicate the total
size of the image, expressed in bytes and in pagelets. Both these
values are expressed in decimal.
9.2.9 Link Run Statistics Section (Alpha/VAX)
The Link Run Statistics section contains miscellaneous statistical
information about the link operation, such as performance indicators,
formatted as in the following example:
+---------------------+
! Link Run Statistics !
+---------------------+
Performance Indicators Page Faults CPU Time Elapsed Time
---------------------- ----------- -------- ------------
Command processing: 93 00:00:00.18 00:00:00.81
Pass 1: 345 00:00:00.55 00:00:12.04
Allocation/Relocation: 9 00:00:00.04 00:00:00.30
Pass 2: 29 00:00:00.14 00:00:00.62
Map data after object module synopsis: 3 00:00:00.05 00:00:00.31
Symbol table output: 0 00:00:00.00 00:00:00.10
Total run values: 479 00:00:00.96 00:00:14.18
Using a working set limited to 2048 pages and 946 pages of data storage (excluding image)
Total number object records read (both passes): 167
of which 0 were in libraries and 0 were DEBUG data records containing 0 bytes
Number of modules extracted explicitly = 0
with 0 extracted to resolve undefined symbols
5 library searches were for symbols not in the library searched
A total of 0 global symbol table records was written
LINK/MAP/FULL/CROSS MY_MAIN,SYS$INPUT/OPT
my_math/share
|
|