10 Commits

Author SHA1 Message Date
Reid Spencer
1c4d0a214a Correct the computation of when to add the padding. It is not based on the
member's size. It is based on the oddness/evenness of the file pointer.
This fixes a bug with llvm-ar not being able to read archives produced by
llvm-ranlib when there are members with odd long file name lengths.

llvm-svn: 17997
2004-11-19 17:08:00 +00:00
Reid Spencer
640ab4f4f6 Don't save an iterator, just use post-increment.
llvm-svn: 17981
2004-11-19 03:44:10 +00:00
Reid Spencer
a181a37bb4 Make findModulesDefiningSymbols modify its symbols argument so we can \
eliminate symbols defined by the archive efficiently

llvm-svn: 17976
2004-11-19 03:18:22 +00:00
Reid Spencer
3e245bd4d5 Make sure we parse bytecode with a module identifier that reflects the full
name of the module: "Archive.a(object.o)"

llvm-svn: 17917
2004-11-17 18:25:21 +00:00
Reid Spencer
f59013e0fa Despite documentation to the contrary, Mac OSX and BSD 4.4 archive formats
*do* include the length of the long file in the length of the member and
they are *not* null terminated.

llvm-svn: 17909
2004-11-17 16:13:11 +00:00
Reid Spencer
b6d946d19d Per code review:\
* Make sure we write out the foreign symbol table if we read one \
* Make the padding calculation more efficiently and avoid Solaris warnings

llvm-svn: 17883
2004-11-16 06:47:19 +00:00
Reid Spencer
52da956231 * Make sure the string table gets read even if there isn't a foreign
symbol table.
* Make sure we update the file pointer for each member when rebuilding the
  symbol table.

llvm-svn: 17812
2004-11-15 01:40:20 +00:00
Reid Spencer
bfc924424d Changes necessary to enable linking of archives without LLVM symbol tables.
llvm-svn: 17811
2004-11-15 01:20:11 +00:00
Reid Spencer
2917639a35 Completely rewritten to allow reading of archives and symbol table lookup in a more efficient manner.
llvm-svn: 17767
2004-11-14 21:58:33 +00:00
Reid Spencer
9534caa3bb Moved to lib/Bytecode/Archive in preparation for re-write.
llvm-svn: 17742
2004-11-14 19:59:40 +00:00