HITACHI MICROCOMPUTER SUPPORT SOFTWAREH SERIES LIBRARIAN
USER'S MANUAL

HS6400LBCU1SE
ADE-702-087

Preface
This manual describes how to use the H Series Librarian. The manual is divided into the following
eight sections.
Sections 1 and 2 ..................................
Section 3 .............................................
Section 4 .............................................
Section 5 .............................................
Section 6 .............................................
Section 7 .............................................
Section 8 .............................................
Appendix A ........................................

Librarian functions
Executing the Librarian
Librarian options and subcommands
Input to the Librarian
Output from the Librarian
Error messages
Restrictions
Examples of Use of Librarian

Installation of the Librarian is covered in the Installation Guide supplied with the Librarian.
Refer to the following user's manuals for additional information on the other support tools in the
H series cross system.
• H Series Linkage Editor User's Manual• H8/300 Series Cross Assembler User's Manual• H8/500 Series Cross Assembler User's Manual• H32 Series Cross Assembler User's Manual• SH Series Cross Assembler User's Manual• H8/300 Series C Compiler User's Manual• H8/500 Series C Compiler User's Manual• H32 Series C Compiler User's Manual• SH Series C Compiler User's ManualiNotes:
The following symbols have special meanings in this manual.
<item> : <specification item>{ }: One of the items between the brackets is to be selected.

[ ]: The enclosed item is optional (i.e., can be omitted).

...

: The preceding item can be replaced.

∆: Blank space(s) or tab(s)3: Press the Return (Enter) key.

UNIX is an operating system administrated by the UNIX System Laboratories (United States).
MS-DOS is an operating system administrated by the Microsoft Corporation (United States).

ii

Contents
Section

1. Overview .......................................................................................................... 1

Section

2. Librarian Functions ........................................................................................ 2

2.1
2.2
2.3
2.4

Section
3.1
3.2
3.3

3.4

Section
4.1
4.2
4.3

4.4

4.5

Creating Library Files ....................................................................................................
Editing Existing Library Files ........................................................................................
Extracting Modules from a Library File.........................................................................
Displaying the Contents of a Library File ......................................................................

2
2
4
4

3. Executing the Librarian ................................................................................ 5
Command Line Format ..................................................................................................
Executing by Command Line .........................................................................................
Executing by Subcommands ..........................................................................................
3.3.1 Executing in Interactive Mode ..........................................................................
3.3.2 Executing from a Subcommand File .................................................................
Terminating Librarian Operations ..................................................................................

5
6
7
7
8
9

4. Librarian Options and Subcommands ....................................................... 10
Option and Subcommand Formats .................................................................................
List of Options and Subcommands ................................................................................
File Control ....................................................................................................................
4.3.1 LIBRARY — Specifies the library file to be edited .........................................
4.3.2 OUTPUT — Specifies an output library file ..................................................
Execution Control...........................................................................................................
4.4.1 SUBCOMMAND — Specifies a subcommand file ........................................
4.4.2 CREATE — Creates a library file ....................................................................
4.4.3 ADD — Adds modules .....................................................................................
4.4.4 REPLACE — Replaces modules ......................................................................
4.4.5 DELETE — Deletes modules ...........................................................................
4.4.6 EXTRACT — Extracts modules.......................................................................
4.4.7 END — Specifies end of subcommand input ..................................................
4.4.8 EXIT — Specifies end of Librarian operations ...............................................
4.4.9 ABORT — Aborts librarian operations ............................................................
List Display ....................................................................................................................
4.5.1 LIST — Displays contents of a library file .......................................................

iii

10
14
18
18
19
20
20
21
22
24
27
28
29
30
31
32
32

Section
5.1
5.2
5.3

Section
6.1
6.2
6.3

5. Input to the Librarian ..................................................................................... 34
Object Module Files .......................................................................................................
Relocatable Load Module Files ......................................................................................
Library Files ...................................................................................................................

34
34
34

6. Output from the Librarian ............................................................................ 35
Library Files ...................................................................................................................
Librarian Lists ................................................................................................................
Console Messages ..........................................................................................................

35
35
38

Section

7. Error Messages ................................................................................................ 39

Section

8. Restrictions ...................................................................................................... 44

Appendix A Examples of Use of Librarian ..................................................................... 45
A.1 Librarian Execution by Command Line ........................................................................
A.2 Librarian Execution by Subcommands ..........................................................................

45
47

Index ............................................................................................................................................ 49iv

Figures
Figure 2-1
Figure 2-2
Figure 2-3
Figure 2-4
Figure 2-5
Figure 6-1
Figure 6-2
Figure 6-3
Figure A-1
Figure A-2

Creating a New Library File ...................................................................................
Adding a Module ....................................................................................................
Deleting a Module ..................................................................................................
Replacing a Module................................................................................................
Extracting Modules ................................................................................................
Librarian List Format .............................................................................................
Librarian List (with (S) specification) ....................................................................
Librarian List (no (S) specification) .......................................................................
Results of Librarian Execution by Command Line ...............................................
Results of Librarian Execution by Subcommand ...................................................

v

2
3
3
4
4
35
37
37
46
48

Tables
Table 3-1
Table 4-1
Table 4-2
Table 7-1
Table 7-2
Table 7-3
Table 8-1

How Command Line Specification Determines the Form of Execution................
List of Options and Subcommands ........................................................................
Interrelation among Options and Subcommands ...................................................
List of Warning Messages ......................................................................................
List of Error Messages ...........................................................................................
List of Fatal Error Messages ..................................................................................
Restriction on Librarian Processing .......................................................................

vi

6
14
15
40
41
43
44

Section 1. Overview
A program is usually developed by dividing it into functional modules and creating a separate
source program for each module. Next, each source program module is compiled or assembled tocreate an object module. The object modules are then linked together using a linkage editor,
resulting in an executable program.
The H Series Librarian introduced in this manual (hereafter called the Librarian) plays a vital role inthis process. It brings together the many object modules output by the C compiler and assembler, as
well as relocatable load modules output by the linkage editor, to make library files.
The Librarian provides the following advantages.
Simplified Module Management: The many modules making up a program (including relocatableload modules as well as object modules) are stored in a library file for the particular program. They
can then be dealt with all at once. Moreover, it is possible to create generic library files that can beused later to streamline the creation of other programs.
A library file can be edited by adding, deleting, or replacing individual modules. In this way themodules can be kept up to date.
Enhanced Linkage: The Linkage Editor can search library files to find, extract, and link modules
that define unresolved import symbols. Use of the library files thus makes linkage editing more
efficient.

1Section 2. Librarian Functions
2.1 Creating Library Files
This function makes it possible to create new library files, and to enter object modules output by the
C compiler or assembler as well as relocatable load modules output by the linkage editor.
Figure 2-1 is an illustration of the library file creation concept.

