[PATCH] D68998: [docs][llvm-ar] Update llvm-ar command guide
Jordan Rupprecht via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Oct 15 12:32:08 PDT 2019
rupprecht added a comment.
Mostly nits, I have a couple larger suggestions that I'm ok skipping because better documentation is better than bad documentation :)
================
Comment at: llvm/docs/CommandGuide/llvm-ar.rst:15
+The :program:`llvm-ar` command is similar to the common Unix utility,
+:program:`ar`.It archives several files, such as objects and LLVM bitcode
+files into a single archive library that can be linked into a program. However,
----------------
nit: missing space after period before "It"
================
Comment at: llvm/docs/CommandGuide/llvm-ar.rst:28-29
-Here's where **llvm-ar** departs from previous ``ar`` implementations:
+Here's where :program:`llvm-ar` departs from previous :program:`ar`
+implementations:
----------------
I compared what options were provided on the GNU ar on my workstation, and found the following not implemented by llvm-ar:
```
[f] - truncate inserted filenames
[O] - display offsets of files
[V] - display version
```
(actually, we should note the first two, but just implement `llvm-ar V`... I might take a look at that now)
I *think* we do actually implement all of them, i.e. there are none that we "implement but ignore for compatibility", but it would be good to double check that -- if there are any like that, we should also add them here.
================
Comment at: llvm/docs/CommandGuide/llvm-ar.rst:36-38
*Long Paths*
+ :program:`llvm-ar` can read and write GNU, BSD and Darwin long file names.
----------------
Is this a difference anymore? It sounds like this used to be a limitation that no longer holds.
================
Comment at: llvm/docs/CommandGuide/llvm-ar.rst:39
+ :program:`llvm-ar` can read and write GNU, BSD and Darwin long file names.
OPTIONS
----------------
Additionally llvm-ar is deterministic by default, vs GNU ar (and GNU binutils in general), which is only deterministic if it's been configured that way at build time (and I think the default is non-deterministic). So I think that's an important thing to call out. For example:
```
*Deterministic Archives*
By default, :program:`llvm-ar` always uses zero for timestamps and UIDs/GIDs to write archives in a deterministic mode.
This is equivalent to the :option:`D` modifier being enabled by default. If you wish to maintain compatibility with other
:program:`ar` implementations, you can pass the :option:`U` modifier to write actual timestamps and UIDs/GIDs.
```
================
Comment at: llvm/docs/CommandGuide/llvm-ar.rst:324
-ar(1)
+:manpage:`ar(1)`
----------------
This is a dead link for me - https://llvm.org/docs/CommandGuide/ar.html
Repository:
rL LLVM
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D68998/new/
https://reviews.llvm.org/D68998
More information about the llvm-commits
mailing list