Add an initial implementation of archive symbol table generation.
authorRafael Espindola <rafael.espindola@gmail.com>
Tue, 23 Jul 2013 10:47:01 +0000 (10:47 +0000)
committerRafael Espindola <rafael.espindola@gmail.com>
Tue, 23 Jul 2013 10:47:01 +0000 (10:47 +0000)
commit26b10da9c2b9b22418ca532bfb50274b2556eb53
treebba25e4ec387cab47df907292f3a19f98065bf3c
parent9564c1e9b800896a2715ea313f7289945352b6d1
Add an initial implementation of archive symbol table generation.

The symbol table has forward references in the file. Instead of allocating
a temporary buffer or counting the size and then writing, this implementation
writes a dummy value first and patches it once the final value is known.

There is room for performance improvement. I will implement them as soon as I
get some other features (like a ranlib mode) in.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186934 91177308-0d34-0410-b5e6-96231b3b80d8
test/Object/Inputs/trivial-object-test2.elf-x86-64 [new file with mode: 0644]
test/Object/archive-symtab.test [new file with mode: 0644]
tools/llvm-ar/llvm-ar.cpp