Entered modules

New library file

Module A
Module A
Creation
Module B

Module B

Module C
Module C

Figure 2-1. Creating a New Library File

2.2 Editing Existing Library Files
Modules can be added to, deleted from, or replaced in existing library files.
Adding Modules: Modules can be added to already existing library files. The concept of module
addition is illustrated in Figure 2-2.

2

Edited library file

Existing library file

Module A

Addition

UpdateModule A

Module B

Module B

Module C

Module C

Module D

Module D

Figure 2-2. Adding a Module
Deleting Modules: Unnecessary modules can be deleted from existing library files. Figure 2-3
illustrates the module deletion concept.

Edited library file

Existing library file

Module A
Module A
UpdateModule B

Module B
Deletion

Module C
Module D
Module D

Figure 2-3. Deleting a Module
Replacing Modules: Modules in existing library files can be replaced with new modules. The
concept of module replacement is illustrated in Figure 2-4.

3

Existing library file

Edited library file

Module A
Replacement
Module B'

UpdateModule A

Module B

Module B'

Module D

Module D

Figure 2-4. Replacing a Module

2.3 Extracting Modules from a Library File
Modules can be extracted from existing library files and used to create new library files. The
concept of module extraction is illustrated in Figure 2-5.

Existing library file

Module A

New library file

Extraction
Module B

Extraction

Module B
Module C
Module C

Figure 2-5. Extracting Modules

2.4 Displaying the Contents of a Library FileA librarian list giving information about the modules and export symbols in a library file can be
output to a standard output device or a list file. A librarian list tells when the library file was created
and when it was last revised, indicates when each module was stored, and gives the names of export
symbols and other useful information.
For further details, see section 6.2, Librarian Lists.

4Section 3. Executing the Librarian
To execute the Librarian, first start the Librarian by entering a command line. The command line
specifies the name of the library file to be edited and various options, which give instructions to the
Librarian. If these instructions are sufficient, the Librarian can be executed using the command line
alone. If further instructions are needed, they can be given in subcommands.
Command Line Execution: The Librarian can be executed simply by specifying a library file andoptions on the command line. The method is useful when library editing is relatively
straightforward.
Subcommand Execution: The Librarian can also be executed by entering both a command line
and subcommands. The subcommands specify input and output files and parameters that control the
Librarian. This method is useful for specifying a large number of files or modules, or for editing
two or more library files together. Subcommands can be entered interactively, or from a
subcommand file. Details are given in section 3.3, Executing by Subcommands.

3.1 Command Line Format
The following format is used for the Librarian command line.
UNIX System:lbr[∆[<library file name>][[∆]-<option name>[[∆]-<option name>...]]]3
MS-DOS system:lbr[∆[<library file name>][[∆]/<option name>[[∆]/<option name>...]]] 3
Command Name: "lbr" is the command that starts the Librarian.
Library File Name: To edit or extract modules from an existing library file, type the name of thelibrary file in the command line.
Option Names: Each option name must start with a hyphen (-) at UNIX system or with a slash (/)
at MS-DOS system. One or more spaces or tabs may also be used to separate an option name froma preceding option name or library file name, but these spaces or tabs are not required. Option
names are described in detail in section 4, Librarian Options and Subcommands. The Librarianedits the library file according to the order in which the options are specified.

5

Specifying the Mode of Execution: The content of the command line determines whether the
Librarian will be executed by the command line specifications only, or by subcommands. See Table
3-1.
The library file name and each option name must be specified in 128 characters or less (notincluding the final carriage return).
Table 3-1. How Command Line Specification Determines the Form of Execution
Option Specification

Library File Name

No Option

SUBCOMMAND

CREATE Option

Option Other thanSpecified

Option Specified

Specified

CREATE orSpecification

SUBCOMMAND
Specified

Library file name

—

—

—

specifiedExecuted by
specifying
command line

No library file name Executed by

Executed by

Executed by

specified

specifying

specifying

specifying

subcommands

subcommands

command line

Notes:—

1. For SUBCOMMAND and CREATE options, see section 4, Librarian Options andSubcommands.
2. The combinations of option and library file names indicated by dashes (—) are not permitted.
An error will occur, and the librarian will not be executed.

3.2 Executing by Command Line
With this method, the Librarian is executed according to the information specified in the commandline alone. Editing procedures and other conditions are specified to the Librarian in the form of
options. When the editing process is straightforward and simple, command line specification is
sufficient for creating or updating a library. Examples of execution by command line are given
below.

6

EXAMPLE 1 (UNIX system):% lbr∆-CREATE=syslib.lib-ADD=obj00.obj,prg.lib 3
1

2

1 Creates a new library file named syslib.lib.
2 Adds the modules in object module file obj00.obj and library file prg.lib to syslib.lib.
The CREATE option by itself will not create a library file unless modules are added using the ADD
option.
EXAMPLE 2 (MS-DOS system):%lbr∆syslib.lib/ADD=obj00.obj/DELETE=mod13
1

2

3

1 Designates library file syslib.lib as the file to be edited.
2 Adds the module in object module file obj00.obj to syslib.lib.
3 Deletes existing module mod1 from syslib.lib.

3.3 Executing by Subcommands
Since the number of characters that can be typed on the command line is limited, the command line
may not be able to accommodate a large number of specifications. In such cases, subcommands areused to execute the Librarian. Subcommands can be input interactively, one at a time, from the
keyboard or other standard input device. Alternatively, a subcommand file consisting of a group of
subcommands can be created in advance, and subcommands can be input from this subcommand
file.
3.3.1 Executing in Interactive Mode
When no library file is specified in the command line and there are no option specifications,execution proceeds in interactive mode. A colon (:) appears on the screen as a prompt, indicatingthat the Librarian is waiting for a subcommand to be input. In this way you can enter the necessary
subcommands. This method is useful when the number of subcommands is relatively small, or
when you want to check Librarian lists as you enter the subcommands.

7An example of execution by interactive input of subcommands is given below. Functions of thesubcommands listed here are detailed in section 4, Librarian Options and Subcommands.
EXAMPLE:% lbr 3...1————————————:

CREATE∆prg.lib 3

...2

:

ADD∆main.obj 3

...3

:

ADD∆send.obj,receive.obj,exchange.obj 3

...4

:

ADD∆account.obj 3

...5

:

LIST∆(S) 3

...6

:

EXIT 3

...7

1
2
3
4
5
6
7

Starts the Librarian in interactive mode.
Creates a new library file named prg.lib
Adds the module in main.obj to prg.lib.
Adds the modules in send.obj, receive.obj and exchange.obj to prg.lib.
Adds the module in account.obj to prg.lib.
Outputs a librarian list, including symbol information, to the standard output device.
Terminates the Librarian operation.

