• Aucun résultat trouvé

2-70 @ 4404 Reference Man~al

libgen

Create a new library or update an existing one.

SYNTAX

libgen o=<old lib> n=<new lib> [u=<update>] [<del_list>] [+al]

DESCRIPTION

The "libgen" command creates a new library of relocatable or executable modules or updates an existing library. Each module in a library must have a name. The name is assigned to a module by either the "name" pseudo-op in the relocating assembler or the

'N' option of the linking loader. The "libgen" command does not accept a module without a name.

As it runs, "libgen" produces a report describing the action that it takes for each module in the library. The report includes the name of the module and the file from which it was read (the old library or one of the update files).

Arguments

o=<old lib>

n=<new lib>

The name of an existing library file that was previously created by the "libgen" command.

"libgen" is being called to update an

existing library rather than to create a new one. Either the "o=<old lib>" or

"n=<new lib>" argument, or both, must appear on the command line.

The name of a new library. If a file with this name already exists, "libgen" deletes it without warning before writing the new

library. If the user does not specify a name for the new library, it defaults to the name of the old library. In such a case

"libgen" puts the new library in a scratch file, deletes the old library, and renames the scratch file with the name of the old library. Either the "o=<old lib>" or

" n=<new lib>" argument, or both, must appear on the command line.

4404 Reference Manual @ 2-71

:.1= < update>

del list>

The name of a file containing modules to add to the library. Modules of the same name are replaced by modules from the update file.

The user may specify up to nine update files by repeating the "u=<update>" argument for each one.

A list of the names of modules to delete from the old library.

Options Available

a Produce an abbreviated report that contains information only about modules that were replaced, added, or

deleted.

I Suppress the production of a report.

EXAMPLES

1. libgen n=binlib u=one u=two u=three 2. libgen o=binlib u=new +a

3. libgen o=binlib u=newmods n=newlib transpose add +1 The first example creates a new library named "binlib" that contains all the modules from the files "one," "two," and

"three."

The second examp-le tlpdates the library "binlib" by adding or replacing modules from the file "new." The command produces an abbreviated report.

The third example updates the library "binlib" by adding or replacing modules from the file "newmods" and by deleting the mod ules named "transpose" and "add". The updated library is written to the file "newlib". The old library is deleted.

ERROR MESSAGES

An old or new library name must be specified.

Either the "o=<old lib>" or "n=<new lib>" argument, or both, must appear on the command line.

2-72 @ 4404 Reference Manual

No index fOQnd in <lib name>

The "libgen" command creates every library with an index. This message indicates either that the file specified is not a library

or that it is a library, bQt has been badly damaged, and can no longer be tlsed.

Record not fOQnd in <modQle name>

One of the files in the list of modQles to delete from the old library was not fOQnd in that library. The command ignores that file name and continues.

Record with no name fOQnd in <module name>

Every relocatable or execQtable modQle that goes into a library

"n:J.st have a name. The Qser shoQld remake the specified module and give it a name.

Unknown argument: <str>

The argument specified by <str> is not a valid argQment to the

"libgen" command.

Unrecognizable record in <module name>

All modules in a library mQst be either execQtable or relocatable.

SEE ALSO

ISection 5, The Assembler and Linking Loader libinfo

4404 Reference Manual @ 2-73

lib info Display information about a library.

SYNTAX

libinfo <library_name_list> [+emM]

DESCRIPTION

The "libinfo" command lists the entry points and module names contained in a library produced by the "libgen" command. The user can optionally display only the entry points or only the module names. Information about a particular module within a library can also be displayed.

Arguments

<library_name list> A list of the names of the libraries to report on.

Options Available

e Display only entry points in the specified library.

m Display only module names in the specified library.

M=<mod name> Display information about module <mod name>.

This option is incompatible with both the 'e' and 'm' options. If the user specifies

incompatible options, "libinfo" uses the 'M' option and ignores any others.

EXAMPLES

1. libinfo testlib 2. libinfo runlib +m

3. libinfo /lib/mathlib +M=Arctan

The first example lists all entry points and module names in the library "testlib."

The second example lists all the module names contained in the library "runlibo"

The third example displays the entry points and module names in the module "Arctan" in the library "/lib/mathlib."

2-74 @ 4404 Reference Manual

ERROR MESSAGES

Error opening "<file name>" : <reason>

The operating system retllrned an error when "libinfo" tried to open the specified file. This message is followed by an

interpretation of the error retllrned by the operating system.

Error reading "<file_name>" : <reason>

The operating system retllrned an error when "libinfo" tried to read the specified file. This message is followed by an

interpretation of the error retllrned by the operating system.

Error seeking to <location> in "<file name>" : <reason>

The operating system retllrned an error when "libinfo" tried to seek to the specified location (in hexadecimal) in the specified file. This message is followed by an interpretation of the error retQrned by the operating system.

"<file name>" is not a library!

The file specified does not have the correct format for a library created with the "libgen" command.

**

'M' taken, others ignored

***

The 'm' and 'e' options are incompatible with the 'M' option. If the llser specifies incompatible options, "libinfo" llses the 'M' option and ignores any others.

Unknown option '<char>' ignored.

An Qnknown option was fOllnd and ignored.

SEE ALSO libgen relinfo

4404 Reference Manual @ 2-75

link

Establish a new link to an existing file.

SYNTAX

link <file name 1) <file name 2) DESCRIPTION

The "link" command establishes a new link to an existing file.

If the command is successful, both <file name 1) and

<file name 2) refer to the same file. -

-The user must have write permission in the parent directory in which the new link is created, and must have execute permission

in the directory containing the original copy of the file. Only the system manager may make a link to a directory. A link cannot cross a volume boundary.

Arguments

<file name 1) The name of the existing file to which to establish a link.

<file name 2) The name to link to the existing file.

EXAMPLES

link /susan/.editconfigure .editconfigure

This example creates a file named ".editconfigure" in the tlser's working directory and links it to the existing file

".editconfigtlre" in the directory "/susan".

ERROR MESSAGES

Cannot link across devices

The specified file names reside on different volumes and, therefore, cannot be linked.

Entry already exists: <file name 2)

The file specified by <file name 2) mtlst be a nonexistent file.

2-76 @ 4404 Reference Mantlal

Entry does not exist: <file_name_1>

If the file to which the link is to be made does not exist, it is impossible to link the files.

Entry is a directory: <file_name 1>

The existing file specified is, in fact, a directory. Only the system manager can link to a directory.

Invalid option: <char>

The "link" command supports no options.

Path cannot be followed: <file name>

One or more of the directories that make up the name of the file do not exist.

Permissions deny acc~ss: <file~name>

The user does not have permission to access the specified file.

If the file is the existing file, <file name 1>, the user does not have execute permission in the parent directory- If the file is <file name 2>, the user does not have write permission in the parent directory.

Syntax: link <file name 1> <file name 2>

The "link" command expects exactly two arguments. This message indicates that the argument count is wrong.

SEE ALSO