| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 186197
|
|
|
|
|
|
|
|
|
|
| |
* All systems we support have some form of long name support.
* The options has different names and semantics in different implementations
('f' on gnu, 'T' on OS X), which makes it unlikely it is normally used on
build systems.
* It was completely untested.
llvm-svn: 186078
|
|
|
|
|
|
|
|
|
| |
This fixes a regression introduced by r185726: the new call to get
a unique file does not prepend the system temporary directory, so
we need to anchor on the file that the temporary file gets moved
to to ensure we're on the same file system.
llvm-svn: 185825
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function is complementary to createTemporaryFile. It handles the case were
the unique file is *not* temporary: we will rename it in the end. Since we
will rename it, the file has to be in the same filesystem as the final
destination and we don't prepend the system temporary directory.
This has a small semantic difference from unique_file: the default mode is 0666.
This matches the behavior of most unix tools. For example, with this change
lld now produces files with the same permissions as ld. I will add a test
of this change when I port clang over to createUniqueFile (next commit).
llvm-svn: 185726
|
|
|
|
|
|
|
| |
We really want bitcode files to behave as regular object files in archives, so
we don't need to track that a member is bitcode.
llvm-svn: 185681
|
|
|
|
|
|
| |
Patch by 罗勇刚(Yonggang Luo).
llvm-svn: 184971
|
|
|
|
|
|
| |
Removes the last use of PathV1.h in llvm-ar.
llvm-svn: 184630
|
|
|
|
| |
llvm-svn: 184599
|
|
|
|
|
|
|
|
|
|
| |
Original message:
Don't include directory names in archives.
This matches the behavior of both gnu and os x versions of ar.
llvm-svn: 184423
|
|
|
|
|
|
|
| |
This reverts commit 184420.
Investigating the bot failures.
llvm-svn: 184421
|
|
|
|
|
|
| |
This matches the behavior of both gnu and os x versions of ar.
llvm-svn: 184420
|
|
|
|
| |
llvm-svn: 184418
|
|
|
|
| |
llvm-svn: 184413
|
|
|
|
| |
llvm-svn: 184359
|
|
|
|
|
|
| |
Store the individual fields we need instead of a sys::FileStatus.
llvm-svn: 184353
|
|
|
|
| |
llvm-svn: 184328
|
|
|
|
| |
llvm-svn: 184315
|
|
llvm-ar is the only tool that needs to write archive files. Every other tool
should be able to use the lib/Object interface.
llvm-svn: 184083
|