————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

3.3.2 Executing from a Subcommand File
This method uses a subcommand file that was created in advance and that contains thesubcommands necessary for Librarian operations. This subcommand file is then specified on thecommand line as a parameter of the SUBCOMMAND option. This method is useful when many
subcommands must be specified, or when the same editing process is carried out repeatedly. It
eliminates the need to input subcommands from the keyboard or other standard input device eachtime.
Use an editor to create the subcommand file. An example of execution from a subcommand file isgiven below. Functions of the subcommands listed here are detailed in section 4, Librarian Options
and Subcommands.

8

% lbr∆-SUBCOMMAND=prglib.sub 3... 1——————————————————————————————————————————————————

Contents of subcommand file prglib.sub:
CREATE∆function.lib
ADD∆sin.obj,cos.obj,tan.obj
ADD∆asin.obj,acos.obj,atan.obj
ADD∆hsin.obj,hcos.obj,htan.obj
ADD∆log.obj,log10.obj
EXIT
1
2
3
4
5
6
7

... 2
... 3
... 4
... 5
... 6
... 7

Starts the Librarian and inputs subcommands from subcommand file prglib.sub.
Creates a new library file function.lib.
Adds the modules in object module files sin.obj, cos.obj and tan.obj to function.lib.
Adds the modules in object module files asin.obj, acos.obj and atan.obj to function.lib.
Adds the modules in object module files hsin.obj, hcos.obj and htan.obj to function.lib.
Adds the modules in object module files log.obj and log10.obj to function.lib.
Terminates Librarian operations.

3.4 Terminating Librarian Operations
When the Librarian terminates operations, it gives the system a return code indicating an error level.
The return code can be used to control the execution of a command file. The error levels and theirreturn codes are:UNIX system:
Normal completion
Warning
Error
Fatal error

0
0
1
1

MS-DOS system:
Normal completion
Warning
Error
Fatal error

0
0
2
4

9

Section 4. Librarian Options and Subcommands
Options and subcommands tell the Librarian what editing operations to perform. The three mainfunctions of options and subcommands are file control, execution control, and list display. These
functions can be used individually or in combination to create and edit library files.
Options and subcommands have the same names and equivalent functions, but are specified indifferent formats. Moreover, there are some specifications which can be made only with options,and others only with subcommands. Sections 4.1, Option and Subcommand Formats, and 4.2, Listof Options and Subcommands, must accordingly be read carefully. Option and subcommand
functions are outlined below.
File Control Functions: File control functions indicate the name of the library file to be edited, orthe name of a library file to which extracted modules are to be output.
Execution Control Functions: Execution control functions instruct the Librarian to perform
editing operations, or terminate its processing. These functions are used, for example, to input
subcommands from a subcommand file, to create a new library file, or to update a library file.
List Display Functions: List display functions are used to display information such as names ofmodules stored in a library file, or export symbol names.
Note: The examples are written for UNIX system, please write slash (/) instead of hyphen (–) for
MS-DOS system and write all options and commands in capital letters.

4.1 Option and Subcommand Formats
Each option or subcommand consists of a name and parameters, which together must not exceed
128 characters.
Option and Subcommand Structure: Options and subcommands differ as to the way ofseparating the name from the parameters. Options use an equals sign (=), while subcommands use
one or more spaces or tabs.
Option format<Name>=<parameters>
10Subcommand format<Name>∆<parameters>
EXAMPLES:–OUTPUT=lbf ......................................... option
OUTPUT∆lbf .................................subcommand
In these examples, OUTPUT is the name, and lbf is the parameter.
(a) Name
The name gives the name of the option or subcommand.
(b) Parameters
The parameters give the names of files,* 1 module,* 2 etc. on which the option or subcommand
operates. There are different requirements and methods of specification depending on the type of
option or subcommand. For details, refer to section 4.3, File Control, section 4.4, Execution
Control, and section 4.5, List Display.
Notes:
1. A file name consists of three parts: the path name, main file name, and file type.
If the file type is omitted, a file type is assumed as follows.
Library file .............................................. .lib
Object module file .................................. .obj
Relocatable load module file .................. .obj
Subcommand file .................................... .sub
List file ................................................... .lst
2. A module name is the name defined in an object module or relocatable load module. In
module names, capital letters are distinguished from small letters. The pairs of names
below, for example, are treated as different names.
EXAMPLES:

modul1

MODUL111

abcde

Abcde

Continuation Specification in a Subcommand: When a subcommand is too long to be specified
on one line, a continuation specifier is used. This consists of an ampersand (&) at the end of theline. It must always be placed between two parameters; if it is placed within a parameter, it will not
be treated as a continuation specifier. Also, if a character (including a space or tab) is typed after
the ampersand, an error will occur and the subcommand will not be continued.
In interactive input of subcommands, a hyphen (-) appears as a prompt for further input after
continuation has been specified.
EXAMPLES::

ADD∆obj00.lib(mod0,mod1),& 3-

obj01.obj02 3:

ADD∆obj00.lib(mod0,mod1),ob& 3

Continuation specifier

Specifying continuationin the middle of aparameter occurs inerror.
A subcommand line in a subcommand file can be continued in the same way. The line after the linewith the continuation specifier becomes the continuation line.

12

EXAMPLE:
Subcommand file
DELETE∆sub1,sub2,& 3
sub3 3

Continuation specifier
Continuation line

Specifying Comments in a Subcommand File: A comment specifier is used to place notes orother comments in a subcommand file. The specifier is a semicolon (;) placed on a subcommand
line, indicating that the rest of the line is a comment. If the semicolon follows a subcommand nameor parameter, it must be separated by at least one space or tab.
If the semicolon is placed at the beginning of a subcommand line, the entire line is treated as acomment.
EXAMPLES:; EXAMPLE OF LIBRARIAN SUBCOMMAND... the entire line is a comment.
LIBRARY∆syslib∆; INDICATES LIBRARY FILE... INDICATES LIBRARY FILE is a comment.
ADD∆module.obj;abc... module.obj;abc is treated as a single parameterabc is not treated as a comment.

13

4.2 List of Options and Subcommands
There are eight options and eleven subcommands, as listed in Table 4-1.
Table 4-1. List of Options and Subcommands
No.

Type

Name

Function

Opt.

Sub.

Section1

File control

LIBRARY

Specifies the library file to be

No

Yes

4.3.1

edited2

3

OUTPUT

Specifies an output library file

Yes

Yes

4.3.2

Execution

SUBCOMMAND

Specifies a subcommand file

Yes

No

4.4.1

control

CREATE

Creates a library file

Yes

Yes

4.4.2

ADD

Adds modules

Yes

Yes

4.4.3

REPLACE

Replaces modules

Yes

Yes

4.4.4

DELETE

Deletes modules

Yes

Yes

