History log of /external/llvm/include/llvm/Object/Archive.h
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/include/llvm/Object/Archive.h
dce4a407a24b04eebc6a376f8e62b41aaa7b071f 29-May-2014 Stephen Hines <srhines@google.com> Update LLVM for 3.5 rebase (r209712).

Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/include/llvm/Object/Archive.h
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/include/llvm/Object/Archive.h
cf48cf23de9207e4000df91aadc0beaa0989e33d 29-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add support for the 's' operation to llvm-ar.

If no other operation is specified, 's' becomes an operation instead of an
modifier. The s operation just creates a symbol table. It is the same as
running ranlib.

We assume the archive was created by a sane ar (like llvm-ar or gnu ar) and
if the symbol table is present, then it is current. We use that to optimize
the most common case: a broken build system that thinks it has to run ranlib.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187353 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
34ac52d9377b104c83f80184f284199d68732f07 12-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Change llvm-ar to use lib/Object.

This fixes two bugs is lib/Object that the use in llvm-ar found:
* In OS X created archives, the name can be padded with nulls. Strip them.
* In the constructor, remember the first non special member and use that in
begin_children. This makes sure we skip all special members, not just the
first one.

The change to llvm-ar itself consist of
* Using lib/Object for reading archives instead of ArchiveReader.cpp.
* Writing the modified archive directly, instead of creating an in memory
representation.

The old Archive library was way more general than what is needed, as can
be seen by the diffstat of this patch.

Having llvm-ar using lib/Object now opens the way for creating regular symbol
tables for both native objects and bitcode files so that we can use those
archives for LTO.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186197 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
9941bdd1fec00aa7a72117d2c2e21724c275e89a 09-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add missing getters. They will be used in llvm-ar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185937 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
2012593f180d29081e6c609f667e1f63b729209a 09-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Archive members cannot be larger than 4GB. Return a uint32_t.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
92f7386cae3fe3cabe7300171a5dc9b4bf8b352d 09-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> We never compare iterators from two archives. Assert that.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185934 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
c5f8757c727975e9a9d6247cc68fb79d7f4cff8f 09-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Add getHeader helper and move ToHeader to the cpp file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185933 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
be6b9101d412711b69f6cfc1068efdf0ba7eb586 09-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Compute the size of an archive member in the constructor.

It is always computed the same way (by parsing the header). Doing it in the
constructor simplifies the callers a bit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185905 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
3d84b07f9581408d8ee9262744afd8ab02ff1821 09-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Remove declare but not implemented methods.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185904 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
5263d0aa6a0227ccd9ed8062c84b294137e88a68 09-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Move some code out of line. No functionality change.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185901 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
4a0bf5423c2dc7eb8ae197447b4b61e6517f108a 05-Jul-2013 Rafael Espindola <rafael.espindola@gmail.com> Use the raw member names in Archive::Archive.

This a bit more efficient and avoids having a function that uses the string
table being called by a function that searches for it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185680 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
0f76e648d800d7641b4e6e6decb90949cd680b03 03-Feb-2013 Michael J. Spencer <bigcheesegs@gmail.com> [Object][Archive] Improve performance.

Improve performance of iterating over children and accessing the member file
buffer by caching the file size and moving code out to the header.

This also makes getBuffer return a StringRef instead of a MemoryBuffer. Both
fixing a memory leak and removing a malloc.

This takes getBuffer from ~10% of the time in lld to unmeasurable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174272 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
255f89faee13dc491cb64fbeae3c763e7e2ea4e6 03-Dec-2012 Chandler Carruth <chandlerc@gmail.com> Sort the #include lines for the include/... tree with the script.

AKA: Recompile *ALL* the source code!

This one went much better. No manual edits here. I spot-checked for
silliness and grep-checked for really broken edits and everything seemed
good. It all still compiles. Yell if you see something that looks goofy.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169133 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
206252cc9f5509b27aa0761c677fdee8daff001c 13-Nov-2012 Shankar Easwaran <shankare@codeaurora.org> Adding changes to support GNU style archive library reading

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167853 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
ed84062812c7b8a82d0e8128a22aa1aa07a14d79 12-Oct-2012 Sean Silva <silvas@purdue.edu> Remove unnecessary classof()'s

isa<> et al. automatically infer when the cast is an upcast (including a
self-cast), so these are no longer necessary.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
6f9489a86f33624f9ff5388411d12359ce9cef20 09-Mar-2012 David Meyer <pdox@google.com> [Object]
Make Binary::TypeID more granular, to distinguish between ELF 32/64 little/big




git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152435 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
2d24e2a396a1d211baaeedf32148a3b657240170 20-Dec-2011 David Blaikie <dblaikie@gmail.com> Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146960 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
8a2549febcc4e09f5573c57e10c580586d005447 16-Nov-2011 Michael J. Spencer <bigcheesegs@gmail.com> Object/Archive: Give Child a operator < for map.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144757 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
c8a55a660e93bb7a4854969b4c5814bf7bb0101b 02-Nov-2011 Michael J. Spencer <bigcheesegs@gmail.com> Object/Archive: Add symbol table iteration.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
aaf98ead114bcd51cd2479badfe28b8d0e4895c2 26-Oct-2011 Michael J. Spencer <bigcheesegs@gmail.com> Object/Archive: Add BSD style long file name support and skip internal members.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142981 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
5861893c25ee9ee6bb2991057169c0cb1e1331e0 08-Oct-2011 Michael J. Spencer <bigcheesegs@gmail.com> Object: constize Archive.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141448 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h
a51d7d97b0b8187ed68d4cbad2374f514d2cd168 27-Sep-2011 Michael J. Spencer <bigcheesegs@gmail.com> Object: Add archive support.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140626 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/include/llvm/Object/Archive.h