[patch] Remove the LLVM specific archive index
Chris Lattner
clattner at apple.com
Fri Jun 14 11:04:58 PDT 2013
On Jun 13, 2013, at 10:32 PM, Rafael EspĂndola <rafael.espindola at gmail.com> wrote:
> 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 re
> implemented as a symlink to llvm-ar, as it is equivalent to "ar s".
Please zap it, thanks!
-Chris
More information about the llvm-commits
mailing list