4.4.5

EXTRACT

Extracts modules

Yes

Yes

4.4.6

END

End of subcommand input

No

Yes

4.4.7

EXIT

End of Librarian operations

No

Yes

4.4.8

ABORT

Aborts Librarian operations

No

Yes

4.4.9

LIST

Displays contents of library file

Yes

Yes

4.5.1

List
display

Notes:

1.

The underlined letters of a name are the shortest permissible abbreviated form.

2.

The Opt. and Sub. columns indicate whether a name is available as an option or
subcommand.

Abbreviating Option and Subcommand Names: Names of options and subcommands may be
abbreviated to the point where the name can still be distinguished from other names. As an
example, consider the name EXTRACT.
E
EX
EXT
EXTRA
EXTRACTEXTRACTS... Cannot be distinguished from EXIT or END, so an error occurs.
... Cannot be distinguished from EXIT, so an error occurs.
... Recognized as EXTRACT.
... Recognized as EXTRACT.
... Recognized as EXTRACT.
... No such name, so an error occurs.

14Interrelation among Different Options and Subcommands: Once an option or a subcommandhas been specified, other options or subcommands with conflicting functions cannot be specified.
This interrelationship is shown in Table 4-2.
Table 4-2. Interrelation among Options and Subcommands

SUBCOMMAND

LIBRARY

CREATEADD

REPLACE

DELETEEXTRACTOUTPUT

LIST

END

EXIT

ABORT

Later Specification

SUBCOMMAND

×

×

×

×

×

×

×

×

×

×

×

×

LIBRARY

×

×

×

o

o

o

o

o

o

o

o

o

CREATE

×

×

×

o

o

o

×

×

o

o

o

o

ADD

×

×

×

o

o

o

×

×

o

o

o

o

REPLACE

×

×

×

o

o

o

×

×

o

o

o

o

DELETE

×

×

×

o

o

o

×

×

o

o

o

o

EXTRACT

×

×

×

×

×

×

o

o

o

o

o

o

OUTPUT

×

×

×

×

×

×

o

×

o

o

o

o

LIST

×

×

×

o

o

o

o

o

o

o

o

o

END

×

o

o

×

×

×

×

×

×

×

o

o

EXIT

×

×

×

×

×

×

×

×

×

×

×

×

ABORT

×

×

×

×

×

×

×

×

×

×

×

×

Specified
Option/Subcommando:

Later specification enabled.

× : Later specification disabled, since it conflicts with already specified option or subcommand.

15

EXAMPLES:% lbr∆-SUBCOMMAND=funlib.sub-LIST 3

This results in an error since no other option canbe specified after a SUBCOMMAND option.
% lbr 3
: LIBRARY∆funclib.lib 3
CREATE∆newlib.lib 3

:

END 3

:

LIST 3:EXIT 3

A CREATE subcommand cannot be specified
after a LIBRARY subcommand. An error occurs,
and the CREATE subcommand is ignored.

Specifying a LIST subcommand after an End
subcommand, occurs in an error. After END, only the
LIBRARY, CREATE, EXIT or ABORT subcommandis valid.

16

In the following sections, the format below is used to describe each option and subcommand.
Heading for each option or
subcommand
Section number, andheading for option or
subcommand

SectionnumberFormatName

Parameters

Option Subcommand Option or subcommand
name, and format for
specifying parameters
The underlined part of the nameis the shortest abbreviated form

Function

Summary of option or
subcommand functions

Explanation

Detailed description offunctions and restrictions

ExamplesExamples of option or
subcommand specifications

17

LIBRARY

4.3 File Control
4.3.1 LIBRARY — Specifies the library file to be edited.
FormatName
Parameters

Function

LIBRARY

OptionSubcommand

No

Yes

<Library file name>Specifies an existing library file for editing.

Explanation (1) This subcommand is specified at the beginning of an editing operation thatedits an existing library file or extracts modules from an existing library file.
(2) Only a library file created by this Librarian can be specified(3) When no file type is specified as part of the library file name, the type isassumed to be .lib.
(4) This subcommand cannot be used together with the CREATE subcommand,
which specifies creation of a new library file.
(5) If, as the result of editing an existing library file, the number of modules
becomes zero, the library file will not be updated.
(6) The access right to the updated library file is the same as the access right to a
newly created file. Note that the access right prior to the update is notpreserved.
Examples

LIBRARY∆syslib
Specifies editing of the library file syslib.lib.

18

OUTPUT

4.3.2 OUTPUT — Specifies an output library file.
FormatName
Parameters

Function

OUTPU

OptionSubcommand

Yes

Yes

Option<Library file name>Subcommand<Library file name>

(S)
(U)

Specifies a library file for output of extracted modules.

Explanation (1) Specify the OUTPUT option or subcommand whenever a module is to be
extracted from an existing library file.
(2) Specify a new library file name. When no file type is specified as part of thelibrary file name, the type is assumed to be .lib.
(3) The attribute (S) or (U) is assigned to the output file. If unspecified, theattribute is assumed to be (U).
(S) ... System library(U) ... User libraryThis attribute determines the order of priority in which library files aresearched by the Linkage Editor. A user library has higher search priority. The(S) and (U) parameters cannot be included when OUTPUT is specified as an
option.
(4) OUTPUT may be specified either before or after the EXTRACT option or
subcommand, which specifies extraction of modules.
(5) OUTPUT cannot be used together with the CREATE, ADD, DELETE, or
REPLACE options or subcommands.
(6) When the number of extracted modules is zero, the library file specified by the
OUTPUT option or sub-command is not created.
Examples–OUTPUT=PROG86
Modules extracted using the EXTRACT subcommand will be output as a user
library to a file named prog86.lib.
OUTPUT∆clib.o(S)Modules extracted using the EXTRACT subcommand will be output as asystem library to a file named clib.o.

19

SUBCOMMAND

4.4 Execution Control
4.4.1 SUBCOMMAND — Specifies a subcommand file.
FormatName
Parameters

Function

SUBCOMMAND

OptionSubcommand

Yes

Yes

<Subcommand file name>

Inputs subcommands from a specified file.

Explanation (1) Inputs and processes subcommands from a specified subcommand file one at atime.
(2) When an EXIT subcommand or the end of the subcommand file (EOF) is
detected, Librarian operations end.
(3) When no file type is specified as part of the file name, the type is assumed tobe .sub.
(4) A SUBCOMMAND option cannot be specified more than once, or used
together with other options.
Examples–SUBCOMMAND=makelib
Subcommands are input from the subcommand file makelib.sub for use inediting a library file.

20

CREATE

4.4.2 CREATE — Creates a library file.
FormatName

CREATE

Parameters

Function

OptionSubcommand

Yes

Yes

Option<Library file name>Subcommand<Library file name>

(S)
(U)

