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/lib/Object/Archive.cpp
|
dce4a407a24b04eebc6a376f8e62b41aaa7b071f |
|
29-May-2014 |
Stephen Hines <srhines@google.com> |
Update LLVM for 3.5 rebase (r209712). Change-Id: I149556c940fb7dc92d075273c87ff584f400941f
/external/llvm/lib/Object/Archive.cpp
|
36b56886974eae4f9c5ebc96befd3e7bfe5de338 |
|
24-Apr-2014 |
Stephen Hines <srhines@google.com> |
Update to LLVM 3.5a. Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
4172a8abbabea2359d91bb07101166565127d798 |
|
16-Jul-2013 |
Craig Topper <craig.topper@gmail.com> |
Add 'const' qualifiers to static const char* variables. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
5e102c6c48f2cdfe1741f60805c830fb1e17fa47 |
|
12-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't reject an empty archive. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186159 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
a739759fca088d277cbb78e3fd4b359d68a1cbcb |
|
11-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Find the symbol table on archives created on OS X. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186041 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
5159718095bd8a18c1661889e93af3aca8eaa5aa |
|
10-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Don't crash in 'llvm -s' when an archive has no symtab. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186029 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
23191804e8cab4e60c82cd39f3a7d2ea152489a5 |
|
05-Jul-2013 |
Sylvestre Ledru <sylvestre@debian.org> |
Remove a useless declarations (found by scan-build) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185709 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
6d88f9b73ae8e9170cd8da729895a03a785cc633 |
|
04-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for archives with no symbol table or string table. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185664 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
09a7f6016ae87e97275e18ea662ff32a120c04a4 |
|
03-Jul-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Add support for gnu archives with a string table and no symtab. While there, use early returns to reduce nesting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
250bfb1745fd72615b618e3c8748321a104d80d0 |
|
15-Jun-2013 |
Rafael Espindola <rafael.espindola@gmail.com> |
Remove the LLVM specific archive index. 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 reimplemented as a symlink to llvm-ar, as it is equivalent to "ar s". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@184019 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
891c0cd3c1c1f408d2478ef9c35fe152d2ba5c04 |
|
03-Jun-2013 |
Rui Ueyama <ruiu@google.com> |
[Object/COFF] Fix Windows .lib name handling. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@183091 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
7932c41884f182ae44a3feacc8a6a462e9097ca1 |
|
10-Jan-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[Object][Archive] Fix name handling with bsd style long names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172026 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
bf82b07f5f2ff1ebd3fb607a9f0d31d2b5ada947 |
|
10-Jan-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[Object][Archive] Apparently StringRef::getAsInteger for APInt accepts spaces. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172022 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
e92800dd533988c46e58b0f4226df76a3bb1cb0c |
|
09-Jan-2013 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[Object][Archive] Use uint64_t instead of APInt. It is significantly faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@172015 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
d04a8d4b33ff316ca4cf961e06c9e312eff8e64f |
|
03-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Use the new script to sort the includes of every file under lib. Sooooo many of these had incorrect or strange main module includes. I have manually inspected all of these, and fixed the main module include to be the nearest plausible thing I could find. If you own or care about any of these source files, I encourage you to take some time and check that these edits were sensible. I can't have broken anything (I strictly added headers, and reordered them, never removed), but they may not be the headers you'd really like to identify as containing the API being implemented. Many forward declarations and missing includes were added to a header files to allow them to parse cleanly when included first. The main module rule does in fact have its merits. =] git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@169131 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
7af4b9b33a2bc3e95f78d8b5063a77035c86640d |
|
14-Nov-2012 |
Matt Beaumont-Gay <matthewbg@google.com> |
s/assert/llvm_unreachable/ git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167936 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
f1c2a6b512c5e210c8571923663fe19c713ea45d |
|
14-Nov-2012 |
Matt Beaumont-Gay <matthewbg@google.com> |
Fix broken asserts. Also, spell 'indices' correctly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167894 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
768a707fdfd0be3587864b9b9edcc74aa0acdf92 |
|
14-Nov-2012 |
Michael J. Spencer <bigcheesegs@gmail.com> |
[Object] Fix endianess bug by refactoring Archive::Symbol::getMember. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167893 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
77592fe39c404f3c48b06fae48b965058b3a5ee8 |
|
09-Jun-2012 |
Dmitri Gribenko <gribozavr@gmail.com> |
Convert comments to proper Doxygen comments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158248 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
e32981048244ecfa67d0bdc211af1bac2020a555 |
|
24-May-2012 |
Craig Topper <craig.topper@gmail.com> |
Mark some static arrays as const. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
e1a4427ccb6e29e63c11e63224460a92ee66de37 |
|
22-Feb-2012 |
Benjamin Kramer <benny.kra@googlemail.com> |
Remove static ctor. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@151160 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
efd2d5e1c48e9e530d2323123d28120f50dfed76 |
|
04-Nov-2011 |
Benjamin Kramer <benny.kra@googlemail.com> |
Simplify code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143695 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
eefb0de6dc383faa2d95536ac5e9deb71958d953 |
|
03-Nov-2011 |
Chad Rosier <mcrosier@apple.com> |
Removed unused variable. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143591 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
fe944e8cd03701b699c07590b4ec5203928b2b11 |
|
26-Oct-2011 |
Michael J. Spencer <bigcheesegs@gmail.com> |
Object/Archive: Cleanup anon namespace. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@142983 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
48f248ad5f9e435f3aeaa3aa9bca890687085540 |
|
08-Oct-2011 |
NAKAMURA Takumi <geek4civic@gmail.com> |
lib/Object: Suppress warnings on gcc-4.3.4 cygwin git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141485 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|
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/lib/Object/Archive.cpp
|