Author: dim Date: Sat Jun 27 11:56:49 2020 New Revision: 362679 URL: https://svnweb.freebsd.org/changeset/base/362679
Log: Regenerate ReStructuredText based manpages for llvm-project tools: * bugpoint.1 * clang.1 * llc.1 * lldb.1 * lli.1 * llvm-ar.1 * llvm-as.1 * llvm-bcanalyzer.1 * llvm-cov.1 * llvm-diff.1 * llvm-dis.1 * llvm-dwarfdump.1 * llvm-extract.1 * llvm-link.1 * llvm-mca.1 * llvm-nm.1 * llvm-pdbutil.1 * llvm-profdata.1 * llvm-symbolizer.1 * llvm-tblgen.1 * opt.1 Add newly generated manpages for: * llvm-addr2line.1 (this is an alias of llvm-symbolizer) * llvm-cxxfilt.1 * llvm-objcopy.1 * llvm-ranlib.1 (this is an alias of llvm-ar) Note that llvm-objdump.1 is an exception, as upstream has both a plain .1 file, and a .rst variant. These will have to be reconciled upstream first. MFC after: 3 days Added: head/usr.bin/clang/llvm-ar/llvm-ranlib.1 (contents, props changed) head/usr.bin/clang/llvm-cxxfilt/llvm-cxxfilt.1 (contents, props changed) head/usr.bin/clang/llvm-objcopy/llvm-objcopy.1 (contents, props changed) head/usr.bin/clang/llvm-symbolizer/llvm-addr2line.1 (contents, props changed) Modified: head/tools/build/mk/OptionalObsoleteFiles.inc head/usr.bin/clang/bugpoint/bugpoint.1 head/usr.bin/clang/clang/clang.1 head/usr.bin/clang/llc/llc.1 head/usr.bin/clang/lldb/lldb.1 head/usr.bin/clang/lli/lli.1 head/usr.bin/clang/llvm-ar/Makefile head/usr.bin/clang/llvm-ar/llvm-ar.1 head/usr.bin/clang/llvm-as/llvm-as.1 head/usr.bin/clang/llvm-bcanalyzer/llvm-bcanalyzer.1 head/usr.bin/clang/llvm-cov/llvm-cov.1 head/usr.bin/clang/llvm-cxxfilt/Makefile head/usr.bin/clang/llvm-diff/llvm-diff.1 head/usr.bin/clang/llvm-dis/llvm-dis.1 head/usr.bin/clang/llvm-dwarfdump/llvm-dwarfdump.1 head/usr.bin/clang/llvm-extract/llvm-extract.1 head/usr.bin/clang/llvm-link/llvm-link.1 head/usr.bin/clang/llvm-mca/llvm-mca.1 head/usr.bin/clang/llvm-nm/llvm-nm.1 head/usr.bin/clang/llvm-objcopy/Makefile head/usr.bin/clang/llvm-objdump/llvm-objdump.1 head/usr.bin/clang/llvm-pdbutil/llvm-pdbutil.1 head/usr.bin/clang/llvm-profdata/llvm-profdata.1 head/usr.bin/clang/llvm-symbolizer/Makefile head/usr.bin/clang/llvm-symbolizer/llvm-symbolizer.1 head/usr.bin/clang/llvm-tblgen/llvm-tblgen.1 head/usr.bin/clang/opt/opt.1 Modified: head/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- head/tools/build/mk/OptionalObsoleteFiles.inc Sat Jun 27 11:28:11 2020 (r362678) +++ head/tools/build/mk/OptionalObsoleteFiles.inc Sat Jun 27 11:56:49 2020 (r362679) @@ -1191,6 +1191,7 @@ OLD_FILES+=usr/bin/clang OLD_FILES+=usr/bin/clang++ OLD_FILES+=usr/bin/clang-cpp OLD_FILES+=usr/bin/clang-tblgen +OLD_FILES+=usr/bin/llvm-addr2line OLD_FILES+=usr/bin/llvm-ar OLD_FILES+=usr/bin/llvm-nm OLD_FILES+=usr/bin/llvm-objdump Modified: head/usr.bin/clang/bugpoint/bugpoint.1 ============================================================================== --- head/usr.bin/clang/bugpoint/bugpoint.1 Sat Jun 27 11:28:11 2020 (r362678) +++ head/usr.bin/clang/bugpoint/bugpoint.1 Sat Jun 27 11:56:49 2020 (r362679) @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "BUGPOINT" "1" "2018-08-02" "7" "LLVM" +.TH "BUGPOINT" "1" "2020-06-26" "10" "LLVM" .SH NAME bugpoint \- automatic test case reduction tool . @@ -300,10 +300,10 @@ If \fBbugpoint\fP succeeds in finding a problem, it wi if an error occurs, it will exit with a non\-zero value. .SH SEE ALSO .sp -opt|opt +\fBopt(1)\fP .SH AUTHOR -Maintained by The LLVM Team (http://llvm.org/). +Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT -2003-2018, LLVM Project +2003-2020, LLVM Project .\" Generated by docutils manpage writer. . Modified: head/usr.bin/clang/clang/clang.1 ============================================================================== --- head/usr.bin/clang/clang/clang.1 Sat Jun 27 11:28:11 2020 (r362678) +++ head/usr.bin/clang/clang/clang.1 Sat Jun 27 11:56:49 2020 (r362679) @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "CLANG" "1" "Aug 02, 2018" "7" "Clang" +.TH "CLANG" "1" "2020-06-26" "10" "Clang" .SH NAME clang \- the Clang C, C++, and Objective-C compiler . @@ -89,7 +89,7 @@ an "a.out", ".dylib" or ".so" file. .sp The Clang Static Analyzer is a tool that scans source code to try to find bugs through code analysis. This tool uses many parts of Clang and is built into -the same driver. Please see <\fI\%http://clang\-analyzer.llvm.org\fP> for more details +the same driver. Please see <\fI\%https://clang\-analyzer.llvm.org\fP> for more details on how to use the static analyzer. .SH OPTIONS .SS Stage Selection Options @@ -458,9 +458,22 @@ strings and other optimizations. .UNINDENT .INDENT 0.0 .TP -.B \-flax\-vector\-conversions +.B \-flax\-vector\-conversions, \-flax\-vector\-conversions=<kind>, \-fno\-lax\-vector\-conversions Allow loose type checking rules for implicit vector conversions. +Possible values of <kind>: +.INDENT 7.0 +.IP \(bu 2 +\fBnone\fP: allow no implicit conversions between vectors +.IP \(bu 2 +\fBinteger\fP: allow implicit bitcasts between integer vectors of the same +overall bit\-width +.IP \(bu 2 +\fBall\fP: allow implicit bitcasts between any vectors of the same +overall bit\-width .UNINDENT +.sp +<kind> defaults to \fBinteger\fP if unspecified. +.UNINDENT .INDENT 0.0 .TP .B \-fblocks @@ -499,7 +512,7 @@ Specify the architecture to build for. .INDENT 0.0 .TP .B \-mmacosx\-version\-min=<version> -When building for Mac OS X, specify the minimum version supported by your +When building for macOS, specify the minimum version supported by your application. .UNINDENT .INDENT 0.0 @@ -510,6 +523,18 @@ application. .UNINDENT .INDENT 0.0 .TP +.B \-\-print\-supported\-cpus +Print out a list of supported processors for the given target (specified +through \-\-target=<architecture> or \-arch <architecture>). If no target is +specified, the system default target will be used. +.UNINDENT +.INDENT 0.0 +.TP +.B \-mcpu=?, \-mtune=? +Aliases of \-\-print\-supported\-cpus +.UNINDENT +.INDENT 0.0 +.TP .B \-march=<cpu> Specify that Clang should generate code for a specific processor family member and later. For example, if you specify \-march=i486, the compiler is @@ -848,7 +873,7 @@ Darwin targets. .UNINDENT .SH BUGS .sp -To report bugs, please visit <\fI\%http://llvm.org/bugs/\fP>. Most bug reports should +To report bugs, please visit <\fI\%https://bugs.llvm.org/\fP>. Most bug reports should include preprocessed source files (use the \fI\%\-E\fP option) and the full output of the compiler, along with information to reproduce. .SH SEE ALSO @@ -857,6 +882,6 @@ output of the compiler, along with information to repr .SH AUTHOR Maintained by the Clang / LLVM Team (<http://clang.llvm.org>) .SH COPYRIGHT -2007-2018, The Clang Team +2007-2020, The Clang Team .\" Generated by docutils manpage writer. . Modified: head/usr.bin/clang/llc/llc.1 ============================================================================== --- head/usr.bin/clang/llc/llc.1 Sat Jun 27 11:28:11 2020 (r362678) +++ head/usr.bin/clang/llc/llc.1 Sat Jun 27 11:56:49 2020 (r362679) @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLC" "1" "2018-08-02" "7" "LLVM" +.TH "LLC" "1" "2020-06-26" "10" "LLVM" .SH NAME llc \- LLVM static compiler . @@ -41,7 +41,7 @@ for a specified architecture. The assembly language o through a native assembler and linker to generate a native executable. .sp The choice of architecture for the output assembly code is automatically -determined from the input file, unless the \fB\-march\fP option is used to +determined from the input file, unless the \fI\%\-march\fP option is used to override the default. .SH OPTIONS .sp @@ -49,11 +49,11 @@ If \fBfilename\fP is "\fB\-\fP" or omitted, \fBllc\fP Otherwise, it will from \fBfilename\fP\&. Inputs can be in either the LLVM assembly language format (\fB\&.ll\fP) or the LLVM bitcode format (\fB\&.bc\fP). .sp -If the \fB\-o\fP option is omitted, then \fBllc\fP will send its output -to standard output if the input is from standard input. If the \fB\-o\fP +If the \fI\%\-o\fP option is omitted, then \fBllc\fP will send its output +to standard output if the input is from standard input. If the \fI\%\-o\fP option specifies "\fB\-\fP", then the output will also be sent to standard output. .sp -If no \fB\-o\fP option is specified and an input file other than "\fB\-\fP" is +If no \fI\%\-o\fP option is specified and an input file other than "\fB\-\fP" is specified, then \fBllc\fP creates the output filename by taking the input filename, removing any existing \fB\&.bc\fP extension, and adding a \fB\&.s\fP suffix. .sp @@ -66,6 +66,12 @@ Print a summary of command line options. .UNINDENT .INDENT 0.0 .TP +.B \-o <filename> +Use \fB<filename>\fP as the output filename. See the summary above for more +details. +.UNINDENT +.INDENT 0.0 +.TP .B \-O=uint Generate code at different optimization levels. These correspond to the \fB\-O0\fP, \fB\-O1\fP, \fB\-O2\fP, and \fB\-O3\fP optimization levels used by @@ -130,8 +136,8 @@ llvm\-as < /dev/null | llc \-march=xyz \-mattr=help .UNINDENT .INDENT 0.0 .TP -.B \-\-disable\-fp\-elim -Disable frame pointer elimination optimization. +.B \-\-frame\-pointer +Specify effect of frame pointer elimination optimization (all,non\-leaf,none). .UNINDENT .INDENT 0.0 .TP @@ -174,7 +180,7 @@ error. .B \-\-load=<dso_path> Dynamically load \fBdso_path\fP (a path to a dynamically shared object) that implements an LLVM target. This will permit the target name to be used with -the \fB\-march\fP option so that code can be generated for that target. +the \fI\%\-march\fP option so that code can be generated for that target. .UNINDENT .INDENT 0.0 .TP @@ -191,6 +197,12 @@ sizes (unsigned LEB128). The stack size values only in in the function prologue. Functions with dynamic stack allocations are not included. .UNINDENT +.INDENT 0.0 +.TP +.B \-remarks\-section +Emit the __remarks (MachO) section which contains metadata about remark +diagnostics. +.UNINDENT .SS Tuning/Configuration Options .INDENT 0.0 .TP @@ -265,10 +277,10 @@ If \fBllc\fP succeeds, it will exit with 0. Otherwise occurs, it will exit with a non\-zero value. .SH SEE ALSO .sp -lli +\fBlli(1)\fP .SH AUTHOR -Maintained by The LLVM Team (http://llvm.org/). +Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT -2003-2018, LLVM Project +2003-2020, LLVM Project .\" Generated by docutils manpage writer. . Modified: head/usr.bin/clang/lldb/lldb.1 ============================================================================== --- head/usr.bin/clang/lldb/lldb.1 Sat Jun 27 11:28:11 2020 (r362678) +++ head/usr.bin/clang/lldb/lldb.1 Sat Jun 27 11:56:49 2020 (r362679) @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLDB" "1" "Jan 27, 2020" "8" "LLDB" +.TH "LLDB" "1" "2020-06-26" "8" "LLDB" .SH NAME lldb \- LLDB Documentation . @@ -61,12 +61,12 @@ Tells the debugger to attach to a process with the giv .INDENT 0.0 .TP .B \-n <value> -Alias for –attach\-name +Alias for \-\-attach\-name .UNINDENT .INDENT 0.0 .TP .B \-p <value> -Alias for –attach\-pid +Alias for \-\-attach\-pid .UNINDENT .INDENT 0.0 .TP @@ -76,7 +76,7 @@ Tells the debugger to wait for a process with the give .INDENT 0.0 .TP .B \-w -Alias for –wait\-for +Alias for \-\-wait\-for .UNINDENT .SH COMMANDS .INDENT 0.0 @@ -87,27 +87,27 @@ Tells the debugger to run the commands from \-s, \-S, .INDENT 0.0 .TP .B \-b -Alias for –batch +Alias for \-\-batch .UNINDENT .INDENT 0.0 .TP .B \-K <value> -Alias for –source\-on\-crash +Alias for \-\-source\-on\-crash .UNINDENT .INDENT 0.0 .TP .B \-k <value> -Alias for –one\-line\-on\-crash +Alias for \-\-one\-line\-on\-crash .UNINDENT .INDENT 0.0 .TP .B \-\-local\-lldbinit -Allow the debugger to parse the .lldbinit files in the current working directory, unless –no\-lldbinit is passed. +Allow the debugger to parse the .lldbinit files in the current working directory, unless \-\-no\-lldbinit is passed. .UNINDENT .INDENT 0.0 .TP .B \-\-no\-lldbinit -Do not automatically parse any ‘.lldbinit’ files. +Do not automatically parse any \(aq.lldbinit\(aq files. .UNINDENT .INDENT 0.0 .TP @@ -127,17 +127,17 @@ Tells the debugger to execute this one\-line lldb comm .INDENT 0.0 .TP .B \-O <value> -Alias for –one\-line\-before\-file +Alias for \-\-one\-line\-before\-file .UNINDENT .INDENT 0.0 .TP .B \-o <value> -Alias for –one\-line +Alias for \-\-one\-line .UNINDENT .INDENT 0.0 .TP .B \-Q -Alias for –source\-quietly +Alias for \-\-source\-quietly .UNINDENT .INDENT 0.0 .TP @@ -162,17 +162,17 @@ Tells the debugger to read in and execute the lldb com .INDENT 0.0 .TP .B \-S <value> -Alias for –source\-before\-file +Alias for \-\-source\-before\-file .UNINDENT .INDENT 0.0 .TP .B \-s <value> -Alias for –source +Alias for \-\-source .UNINDENT .INDENT 0.0 .TP .B \-x -Alias for –no\-lldbinit +Alias for \-\-no\-lldbinit .UNINDENT .SH OPTIONS .INDENT 0.0 @@ -183,7 +183,7 @@ Tells the debugger to use the specified architecture w .INDENT 0.0 .TP .B \-a <value> -Alias for –arch +Alias for \-\-arch .UNINDENT .INDENT 0.0 .TP @@ -203,7 +203,7 @@ Tells the debugger to use the full path to <filename> .INDENT 0.0 .TP .B \-c <value> -Alias for –core +Alias for \-\-core .UNINDENT .INDENT 0.0 .TP @@ -213,17 +213,17 @@ Tells the debugger to print out extra information for .INDENT 0.0 .TP .B \-d -Alias for –debug +Alias for \-\-debug .UNINDENT .INDENT 0.0 .TP .B \-\-editor -Tells the debugger to open source files using the host’s “external editor” mechanism. +Tells the debugger to open source files using the host\(aqs "external editor" mechanism. .UNINDENT .INDENT 0.0 .TP .B \-e -Alias for –editor +Alias for \-\-editor .UNINDENT .INDENT 0.0 .TP @@ -233,7 +233,7 @@ Tells the debugger to use the file <filename> as the p .INDENT 0.0 .TP .B \-f <value> -Alias for –file +Alias for \-\-file .UNINDENT .INDENT 0.0 .TP @@ -243,7 +243,7 @@ Prints out the usage information for the LLDB debugger .INDENT 0.0 .TP .B \-h -Alias for –help +Alias for \-\-help .UNINDENT .INDENT 0.0 .TP @@ -263,18 +263,18 @@ Prints out the current version number of the LLDB debu .INDENT 0.0 .TP .B \-v -Alias for –version +Alias for \-\-version .UNINDENT .INDENT 0.0 .TP .B \-X -Alias for –no\-use\-color +Alias for \-\-no\-use\-color .UNINDENT .SH REPL .INDENT 0.0 .TP .B \-r=<flags> -Alias for –repl=<flags> +Alias for \-\-repl=<flags> .UNINDENT .INDENT 0.0 .TP @@ -289,13 +289,13 @@ Runs lldb in REPL mode with a stub process with the gi .INDENT 0.0 .TP .B \-R <value> -Alias for –repl\-language +Alias for \-\-repl\-language .UNINDENT .SH SCRIPTING .INDENT 0.0 .TP .B \-l <value> -Alias for –script\-language +Alias for \-\-script\-language .UNINDENT .INDENT 0.0 .TP @@ -305,7 +305,7 @@ Prints out the path to the lldb.py file for this versi .INDENT 0.0 .TP .B \-P -Alias for –python\-path +Alias for \-\-python\-path .UNINDENT .INDENT 0.0 .TP @@ -317,11 +317,11 @@ Tells the debugger to use the specified scripting lang The debugger can be started in several modes. .sp Passing an executable as a positional argument prepares \fBlldb\fP to -debug the given executable. Arguments passed after – are considered arguments +debug the given executable. Arguments passed after \-\- are considered arguments to the debugged executable. .INDENT 0.0 .INDENT 3.5 -lldb –arch x86_64 /path/to/program – –arch arvm7 +lldb \-\-arch x86_64 /path/to/program \-\- \-\-arch arvm7 .UNINDENT .UNINDENT .sp @@ -334,14 +334,14 @@ lldb \-n <process\-name> .UNINDENT .UNINDENT .sp -Passing –repl starts \fBlldb\fP in REPL mode. +Passing \-\-repl starts \fBlldb\fP in REPL mode. .INDENT 0.0 .INDENT 3.5 lldb \-r .UNINDENT .UNINDENT .sp -Passing –core causes \fBlldb\fP to debug the core file. +Passing \-\-core causes \fBlldb\fP to debug the core file. .INDENT 0.0 .INDENT 3.5 lldb \-c /path/to/core @@ -353,7 +353,7 @@ run the specified commands before or after events, lik crashing, in the order provided on the command line. .INDENT 0.0 .INDENT 3.5 -lldb \-O ‘settings set stop\-disassembly\-count 20’ \-o ‘run’ \-o ‘bt’ +lldb \-O \(aqsettings set stop\-disassembly\-count 20\(aq \-o \(aqrun\(aq \-o \(aqbt\(aq lldb \-S /source/before/file \-s /source/after/file lldb \-K /source/before/crash \-k /source/after/crash .UNINDENT @@ -365,12 +365,12 @@ loading the file (via \-o or \-s) will be ignored. .sp In \fBlldb\fP there is a help command which can be used to find descriptions and examples of all \fBlldb\fP commands. To get help on -“breakpoint set” you would type “help breakpoint set”. +"breakpoint set" you would type "help breakpoint set". .sp There is also an apropos command which will search the help text of all commands for a given term ‐‐ this is useful for locating a command by topic. -For instance, “apropos breakpoint” will list any command that has the word -“breakpoint” in its help text. +For instance, "apropos breakpoint" will list any command that has the word +"breakpoint" in its help text. .SH CONFIGURATION FILES .sp \fBlldb\fP reads things like settings, aliases and commands from the Modified: head/usr.bin/clang/lli/lli.1 ============================================================================== --- head/usr.bin/clang/lli/lli.1 Sat Jun 27 11:28:11 2020 (r362678) +++ head/usr.bin/clang/lli/lli.1 Sat Jun 27 11:56:49 2020 (r362679) @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLI" "1" "2018-08-02" "7" "LLVM" +.TH "LLI" "1" "2020-06-26" "10" "LLVM" .SH NAME lli \- directly execute programs from LLVM bitcode . @@ -162,6 +162,7 @@ Choose the code model from: .nf .ft C default: Target default code model +tiny: Tiny code model small: Small code model kernel: Kernel code model medium: Medium code model @@ -289,10 +290,10 @@ If \fBlli\fP fails to load the program, it will exit w Otherwise, it will return the exit code of the program it executes. .SH SEE ALSO .sp -\fBllc\fP +\fBllc(1)\fP .SH AUTHOR -Maintained by The LLVM Team (http://llvm.org/). +Maintained by the LLVM Team (https://llvm.org/). .SH COPYRIGHT -2003-2018, LLVM Project +2003-2020, LLVM Project .\" Generated by docutils manpage writer. . Modified: head/usr.bin/clang/llvm-ar/Makefile ============================================================================== --- head/usr.bin/clang/llvm-ar/Makefile Sat Jun 27 11:28:11 2020 (r362678) +++ head/usr.bin/clang/llvm-ar/Makefile Sat Jun 27 11:56:49 2020 (r362679) @@ -1,6 +1,7 @@ # $FreeBSD$ PROG_CXX= llvm-ar +MAN= llvm-ar.1 llvm-ranlib.1 SRCDIR= llvm/tools/llvm-ar SRCS+= llvm-ar.cpp Modified: head/usr.bin/clang/llvm-ar/llvm-ar.1 ============================================================================== --- head/usr.bin/clang/llvm-ar/llvm-ar.1 Sat Jun 27 11:28:11 2020 (r362678) +++ head/usr.bin/clang/llvm-ar/llvm-ar.1 Sat Jun 27 11:56:49 2020 (r362679) @@ -1,7 +1,7 @@ .\" $FreeBSD$ .\" Man page generated from reStructuredText. . -.TH "LLVM-AR" "1" "2018-08-02" "7" "LLVM" +.TH "LLVM-AR" "1" "2020-06-26" "10" "LLVM" .SH NAME llvm-ar \- LLVM archiver . @@ -33,358 +33,388 @@ level margin: \\n[rst2man-indent\\n[rst2man-indent-lev .. .SH SYNOPSIS .sp -\fBllvm\-ar\fP [\-]{dmpqrtx}[Rabfikou] [relpos] [count] <archive> [files...] +\fBllvm\-ar\fP [\-]{dmpqrstx}[abcDilLNoOPsSTuUvV] [relpos] [count] archive [files...] .SH DESCRIPTION .sp -The \fBllvm\-ar\fP command is similar to the common Unix utility, \fBar\fP\&. It -archives several files together into a single file. The intent for this is -to produce archive libraries by LLVM bitcode that can be linked into an -LLVM program. However, the archive can contain any kind of file. By default, -\fBllvm\-ar\fP generates a symbol table that makes linking faster because -only the symbol table needs to be consulted, not each individual file member -of the archive. +The \fBllvm\-ar\fP command is similar to the common Unix utility, +\fBar\fP\&. It archives several files, such as objects and LLVM bitcode +files into a single archive library that can be linked into a program. However, +the archive can contain any kind of file. By default, \fBllvm\-ar\fP +generates a symbol table that makes linking faster because only the symbol +table needs to be consulted, not each individual file member of the archive. .sp -The \fBllvm\-ar\fP command can be used to \fIread\fP SVR4, GNU and BSD style archive -files. However, right now it can only write in the GNU format. If an -SVR4 or BSD style archive is used with the \fBr\fP (replace) or \fBq\fP (quick -update) operations, the archive will be reconstructed in GNU format. +The \fBllvm\-ar\fP command can be used to \fIread\fP archive files in SVR4, +GNU, BSD and Darwin format, and \fIwrite\fP in the GNU, BSD, and Darwin style +archive files. If an SVR4 format archive is used with the \fI\%r\fP +(replace), \fI\%d\fP (delete), \fI\%m\fP (move) or \fI\%q\fP +(quick update) operations, the archive will be reconstructed in the format +defined by \fI\%\-\-format\fP\&. .sp -Here\(aqs where \fBllvm\-ar\fP departs from previous \fBar\fP implementations: +Here\(aqs where \fBllvm\-ar\fP departs from previous \fBar\fP +implementations: .sp -\fISymbol Table\fP +\fIThe following option is not supported\fP .INDENT 0.0 .INDENT 3.5 -Since \fBllvm\-ar\fP supports bitcode files. The symbol table it creates -is in GNU format and includes both native and bitcode files. +[f] \- truncate inserted filenames .UNINDENT .UNINDENT .sp -\fILong Paths\fP +\fIThe following options are ignored for compatibility\fP .INDENT 0.0 .INDENT 3.5 -Currently \fBllvm\-ar\fP can read GNU and BSD long file names, but only writes -archives with the GNU format. +\-\-plugin=<string> \- load a plugin which adds support for other file formats +.sp +[l] \- ignored in \fBar\fP .UNINDENT .UNINDENT -.SH OPTIONS .sp -The options to \fBllvm\-ar\fP are compatible with other \fBar\fP implementations. -However, there are a few modifiers (\fIR\fP) that are not found in other \fBar\fP -implementations. The options to \fBllvm\-ar\fP specify a single basic operation to -perform on the archive, a variety of modifiers for that operation, the name of -the archive file, and an optional list of file names. These options are used to -determine how \fBllvm\-ar\fP should process the archive file. -.sp -The Operations and Modifiers are explained in the sections below. The minimal -set of options is at least one operator and the name of the archive. Typically -archive files end with a \fB\&.a\fP suffix, but this is not required. Following -the \fIarchive\-name\fP comes a list of \fIfiles\fP that indicate the specific members -of the archive to operate on. If the \fIfiles\fP option is not specified, it -generally means either "none" or "all" members, depending on the operation. -.SS Operations -.sp -d +\fISymbol Table\fP .INDENT 0.0 .INDENT 3.5 -Delete files from the archive. No modifiers are applicable to this operation. -The \fIfiles\fP options specify which members should be removed from the -archive. It is not an error if a specified file does not appear in the archive. -If no \fIfiles\fP are specified, the archive is not modified. +Since \fBllvm\-ar\fP supports bitcode files, the symbol table it creates +includes both native and bitcode symbols. .UNINDENT .UNINDENT .sp -m[abi] +\fIDeterministic Archives\fP .INDENT 0.0 .INDENT 3.5 -Move files from one location in the archive to another. The \fIa\fP, \fIb\fP, and -\fIi\fP modifiers apply to this operation. The \fIfiles\fP will all be moved -to the location given by the modifiers. If no modifiers are used, the files -will be moved to the end of the archive. If no \fIfiles\fP are specified, the -archive is not modified. +By default, \fBllvm\-ar\fP always uses zero for timestamps and UIDs/GIDs +to write archives in a deterministic mode. This is equivalent to the +\fI\%D\fP modifier being enabled by default. If you wish to maintain +compatibility with other \fBar\fP implementations, you can pass the +\fI\%U\fP modifier to write actual timestamps and UIDs/GIDs. .UNINDENT .UNINDENT .sp -p +\fIWindows Paths\fP .INDENT 0.0 .INDENT 3.5 -Print files to the standard output. This operation simply prints the -\fIfiles\fP indicated to the standard output. If no \fIfiles\fP are -specified, the entire archive is printed. Printing bitcode files is -ill\-advised as they might confuse your terminal settings. The \fIp\fP -operation never modifies the archive. +When on Windows \fBllvm\-ar\fP treats the names of archived \fIfiles\fP in the same +case sensitive manner as the operating system. When on a non\-Windows machine +\fBllvm\-ar\fP does not consider character case. .UNINDENT .UNINDENT +.SH OPTIONS .sp -q +\fBllvm\-ar\fP operations are compatible with other \fBar\fP +implementations. However, there are a few modifiers (\fI\%L\fP) that are not +found in other \fBar\fP implementations. The options for +\fBllvm\-ar\fP specify a single basic Operation to perform on the archive, +a variety of Modifiers for that Operation, the name of the archive file, and an +optional list of file names. If the \fIfiles\fP option is not specified, it +generally means either "none" or "all" members, depending on the operation. The +Options, Operations and Modifiers are explained in the sections below. +.sp +The minimal set of options is at least one operator and the name of the +archive. +.SS Operations .INDENT 0.0 -.INDENT 3.5 -Quickly append files to the end of the archive. This operation quickly adds the -\fIfiles\fP to the archive without checking for duplicates that should be -removed first. If no \fIfiles\fP are specified, the archive is not modified. -Because of the way that \fBllvm\-ar\fP constructs the archive file, its dubious -whether the \fIq\fP operation is any faster than the \fIr\fP operation. +.TP +.B d [NT] +Delete files from the \fBarchive\fP\&. The \fI\%N\fP and \fI\%T\fP modifiers +apply to this operation. The \fIfiles\fP options specify which members should be +removed from the archive. It is not an error if a specified file does not +appear in the archive. If no \fIfiles\fP are specified, the archive is not +modified. .UNINDENT +.INDENT 0.0 +.TP +.B m [abi] +Move files from one location in the \fBarchive\fP to another. The \fI\%a\fP, +\fI\%b\fP, and \fI\%i\fP modifiers apply to this operation. The \fIfiles\fP +will all be moved to the location given by the modifiers. If no modifiers are +used, the files will be moved to the end of the archive. If no \fIfiles\fP are +specified, the archive is not modified. .UNINDENT -.sp -r[abu] .INDENT 0.0 -.INDENT 3.5 -Replace or insert file members. The \fIa\fP, \fIb\fP, and \fIu\fP -modifiers apply to this operation. This operation will replace existing -\fIfiles\fP or insert them at the end of the archive if they do not exist. If no -\fIfiles\fP are specified, the archive is not modified. +.TP +.B p [v] +Print \fIfiles\fP to the standard output stream. If no \fIfiles\fP are specified, the +entire \fBarchive\fP is printed. With the \fI\%v\fP modifier, +\fBllvm\-ar\fP also prints out the name of the file being output. Printing +binary files is ill\-advised as they might confuse your terminal settings. The +\fI\%p\fP operation never modifies the archive. .UNINDENT +.INDENT 0.0 +.TP +.B q [LT] +Quickly append files to the end of the \fBarchive\fP without removing +duplicates. If no \fIfiles\fP are specified, the archive is not modified. The +behavior when appending one archive to another depends upon whether the +\fI\%L\fP and \fI\%T\fP modifiers are used: +.INDENT 7.0 +.IP \(bu 2 +Appending a regular archive to a regular archive will append the archive +file. If the \fI\%L\fP modifier is specified the members will be appended +instead. +.IP \(bu 2 +Appending a regular archive to a thin archive requires the \fI\%T\fP +modifier and will append the archive file. The \fI\%L\fP modifier is not +supported. +.IP \(bu 2 +Appending a thin archive to a regular archive will append the archive file. +If the \fI\%L\fP modifier is specified the members will be appended +instead. +.IP \(bu 2 +Appending a thin archive to a thin archive will always quick append its +members. .UNINDENT +.UNINDENT +.INDENT 0.0 +.TP +.B r [abTu] +Replace existing \fIfiles\fP or insert them at the end of the \fBarchive\fP if +they do not exist. The \fI\%a\fP, \fI\%b\fP, \fI\%T\fP and \fI\%u\fP +modifiers apply to this operation. If no \fIfiles\fP are specified, the archive +is not modified. +.UNINDENT .sp t[v] +.. option:: t [vO] .INDENT 0.0 .INDENT 3.5 Print the table of contents. Without any modifiers, this operation just prints -the names of the members to the standard output. With the \fIv\fP modifier, -\fBllvm\-ar\fP also prints out the file type (B=bitcode, S=symbol -table, blank=regular file), the permission mode, the owner and group, the -size, and the date. If any \fIfiles\fP are specified, the listing is only for -those files. If no \fIfiles\fP are specified, the table of contents for the -whole archive is printed. +the names of the members to the standard output stream. With the \fI\%v\fP +modifier, \fBllvm\-ar\fP also prints out the file type (B=bitcode, +S=symbol table, blank=regular file), the permission mode, the owner and group, +are ignored when extracting \fIfiles\fP and set to placeholder values when adding +size, and the date. With the \fI\%O\fP modifier, display member offsets. If +any \fIfiles\fP are specified, the listing is only for those files. If no \fIfiles\fP +are specified, the table of contents for the whole archive is printed. .UNINDENT .UNINDENT -.sp -x[oP] .INDENT 0.0 -.INDENT 3.5 -Extract archive members back to files. The \fIo\fP modifier applies to this -operation. This operation retrieves the indicated \fIfiles\fP from the archive -and writes them back to the operating system\(aqs file system. If no -\fIfiles\fP are specified, the entire archive is extract. +.TP +.B V +A synonym for the \fI\%\-\-version\fP option. .UNINDENT +.INDENT 0.0 +.TP +.B x [oP] +Extract \fBarchive\fP members back to files. The \fI\%o\fP modifier applies +to this operation. This operation retrieves the indicated \fIfiles\fP from the +archive and writes them back to the operating system\(aqs file system. If no +\fIfiles\fP are specified, the entire archive is extracted. .UNINDENT .SS Modifiers (operation specific) .sp The modifiers below are specific to certain operations. See the Operations -section (above) to determine which modifiers are applicable to which operations. -.sp -[a] +section to determine which modifiers are applicable to which operations. .INDENT 0.0 -.INDENT 3.5 -When inserting or moving member files, this option specifies the destination of -the new files as being after the \fIrelpos\fP member. If \fIrelpos\fP is not found, -the files are placed at the end of the archive. +.TP +.B a +When inserting or moving member files, this option specifies the destination +of the new files as being after the \fIrelpos\fP member. If \fIrelpos\fP is not found, +the files are placed at the end of the \fBarchive\fP\&. \fIrelpos\fP cannot be +consumed without either \fI\%a\fP, \fI\%b\fP or \fI\%i\fP\&. .UNINDENT +.INDENT 0.0 +.TP +.B b +When inserting or moving member files, this option specifies the destination +of the new files as being before the \fIrelpos\fP member. If \fIrelpos\fP is not +found, the files are placed at the end of the \fBarchive\fP\&. \fIrelpos\fP cannot +be consumed without either \fI\%a\fP, \fI\%b\fP or \fI\%i\fP\&. This +modifier is identical to the \fI\%i\fP modifier. .UNINDENT -.sp -[b] .INDENT 0.0 -.INDENT 3.5 -When inserting or moving member files, this option specifies the destination of -the new files as being before the \fIrelpos\fP member. If \fIrelpos\fP is not -found, the files are placed at the end of the archive. This modifier is -identical to the \fIi\fP modifier. +.TP +.B i +A synonym for the \fI\%b\fP option. .UNINDENT +.INDENT 0.0 +.TP +.B L +When quick appending an \fBarchive\fP, instead quick append its members. This +is a feature for \fBllvm\-ar\fP that is not found in gnu\-ar. .UNINDENT -.sp -[i] .INDENT 0.0 -.INDENT 3.5 -A synonym for the \fIb\fP option. +.TP +.B N +When extracting or deleting a member that shares its name with another member, +the \fIcount\fP parameter allows you to supply a positive whole number that +selects the instance of the given name, with "1" indicating the first +instance. If \fI\%N\fP is not specified the first member of that name will +be selected. If \fIcount\fP is not supplied, the operation fails.*count* cannot be .UNINDENT +.INDENT 0.0 +.TP +.B o +When extracting files, use the modification times of any \fIfiles\fP as they +appear in the \fBarchive\fP\&. By default \fIfiles\fP extracted from the archive +use the time of extraction. .UNINDENT -.sp -[o] .INDENT 0.0 -.INDENT 3.5 -When extracting files, this option will cause \fBllvm\-ar\fP to preserve the -original modification times of the files it writes. +.TP +.B O +Display member offsets inside the archive. .UNINDENT +.INDENT 0.0 +.TP +.B T +When creating or modifying an archive, this option specifies that the +\fBarchive\fP will be thin. By default, archives are not created as thin +archives and when modifying a thin archive, it will be converted to a regular +archive. .UNINDENT -.sp -[u] .INDENT 0.0 -.INDENT 3.5 -When replacing existing files in the archive, only replace those files that have -a time stamp than the time stamp of the member in the archive. +.TP +.B v +When printing \fIfiles\fP or the \fBarchive\fP table of contents, this modifier +instructs \fBllvm\-ar\fP to include additional information in the output. .UNINDENT -.UNINDENT .SS Modifiers (generic) .sp The modifiers below may be applied to any operation. -.sp -[c] .INDENT 0.0 -.INDENT 3.5 -For all operations, \fBllvm\-ar\fP will always create the archive if it doesn\(aqt -exist. Normally, \fBllvm\-ar\fP will print a warning message indicating that the -archive is being created. Using this modifier turns off that warning. +.TP +.B c +For the \fI\%r\fP (replace)and \fI\%q\fP (quick update) operations, +\fBllvm\-ar\fP will always create the archive if it doesn\(aqt exist. +Normally, \fBllvm\-ar\fP will print a warning message indicating that the +\fBarchive\fP is being created. Using this modifier turns off +that warning. .UNINDENT +.INDENT 0.0 +.TP +.B D +Use zero for timestamps and UIDs/GIDs. This is set by default. .UNINDENT -.sp -[s] .INDENT 0.0 -.INDENT 3.5 +.TP +.B P +Use full paths when matching member names rather than just the file name. +This can be useful when manipulating an \fBarchive\fP generated by another +archiver, as some allow paths as member names. This is the default behavior +for thin archives. +.UNINDENT +.INDENT 0.0 +.TP +.B s This modifier requests that an archive index (or symbol table) be added to the -archive. This is the default mode of operation. The symbol table will contain -all the externally visible functions and global variables defined by all the -bitcode files in the archive. +\fBarchive\fP, as if using ranlib. The symbol table will contain all the +externally visible functions and global variables defined by all the bitcode +files in the archive. By default \fBllvm\-ar\fP generates symbol tables in +archives. This can also be used as an operation. .UNINDENT +.INDENT 0.0 +.TP +.B S +This modifier is the opposite of the \fI\%s\fP modifier. It instructs +\fBllvm\-ar\fP to not build the symbol table. If both \fI\%s\fP and +\fI\%S\fP are used, the last modifier to occur in the options will prevail. .UNINDENT -.sp -[S] .INDENT 0.0 -.INDENT 3.5 -This modifier is the opposite of the \fIs\fP modifier. It instructs \fBllvm\-ar\fP to -not build the symbol table. If both \fIs\fP and \fIS\fP are used, the last modifier to -occur in the options will prevail. +.TP +.B u +Only update \fBarchive\fP members with \fIfiles\fP that have more recent +timestamps. .UNINDENT +.INDENT 0.0 +.TP +.B U +Use actual timestamps and UIDs/GIDs. .UNINDENT -.sp -[v] +.SS Other .INDENT 0.0 -.INDENT 3.5 -This modifier instructs \fBllvm\-ar\fP to be verbose about what it is doing. Each -editing operation taken against the archive will produce a line of output saying -what is being done. +.TP +.B \-\-format=<type> +This option allows for default, gnu, darwin or bsd \fB<type>\fP to be selected. +When creating an \fBarchive\fP, \fB<type>\fP will default to that of the host +machine. .UNINDENT +.INDENT 0.0 +.TP +.B \-h, \-\-help +Print a summary of command\-line options and their meanings. .UNINDENT -.SH STANDARDS -.sp -The \fBllvm\-ar\fP utility is intended to provide a superset of the IEEE Std 1003.2 -(POSIX.2) functionality for \fBar\fP\&. \fBllvm\-ar\fP can read both SVR4 and BSD4.4 (or -Mac OS X) archives. If the \fBf\fP modifier is given to the \fBx\fP or \fBr\fP operations -then \fBllvm\-ar\fP will write SVR4 compatible archives. Without this modifier, -\fBllvm\-ar\fP will write BSD4.4 compatible archives that have long names -immediately after the header and indicated using the "#1/ddd" notation for the -name in the header. -.SH FILE FORMAT -.sp -The file format for LLVM Archive files is similar to that of BSD 4.4 or Mac OSX -archive files. In fact, except for the symbol table, the \fBar\fP commands on those -operating systems should be able to read LLVM archive files. The details of the -file format follow. -.sp -Each archive begins with the archive magic number which is the eight printable -characters "!<arch>n" where n represents the newline character (0x0A). -Following the magic number, the file is composed of even length members that -begin with an archive header and end with a n padding character if necessary -(to make the length even). Each file member is composed of a header (defined -below), an optional newline\-terminated "long file name" and the contents of -the file. -.sp *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** _______________________________________________ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"