Creates a new library file.

Explanation (1) Specified at the beginning of a group of options or subcommands ending with
END or EXIT.
(2) Specify a new library file name. When no file type is specified as part of thelibrary file name, the type is assumed to be .lib.
(3) The attribute (S) or (U) is assigned to the output file. If unspecified, theattribute is assumed to be (U).
(S) ... System library(U) ... User libraryThis attribute determines the order of priority in which library files aresearched by the Linkage Editor. A user library has higher search priority. The(S) and (U) parameters cannot be included when CREATE is specified as an
option.
(4) CREATE cannot be used together with the LIBRARY subcommand.
(5) If the number of modules is zero, no library file is created.
Examples–CREATE=userlib.lib
Creates userlib.lib as a new user library.
CREATE∆sislib(S)Creates sislib.lib as a new system library.
CREATE∆datax
Creates datax.lib as a new user library.

21

ADD

4.4.3 ADD — Adds modules.
FormatName
Parameters

Function

ADD

OptionSubcommand

Yes

Yes

Option<Object module file name><Relocatable load module file name> [,...]<Library file name>Subcommand<Object module file name><Relocatable load module file name><Library file name>[(<module name>[,...])][,...]

Adds modules from specified files to a library file.

Explanation (1) ADD is used to store modules in a new library file, or add modules to an
existing library file.
(2) When only a file name is specified, if no file type is specified, the type isassumed to be .obj. When a module name is specified after a file name, thefile is assumed to be a library file, so if no file type is specified, the type isassumed to be .lib.
(3) When only certain modules from a library file are to be added, specify themodule names after the library file name. Up to 10 module names may be
specified. However module names can not be included when ADD is
specified as an option.
EXAMPLE: ADD lbf (m1,m2,m3)
Module names
Library file name(4) When modules in a library file are specified, the specified module names are
sorted in alphabetical order and the modules are added in that order. They are
not added in the order in which specified.
EXAMPLE: ADD lbf(e, a, d, c, b)
5, 1, 4, 3, 2... Order in which modules are
added(Continued on next page)
22

Explanation (5) When the names of modules in a library file are not specified, all modules in(cont)
the library file are added.
EXAMPLE: ADD lbf.lib
Library file name(6) When a module to be added has the same name as a module already in thelibrary file being edited, or when an externally defined symbol defined in themodule to be added has the same name as an externally defined symbol in thelibrary file being edited, a warning message is displayed and the module is not
added.
(7) The name of an object module or relocatable load module is the name definedin the module. The LIST option or subcommand is a convenient way ofconfirming which modules are stored in a library file.
(8) ADD cannot be used together with EXTRACT or OUTPUT options or
subcommands.
(9) Errors will occur and the parameters after the error occurs will not beprocessed when:(a) A specified file does not exist.
(b) A specified module does not exist in a library file.
(c) The content of the specified file is invalid.
(d) The number of modules to be stored exceeds 32,767.
(e) Memory capacity is insufficient to add more modules.
(f)
The number of input files exceeds 12.
Examples–ADD=mod1,mod2,modx.oAdds all modules from the object module files mod1.obj, mod2.obj andmodx.o.
ADD∆iofnc(keyin,crtout)
Adds the two modules keyin and crtout from the library file iofnc.lib.
ADD∆syslib.lib
Adds all modules from the library file syslib.lib.

23

REPLACE

4.4.4 REPLACE — Replaces modules.
FormatName

REPLACE

Parameters

OptionSubcommand

Function

OptionSubcommand

Yes

Yes

<Object module file name><Relocatable load module file name> [,...]<Library file name><Object module file name><Relocatable load module file name><Library file name>[(<module name>[,...])][,...]

Substitutes modules in a specified file for modules of the same name in thelibrary file being edited.

Explanation (1) When a module in the library file being edited has the same name as a modulein the specified file, the former is replaced by the latter. If there is no modulewith the same name in the library file being edited, the module is simply
added as with the ADD option or subcommand.
(2) When only a file name is specified, if no file type is specified, the type isassumed to be .obj. When a module name is specified after a file name, thefile is assumed to be a library file, so if no file type is specified, the type isassumed to be .lib.
(3) To substitute only certain modules from a library file, specify the modulenames after the library file name. Up to 10 module names may be specified.
However, module names cannot be included when REPLACE is specified as
an option.
EXAMPLE: REPLACE lbf (m1,m2,m3)
Module names
Library file name(4) When modules in library files are specified, the specified module names are
sorted in alphabetical order and modules are replaced in that order. They are
not replaced in the order in which specified.
EXAMPLE: REPLACE lbf(e, a, d, c, b)
5, 1, 4, 3, 2 ...Order of replacement(Continued on next page)24

Explanation(cont)(5) When the names of modules in a library file are not specified, all modules in
the file are substituted.
EXAMPLE: REPLACE lbf.lib
Library file name(6) The name of an object module or relocatable load module is the name definedin the module. The LIST option or subcommand is a convenient way ofconfirming which modules are stored in a library file.
(7) REPLACE cannot be used together with EXTRACT or OUTPUT options or
subcommands.
(8) The following cases will result in error, and the parameters after the error
position will not be processed.
(a) A specified file does not exist.
(b) A specified module does not exist in a library file.
(c) The content of the specified file is invalid.
(d) The number of modules to be stored exceeds 32,767.
(e) Memory capacity is insufficient for the substitution to be performed.
(f)
The number of input files exceeds 12.
(9) The process of replacing a module involves deleting the module of the same
name in the library file being edited, then inputting the module from the filespecified by the REPLACE option or subcommand and storing it in the library
file. The following special caution is thus required: If a module to be
substituted contains an externally defined symbol already defined in anothermodule in the library file, the old module will be deleted, but the replacement
module will not be stored.
(Continued on next page)25

Examples–REPLACE=userlib.lib
All modules in the library file userlib.lib are stored in the library file beingedited, replacing modules with the same name.
REPLACE∆loadx.rel,loady.rel
The two modules in the relocatable load module files loadx.rel andloady.rel are substituted for modules of the same name in the library file
being edited.
REPLACE∆datax(member),omf
The module named member in library file datax.lib, and the module in theobject module file omf.obj, are substituted for modules of the same name inthe library file being edited.

26

DELETE

4.4.5 DELETE — Deletes modules.
FormatName
Parameters

Function

DELETE

OptionSubcommand

Yes

Yes

<Module name> [,...]

Deletes specified modules from the library file being edited.

Explanation (1) If a specified module does not exist in the library file, an error occurs, and theparameters after the error occurrence are not processed.
(2) The name of an object module or relocatable load module is the name definedin the module. The LIST option or subcommand is a convenient way ofconfirming which modules are stored in a library file.
(3) DELETE cannot be used together with EXTRACT or OUTPUT options or
subcommands.
Examples–DELETE=inchar,outchar
Deletes the two modules inchar and outchar.
DELETE∆datatbl,sort
Deletes the two modules datatbl and sort.

