The Files Used By HP Link Editor/XL [ HP Link Editor/XL Reference Manual ] MPE/iX 5.0 Documentation
HP Link Editor/XL Reference Manual
The Files Used By HP Link Editor/XL
Figure 3-1 shows the files that the link editor uses. The next seven
sections in this chapter discuss them in detail.
Figure 3-1. The Files Used by HP Link Editor/XL
The Relocatable Object File
A relocatable object file is output from compilation. It can also be
created by the link editor EXTRACTRL command. When it is produced by a
compiler, it consists of one relocatable object module regardless of the
number of procedures or subprograms the source file contains. When it is
produced by the EXTRACTRL command, it can consist of many relocatable
object modules; however, these modules cannot be accessed individually
with the LINK command. Relocatable object files are binary files having
the filecode NMOBJ (1461).
Relocatable object files are input to the LINK, LISTOBJ, ADDRL, and ADDXL
commands and are created by the EXTRACTRL command. These commands are
discussed in chapters 4, 5 and 6.
To use a relocatable object file as input, you must have read access to
it. To create a relocatable object file, you must have save access to
the group where the file is located.
The $STDINX File
HP Link Editor/XL reads its commands from the standard input file,
$STDINX. For an interactive session, this is the terminal keyboard. For
a batch job, it is the job stream file.
If you wish, you can change the standard assignment for $STDINX. Enter a
:RUN command with the STDIN option, naming an unnumbered ASCII file. The
file must contain valid HP Link Editor/XL commands. For example, to use
the file SCRIPT as the standard input file, enter the command:
:RUN LINKEDIT.PUB.SYS;STDIN=SCRIPT
If you start the link editor using the :LINK command or if you execute
the link editor by passing a command in the INFO string of the :RUN
command, $STDINX is not used. Instead, the single command is executed
and the link editor terminates. (See the section in this chapter titled,
"Starting HP Link Editor/XL", for information on using :LINK and :RUN to
execute the link editor.)
The Relocatable Library File
A relocatable library is a collection of relocatable object modules and a
Library Symbol Table. The Library Symbol Table maps exported symbols in
each relocatable module. Relocatable library files are binary files, and
have the filecode NMRL (1033).
You create a relocatable library using the BUILDRL command and you add
modules to it with the ADDRL command (or you can have the compiler create
and add modules to a library by using the RLFILE or RLINIT compiler
directives). To copy relocatable modules from one relocatable library to
another, use the COPYRL command. The PURGERL command deletes modules and
the EXTRACTRL command copies selected modules to a relocatable object
file. The CLEANRL, HIDERL and REVEALRL commands modify relocatable
libraries and the LISTRL command lists the contents of them. All of
these relocatable library commands are discussed in chapter 5.
To create a relocatable library file, you must have save access to the
group where the file will be located. To modify an existing relocatable
library, you must have write access to the file. To list the contents of
a library or to copy modules out of it, you must have read access to it.
The $STDLIST File
HP Link Editor/XL writes all prompts, errors, and informational messages
to the standard list file, $STDLIST. When running in an interactive
session, your terminal is the device used for $STDLIST. When running a
batch job, the output spoolfile is used.
If you wish, you can change the standard assignment for $STDLIST. Enter a
:RUN command with the STDLIST option to name the file or device to use.
(Note that when you do this and run interactively, command prompts do not
appear on the screen.) For example, the following command sends link
editor output to the printer:
:FILE LINKOUT;DEV=LP
:RUN LINKEDIT.PUB.SYS;STDLIST=*LINKOUT
The LINKLIST File
HP Link Editor/XL listings and maps are sent to the file, LINKLIST,
instead of to the standard list file, $STDLIST. The following listings
and maps are sent to LINKLIST:
* The symbol map produced by the MAP option of the LINK command (see
chapter 4).
* The listing produced by the LISTPROG command (see chapter 4).
* The listing produced by the LISTOBJ command (see chapter 4).
* The listing produced by the LISTRL command (see chapter 5).
* The listing produced by the MAP option of the ADDXL command (see
chapter 6).
* The listing produced by the LISTXL command (see chapter 6).
LINKLIST output is normally sent to the $STDLIST device. You can
redirect LINKLIST to another file or device by using the MPE XL :FILE
command. For example, the following commands send the listing of the
relocatable library, LIBRL, to the line printer:
:FILE LINKLIST;DEV=LP
:LINKEDIT
LinkEd> LISTRL RL=LIBRL
LinkEd> EXIT
The Executable Program File
Executable program files are created by the LINK command. They are in
binary format - ready to be loaded into memory and executed by the MPE XL
:RUN command. Executable program files have the filecode NMPRG (1030).
You can use the LISTPROG command (see chapter 4) to list the symbol table
of an executable program file.
To use LINK to create an executable program file, you must have save
access to the group where the file is located. To list an executable
program file, you must have read access to the file.
The Executable Library File
An executable library is a collection of executable modules and a Library
Symbol Table. The Library Symbol Table maps exported and imported
symbols in each executable module. Executable library files are binary
files having the filecode NMXL (1032).
You use the BUILDXL command to create an executable library. Executable
modules are added to a library with the ADDXL command. Modules are
copied from library to library with the COPYXL command and deleted using
the PURGEXL command. The CLEANXL command compacts executable libraries,
and the LISTXL command lists the contents of them. All of these
executable library commands are discussed in chapter 6.
To create an executable library, you must have save access to the group
where the file is located. To modify an existing library, you must have
write access to the file. To list the contents of a library or to copy
modules from it, you must have read access to the file.
MPE/iX 5.0 Documentation