Lines Matching +full:if +full:- +full:no +full:- +full:files +full:- +full:found
1 llvm-ar - LLVM archiver
6 --------
9 **llvm-ar** [-]{dmpqrtx}[Rabfikou] [relpos] [count] <archive> [files...]
13 -----------
16 The **llvm-ar** command is similar to the common Unix utility, ``ar``. It
17 archives several files together into a single file. The intent for this is
20 **llvm-ar** generates a symbol table that makes linking faster because
24 The **llvm-ar** command can be used to *read* SVR4, GNU and BSD style archive
25 files. However, right now it can only write in the GNU format. If an
29 Here's where **llvm-ar** departs from previous ``ar`` implementations:
34 Since **llvm-ar** supports bitcode files. The symbol table it creates
35 is in GNU format and includes both native and bitcode files.
40 Currently **llvm-ar** can read GNU and BSD long file names, but only writes
46 -------
49 The options to **llvm-ar** are compatible with other ``ar`` implementations.
50 However, there are a few modifiers (*R*) that are not found in other ``ar``
51 implementations. The options to **llvm-ar** specify a single basic operation to
54 determine how **llvm-ar** should process the archive file.
58 archive files end with a ``.a`` suffix, but this is not required. Following
59 the *archive-name* comes a list of *files* that indicate the specific members
60 of the archive to operate on. If the *files* option is not specified, it
70 Delete files from the archive. No modifiers are applicable to this operation.
71 The *files* options specify which members should be removed from the
72 archive. It is not an error if a specified file does not appear in the archive.
73 If no *files* are specified, the archive is not modified.
79 Move files from one location in the archive to another. The *a*, *b*, and
80 *i* modifiers apply to this operation. The *files* will all be moved
81 to the location given by the modifiers. If no modifiers are used, the files
82 will be moved to the end of the archive. If no *files* are specified, the
89 Print files to the standard output. This operation simply prints the
90 *files* indicated to the standard output. If no *files* are
91 specified, the entire archive is printed. Printing bitcode files is
92 ill-advised as they might confuse your terminal settings. The *p*
99 Quickly append files to the end of the archive. This operation quickly adds the
100 *files* to the archive without checking for duplicates that should be
101 removed first. If no *files* are specified, the archive is not modified.
102 Because of the way that **llvm-ar** constructs the archive file, its dubious
111 *files* or insert them at the end of the archive if they do not exist. If no
112 *files* are specified, the archive is not modified.
120 **llvm-ar** also prints out the file type (B=bitcode, S=symbol
122 size, and the date. If any *files* are specified, the listing is only for
123 those files. If no *files* are specified, the table of contents for the
130 Extract archive members back to files. The *o* modifier applies to this
131 operation. This operation retrieves the indicated *files* from the archive
132 and writes them back to the operating system's file system. If no
133 *files* are specified, the entire archive is extract.
148 When inserting or moving member files, this option specifies the destination of
149 the new files as being after the *relpos* member. If *relpos* is not found,
150 the files are placed at the end of the archive.
156 When inserting or moving member files, this option specifies the destination of
157 the new files as being before the *relpos* member. If *relpos* is not
158 found, the files are placed at the end of the archive. This modifier is
171 When extracting files, this option will cause **llvm-ar** to preserve the
172 original modification times of the files it writes.
178 When replacing existing files in the archive, only replace those files that have
193 For all operations, **llvm-ar** will always create the archive if it doesn't
194 exist. Normally, **llvm-ar** will print a warning message indicating that the
204 bitcode files in the archive.
210 This modifier is the opposite of the *s* modifier. It instructs **llvm-ar** to
211 not build the symbol table. If both *s* and *S* are used, the last modifier to
218 This modifier instructs **llvm-ar** to be verbose about what it is doing. Each
227 ---------
230 The **llvm-ar** utility is intended to provide a superset of the IEEE Std 1003.2
231 (POSIX.2) functionality for ``ar``. **llvm-ar** can read both SVR4 and BSD4.4 (or
232 Mac OS X) archives. If the ``f`` modifier is given to the ``x`` or ``r`` operations
233 then **llvm-ar** will write SVR4 compatible archives. Without this modifier,
234 **llvm-ar** will write BSD4.4 compatible archives that have long names
240 -----------
243 The file format for LLVM Archive files is similar to that of BSD 4.4 or Mac OSX
244 archive files. In fact, except for the symbol table, the ``ar`` commands on those
245 operating systems should be able to read LLVM archive files. The details of the
251 begin with an archive header and end with a \n padding character if necessary
253 below), an optional newline-terminated "long file name" and the contents of
261 name - char[16]
263 This field of the header provides the name of the archive member. If the name is
267 bytes immediately following the header. If the name is 15 characters or less, it
272 date - char[12]
280 uid - char[6]
283 This field might not make much sense on non-Unix systems. On Unix, it is the
289 gid - char[6]
292 This field might not make much sense on non-Unix systems. On Unix, it is the
298 mode - char[8]
301 string. This field might not make much sense on non-Unix systems. On Unix, it
307 size - char[10]
314 fmag - char[2]
318 utility in identifying archive files that have been corrupted.
321 offset - vbr encoded 32-bit integer
330 if there are more bytes to follow. The remaining 7 bits in each byte carry bits
335 length - vbr encoded 32-bit integer
342 symbol - character array
346 by the *length* field. Note that is allowed (but unwise) to use non-printing
354 -----------
357 If **llvm-ar** succeeds, it will exit with 0. A usage error, results
364 --------