HP 3000 Manuals

Link Editor XL [ COMMUNICATOR 3000/XL Release 1.0 (A.02.00) ] MPE/iX Communicators


COMMUNICATOR 3000/XL Release 1.0 (A.02.00)

Link Editor/XL 

by Cary Coutant and Brad Ahlf--Information Technology Group 

LINK EDITOR/XL 

HP has developed a new Link Editor for MPE XL to take advantage of the
Precision Architecture.  The Link Editor replaces the Segmenter for all
native mode program development.  In addition to providing support for
the new architecture, the Link Editor also supports more programming
language features, offers an improved user interface, and implements new
features that allow users more program development flexibility than ever
before.  Although some commands and terms have changed, it is still
possible for Segmenter users to become accustomed to the Link Editor
quickly.

For complete information about the Link Editor, consult the HP Link
Editor/XL Reference Manual, (P/N 32650-90030).

Link Editor/XL Features 

The MPE XL Link Editor is used for creating program files, relocatable
libraries, and executable libraries.  The Link Editor offers an
interactive user interface, complete with help and redo functions.

Programs are built using the Link Editor's LINK command, which combines
relocatable object files and produces a program file.  The MPE XL
compilers translate each source file into a separate relocatable object
file.  The Link Editor can link any number of relocatable object files at
one time; it can also search any number of relocatable libraries to find
library routines that are needed by the program.

Relocatable libraries contain libraries of common routines that can be
copied into the program as needed when the program is linked.  These
libraries can be built with the BUILDRL command, and library routines can
be added from relocatable object files with the ADDRL command.  Library
routines can also be purged, copied from one library to another, and
extracted from a library into a stand-alone object file.

Executable libraries are libraries of pre-linked program modules
containing common routines that can be loaded with a program when it is
executed.  These routines can be shared by many programs and are not
copied into the program files.  Executable libraries can be built with
the BUILDXL command, and modules can be added from relocatable object
files or from relocatable libraries with the ADDXL command.  Modules can
also be purged and copied from one library to another.

The Link Editor also offers commands to list the contents of relocatable
object files, relocatable libraries, executable libraries, and program
files.  There is also a batch interface:  any single Link Editor command
can be invoked directly from the CI by passing the command in the INFO
string.  In addition, the LINK command can be executed directly from the
CI.

Link Editor/XL versus Segmenter 

The most noticeable difference between the MPE V Segmenter and the MPE XL
Link Editor is that the Segmenter's PREPARE command produces a program
file from a single User Subprogram Library (USL) file, the Link Editor's
LINK command uses one or more relocatable object files.  On MPE XL, there
is no USL file or equivalent.  Instead, the compilers create new object
files for each source file compiled, and the Link Editor reads each
object file independently.

Aside from the lack of a USL file, the LINK command is very similar to
the PREPARE command.  Most of the options are very similar.

Relocatable libraries are created and updated similarly with the
Segmenter and the Link Editor.  Unlike the Segmenter, however, the Link
Editor can search many relocatable libraries during a link operation,
rather than just one.  Because MPE XL is not based on a segmented
architecture, there is also no limit on the amount of code that can be
included from relocatable libraries.

One subtle, but important, difference is caused by the way that the
compilers work.  On MPE V, the compilers added one Relocatable Binary
Module (RBM) to the USL for each procedure, function, or subprogram in
the source file, and each of these RBMs could be individually purged,
copied, or replaced.  On MPE XL, the compilers produce one relocatable
object file for each source file, and procedures, functions, and
subprograms cannot be individually accessed unless there is only one per
source file.

Executable Libraries (XLs) on MPE XL are similar to Segmented Libraries.
The only distinction is due to the architecture.  The segmented
architecture of MPE V imposed limits on segment sizes; MPE XL imposes no
limits on the size of the modules in an XL.


MPE/iX Communicators