27

EXTRACT

4.4.6 EXTRACT — Extracts modules.
FormatName
Parameters

Function

EXTRACT

OptionSubcommand

Yes

Yes

<Module name> [,...]

Extracts specified modules from the library file being edited.

Explanation (1) The extracted modules are output in library file format with the file namespecified by the OUTPUT option or subcommand.
(2) The name of an object module or relocatable load module is the name definedin the module. The LIST option or subcommand is a convenient way ofconfirming which modules are stored in a library file.
(3) If a specified module does not exist in the library file, an error occurs, and theparameters after the error occurrence are not processed.
(4) EXTRACT cannot be used together with the CREATE, ADD, DELETE or
REPLACE options or subcommands.
Examples–EXTRACT=add,sub,mul,div
Extracts the four modules add, sub, mul, and div from the library file beingedited.
EXTRACT∆alpha,upper,lower,digit,cntrl
Extracts the five modules alpha, upper, lower, digit, and cntrl from the library
file being edited.

28

END

4.4.7 END — Specifies end of subcommand input.
FormatName
Parameters

Function

END

OptionSubcommand

No

Yes

None

Outputs a newly created or updated library file.

Explanation (1) When more than one library file is edited in one Librarian execution, theediting of each library file is terminated by an END subcommand.
(2) Specification of the END subcommand causes the Librarian to output theedited library file. If, however, the number of modules stored in the library
file is zero, the library file is not created or updated.
Examples

END
Outputs a library file.

29

EXIT

4.4.8 EXIT — Specifies end of Librarian operations.
FormatName
Parameters

Function

EXIT

OptionSubcommand

No

Yes

None

Terminates Librarian operations.

Explanation (1) The EXIT subcommand is used to terminate a set of Librarian operations
executed by the subcommand specification.
(2) When executing from a subcommand file, all subcommands following after an
EXIT subcommand are ignored. If the EXIT subcommand is not specified,a warning message will be displayed.
(3) When the EXIT subcommand is used, the immediately preceding END
subcommand may be omitted. In that case the EXIT subcommand serves also
as an END subcommand, causing the library file to be output before
terminating the Librarian operation.
ExamplesEXIT
Terminates Librarian operations.

30

ABORT

4.4.9 ABORT — Aborts Librarian operations.
FormatName
Parameters

Function

ABORT

OptionSubcommand

No

Yes

None

Aborts Librarian operations.

Explanation (1) When executing by the subcommand specification, the ABORT subcommand
can be used to abort editing operations.
(2) When the ABORT subcommand is specified, the library file being edited will
not be created or updated. If, however, a list file was output by a LIST
subcommand before the ABORT subcommand, the list file will remainunchanged.
Examples

ABORT
Aborts Librarian operations.

31

LIST

4.5 List Display
4.5.1 LIST — Displays contents of a library file.
FormatName
Parameters

LIST
OptionOptionSubcommand

Yes

Yes

[<List file name>]

Subcommand [[<List file name>][(S)]]Function

Outputs a list of the contents of the library file being edited to thestandard output device or to a file.

Explanation (1) The names of modules stored in the library file, export symbol names, andother information is output on a list. For the list format, see section 6.2,
Librarian Lists.
(2) When no list file name is specified, the list is output to the standard output
device.
(3) When a list file name is specified, the list is output to a file. Specify a new list
file name; the list cannot be appended to an existing file. If an existing file is
specified, the existing file contents will be replaced.
(4) When no file type is specified as part of the list file name, the type is assumed
to be .lst.
(5) To obtain a list of export symbols designated in modules, specify the (S)parameter. If the (S) parameter is not specified, only the module names will
be listed. The (S) parameter cannot be included when LIST is specified as an
option.
(6) The LIST option or subcommand may be specified any number of times
during the editing process. The library file contents at the point ofspecification will be listed.
(Continued on next page)32

Examples–LIST
A list is output to the standard output device.
Export symbols are not shown.
LIST
A list is output to the standard output device.
Export symbols are not shown.
LIST∆libx(S)A list including export symbols is output to a file named libx.lst.

33

Section 5. Input to the Librarian
5.1 Object Module Files
Object module files output from a C compiler or assembler can be input to the Librarian and stored
as modules in library files.

5.2 Relocatable Load Module Files
A relocatable load module file output from the Linkage Editor can be input and stored in a library
file as one module.

5.3 Library Files
The Librarian inputs the library file it is editing. Also, modules to be stored in this library file canbe input from other library files. Either specified modules can be input, or all the modules in alibrary file can be input at one time.
Input can be made only from library files created using this Librarian.

34

Section 6. Output from the Librarian
6.1 Library Files
The Librarian can combine two or more modules into a single output library file. It can also update
an existing library file, or extract modules from an existing library file, and output the result in
library file format.

6.2 Librarian Lists
When the LIST option or subcommand is specified, a list of the library file contents is output to thestandard output device or to a file. The format of a librarian list is shown in Figure 6-1.

Library file name:
Attribute:(2)
Number of modules:
Number of symbols:
(7)
(10)
:
(7)

(3)
(4)
(8)

(1)
(1)
Creator:Creation date:
Revision date:
Entry date:
(9)
(10)

(11)
(5)
(6)

:
(8)

Entry date:(9)

Figure 6-1. Librarian List Format(1)

Shows the library file name. If the name is too long to fit on one line it is continued to the next
line. When modules are extracted from an existing library file, the list shows the contents of theexisting library file.

(2)

Shows the library file attribute.
SYSTEM...
System library
USER...
User library(3)

Shows the total number of modules stored in the library file, in decimal notation.

(4)

Shows the total number of externally defined symbols in the library file, in decimal notation.

35

(5)

Shows the date and time of library file creation. This information is given in the following
format.

dd - mmm - yy hh : mm : ss
secondminutehour
year (last 2 digits)month (3 letters)
day(6)Shows the date and time of the most recent library file update. In the case of library files
newly created using the CREATE option or subcommand, this is the same as the date ofcreation. The format is the same as for the creation date, above.

(7)

Shows the names of modules stored in the library file, in alphabetical order.

(8)

Shows the kind of editing operation performed on the module.
BLANK
(A)
(R)
(E)

... a module stored in an existing library file... an added module... a replacement module... an extracted module

Modules deleted by means of the DELETE option or subcommand are not listed.
(9)

Shows the date and time a module was stored in the library file. The format is the same as forthe library file creation date and revision date.

