[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