summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-06-14 23:25:53 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-06-14 23:25:53 +0000
commit250bfb1745fd72615b618e3c8748321a104d80d0 (patch)
tree0aeaf51210822a37de79ba4b6ba6dbc766b8e5c6 /docs
parentd6055262d23b1a8f2b5c74ab94fc6c143aca1c45 (diff)
downloadllvm-250bfb1745fd72615b618e3c8748321a104d80d0.tar.gz
llvm-250bfb1745fd72615b618e3c8748321a104d80d0.tar.bz2
llvm-250bfb1745fd72615b618e3c8748321a104d80d0.tar.xz
Remove the LLVM specific archive index.
Archive files (.a) can have a symbol table indicating which object files in them define which symbols. The purpose of this symbol table is to speed up linking by allowing the linker the read only the .o files it is actually going to use instead of having to parse every object's symbol table. LLVM's archive library currently supports a LLVM specific format for such table. It is hard to see any value in that now that llvm-ld is gone: * System linkers don't use it: GNU ar uses the same plugin as the linker to create archive files with a regular index. The OS X ar creates no symbol table for IL files, I assume the linker just parses all IL files. * It doesn't interact well with archives having both IL and native objects. * We probably don't want to be responsible for yet another archive format variant. This patch then: * Removes support for creating and reading such index from lib/Archive. * Remove llvm-ranlib, since there is nothing left for it to do. We should in the future add support for regular indexes to llvm-ar for both native and IL objects. When we do that, llvm-ranlib should be reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184019 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'docs')
-rw-r--r--docs/CommandGuide/index.rst1
-rw-r--r--docs/CommandGuide/llvm-ar.rst13
-rw-r--r--docs/CommandGuide/llvm-ranlib.rst61
3 files changed, 2 insertions, 73 deletions
diff --git a/docs/CommandGuide/index.rst b/docs/CommandGuide/index.rst
index b3b4bc389e..d50542ddc9 100644
--- a/docs/CommandGuide/index.rst
+++ b/docs/CommandGuide/index.rst
@@ -21,7 +21,6 @@ Basic Commands
lli
llvm-link
llvm-ar
- llvm-ranlib
llvm-nm
llvm-prof
llvm-config
diff --git a/docs/CommandGuide/llvm-ar.rst b/docs/CommandGuide/llvm-ar.rst
index 8ff4192a50..e0f51a5321 100644
--- a/docs/CommandGuide/llvm-ar.rst
+++ b/docs/CommandGuide/llvm-ar.rst
@@ -283,8 +283,7 @@ The modifiers below may be applied to any operation.
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. Using this modifier is more efficient that using
- llvm-ranlib|llvm-ranlib which also creates the symbol table.
+ bitcode files in the archive.
@@ -401,14 +400,6 @@ fmag - char[2]
utility in identifying archive files that have been corrupted.
-
-The LLVM symbol table has the special name "#_LLVM_SYM_TAB_#". It is presumed
-that no regular archive member file will want this name. The LLVM symbol table
-is simply composed of a sequence of triplets: byte offset, length of symbol,
-and the symbol itself. Symbols are not null or newline terminated. Here are
-the details on each of these items:
-
-
offset - vbr encoded 32-bit integer
The offset item provides the offset into the archive file where the bitcode
@@ -455,4 +446,4 @@ SEE ALSO
--------
-llvm-ranlib|llvm-ranlib, ar(1)
+ar(1)
diff --git a/docs/CommandGuide/llvm-ranlib.rst b/docs/CommandGuide/llvm-ranlib.rst
deleted file mode 100644
index 6658818f41..0000000000
--- a/docs/CommandGuide/llvm-ranlib.rst
+++ /dev/null
@@ -1,61 +0,0 @@
-llvm-ranlib - Generate index for LLVM archive
-=============================================
-
-
-SYNOPSIS
---------
-
-
-**llvm-ranlib** [--version] [-help] <archive-file>
-
-
-DESCRIPTION
------------
-
-
-The **llvm-ranlib** command is similar to the common Unix utility, ``ranlib``. It
-adds or updates the symbol table in an LLVM archive file. Note that using the
-**llvm-ar** modifier *s* is usually more efficient than running **llvm-ranlib**
-which is only provided only for completness and compatibility. Unlike other
-implementations of ``ranlib``, **llvm-ranlib** indexes LLVM bitcode files, not
-native object modules. You can list the contents of the symbol table with the
-``llvm-nm -s`` command.
-
-
-OPTIONS
--------
-
-
-
-*archive-file*
-
- Specifies the archive-file to which the symbol table is added or updated.
-
-
-
-*--version*
-
- Print the version of **llvm-ranlib** and exit without building a symbol table.
-
-
-
-*-help*
-
- Print usage help for **llvm-ranlib** and exit without building a symbol table.
-
-
-
-
-EXIT STATUS
------------
-
-
-If **llvm-ranlib** succeeds, it will exit with 0. If an error occurs, a non-zero
-exit code will be returned.
-
-
-SEE ALSO
---------
-
-
-llvm-ar|llvm-ar, ranlib(1)