(10) When the (S) parameter is specified with the LIST subcommand, the export symbols in each
module are shown. These symbol names are listed in alphabetical order two on each line.
An example of a list when the (S) parameter is specified with the LIST subcommand is given in
Figure 6-2. Figure 6-3 shows a list without the (S) specification.
MS-DOS system:(11) Shows the name of the tool used to create the library file (Librarian model). If the name islonger than 40 characters, only the first 40 characters are shown.

36

Library file name:clib.lib
Attribute:
USER
Number of modules: 6 Creation date:
Number of symbols: 6 Revision date:
ABS.C
_abs
ATOF.C_atof
ATOI.C_atoi
ATOL.C_atol_ALOCBUF_alcobuf
_DIVI
_divi

08-Jan-90 14:18:47
01-Mar-90 19:56:33

Entry date:

08-Jan-90 14:18:47

Entry date:

08-Jan-90 14:18:47

Entry date:

08-Jan-90 14:18:47

Entry date:

08-Jan-90 14:18:47(A) Entry date:

01-Mar-90 19:56:33(A) Entry date:

01-Mar-90 19:56:33

Figure 6-2. Librarian List (with (S) specification)

Library file name: clib.lib
Attribute: USER
Number of modules: 6 Creation date:
Number of symbols: 6 Revision date:
ABS.C
ATOF.CATOI.C
ATOL.C_ALOCBUF_DIVI

Entry date:
Entry date:
Entry date:
Entry date:(A) Entry date:(A) Entry date:

08-Jan-90 14:18:47
01-Mar-90 19:56:33
08-Jan-90 14:18:47
08-Jan-90 14:18:47
08-Jan-90 14:18:47
08-Jan-90 14:18:47
01-Mar-90 19:56:33
01-Mar-90 19:56:33

Figure 6-3. Librarian List (no (S) specification)

37

6.3 Console Messages
The Librarian displays the following messages on the standard output device.
Opening Message: Displayed when the librarian command is input.
H SERIES OBJECT LIBRARIAN Ver. 1.2B
Copyright (C) Hitachi, Ltd. 198X
Licensed Material of Hitachi, Ltd.
Normal Completion Message: Displayed when library file editing has ended normally.
OBJECT LIBRARIAN COMPLETED
Abort Message: Displayed when the library file editing is aborted by either an error or an ABORT
subcommand.
OBJECT LIBRARIAN ABORT
Subcommand Prompt: Indicates that the Librarian is in subcommand input wait state during
interactive execution.
:
Subcommand Continuation Symbol: Request for a continuation line, when continuation of a
subcommand is specified during interactive execution.

-

38

Section 7. Error Messages
The Librarian outputs error messages in the following form.
** <Error number> <Error message> [(<Additional information>)]Error number:

The first digit indicates the level of the error. (xx represents the second andthird digits.)
1xx : Warning

Processing of a particular module is skipped.

2xx : Error

If started by input from the command line or a
subcommand file, processing is stopped. Ininteractive mode, processing of the subcommand is
stopped when the error is detected, and a prompt is
displayed for the next subcommand.

3xx : Fatal error

Processing is stopped.

A list of error messages is given below in Tables 7-1, 7-2 and 7-3, in the following format.
Error number

Error message

Additional information

Description of error
Corrective action, etc.
Note:

Additional information includes the name of the file in which the error occurred, or themodule name or symbol name. In the list of errors, --- means that no additional
information is given.

39

Table 7-1. List of Warning Messages
101 DUPLICATE MODULE

Module nameAn attempt was made to add a module already stored in the library file.
Processing of the module is skipped.
102 DUPLICATE SYMBOLModulename**Symbolname

An attempt was made to add an export symbol already present in the library file.
Processing of the module is skipped.
103 MODULE NAME TOO LONG
- ALLOWED UP TO 32

Module name

A module name of more than 32 characters was specified.
The name is valid up to the 32nd character. The rest is ignored.
104 EXIT SUBCOMMAND NOTFOUND - ASSUMED---

No EXIT subcommand was specified.
Processing continues as though an EXIT subcommand had been specified.

40

Table 7-2. List of Error Messages
201 INVALID SUBCOMMAND/OPTION---

The option or subcommand specified is invalid in this context.
Specify a valid option or subcommand.
202 SYNTAX ERROR---

Syntax of the specified option or subcommand is incorrect.
Check the syntax and re-specify the option or subcommand.
203 SUBCOMMAND LINE LENGTH---

TOO LONG
Length of the subcommand entry exceeds 128 characters.
Re-specify, keeping the length within 128 characters.
204 CONFLICTING SUBCOMMAND---

Subcommands are specified in the wrong order, or an illegal combination of subcommands is
specified.
Check the order of subcommands and re-specify.
205 ILLEGAL FILE NAME---

The specified file name is not valid.
Specify a correct file name.
206 ILLEGAL MODULE NAME---

The specified module name is not valid.
Specify a correct module name.
207 MODULE NOT FOUND

Module name

The specified module cannot be found.
Check the name of the module, then re-specify.
(Continued on next page)41

Table 7-2. List of Error Messages (cont)208 MISSING OUTPUT FILE NAME---

No output file was specified with an EXTRACT option or subcommand.
Use the OUTPUT option or subcommand to specify an output file.
209 TOO MANY INPUT FILES---

More than 12 input files were specified for input at the same time.
First output the library file, then re-input the library file and input the remaining files.
210 TOO MANY MODULES---

The number of modules exceeds the allowable number.
No more modules can be stored in the library file now being created or edited. Store any
additional modules in a separate library file.
211 TOO MANY SYMBOLS---The number of symbols exceeds the allowable number.
The library file now being created or edited cannot contain any more symbols. Modules withadditional symbols must be stored in a separate library file.
212 ILLEGAL FILE FORMAT---The specified file format is incorrect.
Check the file contents and re-execute.
213 MEMORY OVERFLOW---

There is no space remaining in the Librarian's usable memory.
Obtain additional memory and re-execute.
214 FILE NOT FOUND

File name

The specified file cannot be found.
Check the directory and the specified file name, then re-specify.
(Continued on next page)42

Table 7-3. List of Fatal Error Messages
301 INVALID COMMAND PARAMETER---

An improper command parameter was specified.
Check the command parameters and re-execute.
302 CONFLICTING OPTION---

There is a contradiction among different options specified.
Check the order of option specification, then re-specify.
303 CANNOT OPEN FILE

File name

File cannot be opened, or the CREATE or OUTPUT option or subcommand specified analready existing file.
Check the specified file name. If the file name is correct, the disk may be
full, or there may be a disk hardware error. Check the problem, then re-execute.
If an existing file was specified by the CREATE or OUTPUT option or subcommand,delete the existing file, then re-execute.
304 CANNOT INPUT FILE

File name

File cannot be input.
Check the specified file name. If the file name is correct, there may be
a disk hardware error. Check the problem, then re-execute.
305 CANNOT OUTPUT FILE

