| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
This centralizes the handling of O_BINARY and opens the way for hiding more
differences (like how open behaves with directories).
llvm-svn: 186447
|
|
|
|
|
|
| |
With this change llvm-ar can remove the temporary file on windows too.
llvm-svn: 186423
|
|
|
|
| |
llvm-svn: 186381
|
|
|
|
|
|
|
| |
This is a micro optimization. Instead of going char*->StringRef->Twine->char*,
go char*->Twine->char* and avoid having to copy the filename on the stack.
llvm-svn: 186380
|
|
|
|
|
|
|
| |
Looks like on mingw we get bogus last modification times on directories.
Should fix the mingw bots.
llvm-svn: 186240
|
|
|
|
| |
llvm-svn: 186239
|
|
|
|
|
|
|
| |
original message:
Fix a off by one error about which members need to use the string table.
llvm-svn: 186238
|
|
|
|
|
|
|
|
|
|
| |
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/6897/steps/check-all/logs/LLVM%3A%3Aarchive-format.test
Original commit log:
Fix a off by one error about which members need to use the string
table.
llvm-svn: 186232
|
|
|
|
| |
llvm-svn: 186216
|
|
|
|
| |
llvm-svn: 186200
|
|
|
|
| |
llvm-svn: 186198
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 186170
|
|
|
|
| |
llvm-svn: 186131
|
|
|
|
| |
llvm-svn: 186113
|
|
|
|
| |
llvm-svn: 186094
|
|
|
|
|
|
|
| |
While at it, use strftime on Unix too and use the thread safe versions
of localtime.
llvm-svn: 186090
|
|
|
|
|
|
|
|
| |
* It is not present on OS X.
* It is untested.
* It is not needed for using ar in a build system.
llvm-svn: 186080
|
|
|
|
| |
llvm-svn: 186079
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
| |
llvm-svn: 186076
|
|
|
|
|
|
| |
No intended functionality change.
llvm-svn: 185832
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 185751
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 185697
|
|
|
|
| |
llvm-svn: 185695
|
|
|
|
|
|
|
| |
parseCommandLine prints and error and exists if no operation is specified, so
it never returns NoOperation.
llvm-svn: 185691
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 184486
|
|
|
|
| |
llvm-svn: 184484
|
|
|
|
|
|
| |
With this we can remove the last use of PathV1 from llvm-ar.cpp.
llvm-svn: 184464
|
|
|
|
| |
llvm-svn: 184460
|
|
|
|
| |
llvm-svn: 184455
|
|
|
|
|
|
| |
Use that in llvm-ar.cpp to replace a use of sys::PathWithStatus.
llvm-svn: 184450
|
|
|
|
|
|
| |
Matches gnu ar behavior.
llvm-svn: 184448
|
|
|
|
|
|
|
|
|
|
| |
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: 184416
|
|
|
|
| |
llvm-svn: 184415
|
|
|
|
| |
llvm-svn: 184413
|
|
|
|
| |
llvm-svn: 184412
|
|
|
|
| |
llvm-svn: 184359
|
|
|
|
| |
llvm-svn: 184355
|
|
|
|
| |
llvm-svn: 184354
|