Query: ar
OS: hpux
Section: 4
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
ar(4) Kernel Interfaces Manual ar(4)NAMEar - common archive file formatSYNOPSISDESCRIPTIONThe command is used to concatenate several files into an archive file (see ar(1)). Archives are used mainly as libraries to be searched by the link editor (see ld(1)). Each archive begins with the archive magic string. Following the archive magic string are the archive file members. Each file member is preceded by a file member header which is of the fol- lowing format: All information in the file member headers is in printable ASCII. The numeric information contained in the headers is stored as decimal numbers (except for which is in octal). Thus, if the archive contains printable files, the archive itself is printable. The contents of the field are slash terminated and blank-padded. The field is the modification date of the file at the time of its inser- tion into the archive. Common format archives can be moved from system to system as long as the portable archive command is used. Note that older versions of did not use the common archive format, and those archives cannot be read or written by the common archiver. Each archive file member begins on an even byte boundary; a new-line character is inserted between files if necessary. Nevertheless, the size given reflects the actual size of the file exclusive of padding. Notice there is no provision for empty areas in an archive file. If the archive symbol table exists, the first file in the archive has a zero-length name (i.e., and The contents of this archive member are machine-dependent. Refer to the appropriate a.out(4) manual entry for more information. Each archive which contains object files (see a.out(4)) may include an archive symbol table. This symbol table is used by the link editor (see ld(1)) to determine which archive members must be loaded during the link edit process. The archive symbol table (if it exists) is always the first member in the archive (but is never listed) and is automatically created and/or updated by If a member with a file name greater than 15 bytes exists within the archive, then the archive will also contain an additional special mem- ber to store the long file name string table. The special string table member has a zero length name where and If a special string table exists, it will precede all non-special archive members. If both a symbol table member and a string table member exist then the symbol table member will always precede the string table member. Each entry in the string table is followed by a slash and a new-line character. The offset of the table begins at zero. If an archive mem- ber name exceeds 15 bytes, then the entry in the member's header does not contain a name, instead it contains the offset into the string table preceded by a slash. For example, the member name contains in the field. This value represents the offset into the string table. The member name contains in the field. The long name string table would have the following format: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +---------------------------------------------------------- 0| t | h | i | s | i | s | a | v | e | r | +---------------------------------------------------------- 10| y | l | o | n | g | f | i | l | e | n | +---------------------------------------------------------- 20| a | m | e | . | o | / | | y | e | t | +---------------------------------------------------------- 30| a | n | o | t | h | e | r | l | o | n | +---------------------------------------------------------- 40| g | f | i | l | e | n | a | m | e | . | +---------------------------------------------------------- 50| o | / | | +----------------SEE ALSOSystem Tools: ar(1) create archived libraries ld(1) invoke the link editor Miscellaneous: a.out(4) assembler, compiler, and linker output magic(4) magic number for HP-UX implementations ranlib(1) regenerate an archive symbol table strip(1) strip symbol and line number information from an object fileCAVEATSremoves the archive symbol table member from the archive (see strip(1)). The archive symbol table must be restored by using the option of the command or the ranlib(1) command before the archive can be used with the link editor. ar(4)