File name

File cannot be output.
Check the specified file name. If the file name is correct, the disk may be
full, or there may be a disk hardware error. Check the problem, then re-execute.
306 CANNOT CLOSE FILE

File name

File cannot be closed.
Check the specified file name. If the file name is correct, the disk may be
full, or there may be a disk hardware error. Check the problem, then re-execute.
Note:

The Librarian uses temporary files with names in the format shown below. These temporary
file names may appear as additional information in error messages.
Annnnn.TEMP
5 digits, decimal

43

Section 8. Restirictions
Restriction on the Librarian are shown in Table 8-1. If the numerical restrictions are exceeded,
Librarian operations will not execute correctly.
Table 8-1. Restrictions on Librarian Processing
No.

Item

LimitsRemarks

1

The number of modules

Max. 32,767

Assumes that the system on which

2that can be stored in a

Librarian runs has adequate

library filememory.

The number of symbols

Max. 65,535

that can be present in alibrary file3

The number of input files Max.12

Total number of files specified by
LIBRARY, ADD, or REPLACE not
including subcommand files.

4

The number of modules

Max. 10When specifying a library file withthat can be specified in a

ADD or REPLACE

library file5

Length of command line

Depends on OS

6

Length of option orMax. 128 characters

Not including 3

Max. 128 characters

Includes default file-type

subcommand
7

Length of file namecharacters. File name format
depends on OS.
8

Length of module name

Max. 32 characters

9Length of symbol name

Max. 32 characters

10Input file formats• Object module file output byassembler or C compiler.
• Relocatable load module file.
• Library file created using thisLibrarian.

44

Appendix A Examples of Use of Librarian
A.1 Librarian Execution by Command Line%lbr∆-CREATE=func-ADD=abs,mod,sqrt,exp,log 3
1%...(1) Creation2

lbr∆func-ADD=sin,cos-DELETE=abs,mod-LIST 3
3

4

5...(2) Editing

6% lbr∆func-EXTRACT=sqrt,exp-OUTPUT=newfnc 3
7

8...(3) Extraction

9

1. The CREATE option at the beginning of the option line is specified to create a new
library file.
2. The file names for the modules to be entered are specified using the ADD option.
3. The name of the library file to be edited is specified.
4. The file names for modules to be added to the existing library file are specified using
the ADD option.
5. The names of the modules to be deleted from the existing library file are specified using
the DELETE option.
6. The LIST option is specified to confirm the editing results.
7. An existing library file from which modules are to be extracted is specified.
8. The names of the modules to be extracted are specified using the EXTRACT option.
9. The name of a new library file to which the extracted modules are to be output is specified
using the OUTPUT option.
This process is illustrated in Figure A-1.

45

abs.obj

func.libfunc.lib

abs

abs

sqrt

mod

exp

mod.objmod(1) Creation

sqrt.obj

1, 2

sqrt

sqrt

(2) Editing

newfnc.lib(3) Extraction
sqrt
7 to 9

log
sin

exp
3 to 6log

cos

sin.obj

List

exp.objexp
sin
lob.objcos.objlog
cos
File name
Module nameFigure A-1. Results of Librarian Execution by Command Line

46

exp

A.2 Librarian Execution by Subcommands
%
:
:
:
:
:
:
:
:
:
:
:
:

lbr 3
CREATE∆func 3
ADD∆sqrt,exp,log,sin,cos 3
END 3
LIBRARY∆func 3
REPLACE∆sin.new,cos.new,tan.new 3
END 3
LIBRARY∆func 3
LIST 3EXTRACT∆sqrt,exp 3
OUTPUT∆newfnc 3
END 3
EXIT 3

1.
2.

The Librarian is started.
The CREATE subcommand at the beginning of the option line is specified in order to create a
new library file.
The file names of modules to be loaded are specified using the ADD subcommand.
The END subcommand is specified to terminate the creation process.
The name of the library file to be edited is specified.
Modules in the existing library file are replaced, using the REPLACE subcommand. The filenames of the modules to be replaced is specified.
The END subcommand is specified to terminate the editing process.
An existing library file is designated for extraction of modules.
The LIST subcommand is specified to confirm the contents of the existing library file.
The names of the modules to be extracted are specified using the EXTRACT subcommand.
The name of a new library file to which the extracted modules are to be output is specified
using the OUTPUT subcommand.
The END subcommand is specified to terminate the extraction process.
The EXIT subcommand is specified to terminate the Librarian program.

3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.

...1
...2
...3

(1) Creation

...4
...5
...6

(2) Editing

...7
...8
...9
...10

(3) Extraction

...11
...12
...13

This process is illustrated in Figure A-2.

47

func.lib

sqrt.obj

func.lib(3) Extraction

sqrt

exp.obj

sqrt

sqrt

exp

exp

(1) Creation

log.objlog

2 to 48 to 12(2) Editing
log

exp

List

sin

log
5 to 7

newfnc.lib
sin'
sqrt

cos

cos'
exp
tan'

sin.objsin

sin.newcos.objsin'

cos

cos.newcos'File name
Module nametan.newtan'

Figure A-2. Results of Librarian Execution by Subcommand48

IndexA
Aborts librarian 31
Abbreviated form 14, 17
Abort message 38
Addition 2
Additional information 39, 43
Assembler 1, 2, 34, 44
Attribute 19, 21, 35, 37

I
Input file format 44
Input files 23, 25, 42, 44
Interactive mode 7, 8, 39
L
Length of file name 44
Librarian 1
Librarian list 35, 37
Library file 35
Library file attribute 35
Library file name 5, 6, 35
Linkage editor 1, 2, 19, 21, 34

C
C compiler 1, 2, 34, 44
Command line 5, 6, 44, 45, 46
Command line format 5
Comment 13
Console message 38
Continuation specification 12
Creation 1, 2, 18, 36, 47
Creation date 35, 37

MModule 1, 2, 3, 4, 34
Module name 11, 44
N
Normal completion message 38
Number of input files 23, 25, 44
Number of symbols 35, 37, 42, 44

D
Deletion 3
E
Error message 39, 41, 42, 43
Error number 39
Examples of use of librarian 45
Execution control 10, 20
Extraction 4

O
Object module(Object module file) 11, 34, 44
Option 10
Option format 10
Option name 5FFatal error 39
Fatal error message 43
File control 10, 11, 14, 18
File name 5, 11, 44

R
Relocatable load module(Relocatable load module file) 11, 34, 44
Replacement 3, 24, 25, 36
Restrictions 44

49

S
Subcommand 5, 6, 7, 10, 20, 38, 44, 47
Subcommand file 8, 20
Subcommand continuation symbol 38
Subcommand format 11
System library 19, 21, 35
U
User library 19, 21, 35
WWarning 9, 39
Warning message 4050