HP 3000 Manuals

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