Commit Graph

14 Commits

Author SHA1 Message Date
Alexandre Ganea a95f58008c [llvm-ar] Temporarily make the tool case detection test Windows-only to fix the build (introduced in r329658)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329683 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-10 10:26:23 +00:00
Alexandre Ganea 48f37040ad [llvm-ar] Fix lib.exe detection when running within MSVC toolchain
Differential Revision: https://reviews.llvm.org/D44808

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@329658 91177308-0d34-0410-b5e6-96231b3b80d8
2018-04-10 01:50:25 +00:00
Peter Collingbourne 59aa4501cc [llvm-ar] Support multiple dashed options
This allows syntax like:
$ llvm-ar -c -r -u file.a file.o

This is in addition to the other formats that are already supported:
$ llvm-ar cru file.a file.o
$ llvm-ar -cru file.a file.o

Patch by Tom Anderson!

Differential Revision: https://reviews.llvm.org/D44452

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@328716 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-28 17:21:14 +00:00
Dmitry Mikulin bf9c7d5f95 On Windows expansion of regex file name patterns is the responsibility of each
tool. Fix ar to do that.

Differential Revision: https://reviews.llvm.org/D43987

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326734 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-05 18:54:56 +00:00
Dmitry Mikulin d94dad6774 Implementation of MRI "delete" command.
Differential Revision: https://reviews.llvm.org/D43989

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@326636 91177308-0d34-0410-b5e6-96231b3b80d8
2018-03-02 23:23:48 +00:00
Martin Storsjo af481e4f94 [llvm-ar] Support an options string that start with a dash
Some projects call $AR like "$AR -crs output input1 input2".

Differential Revision: https://reviews.llvm.org/D39538

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317358 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-03 20:09:10 +00:00
Rafael Espindola 14fde14ca1 Don't call exit from cl::PrintHelpMessage.
Most callers were not expecting the exit(0) and trying to exit with a
different value.

This also adds back the call to cl::PrintHelpMessage in llvm-ar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312761 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-07 23:30:48 +00:00
Rafael Espindola ec364d727b llvm-ar: exit with 1 if there is an error.
This is pr34396.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312752 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-07 22:20:38 +00:00
Reid Kleckner bf7a949a31 Fix binary static archive that got mangled by patch
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299265 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-31 21:16:22 +00:00
Reid Kleckner 761a817d06 [llvm-ar] Extract objects to their basename in the CWD
This is helpful when extracting objects from archives produced by MSVC's
lib.exe, which users absolute paths to describe the archive members.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299264 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-31 21:10:53 +00:00
Saleem Abdulrasool ae50a144ac test: relax the match on the timestamp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274529 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-05 01:14:53 +00:00
Saleem Abdulrasool e88f1b3430 Object: support empty UID/GID fields
Normal archives do not have empty UID/GID fields.  However, the Microsoft
Import library format is a customized archive (it just uses an alternate symbol
index format).  When the import library is constructed by lib.exe, the UID and
GID fields are left empty.  Do not abort on such an input.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274528 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-05 00:23:05 +00:00
Chris Bieneman 9cf90e65d1 [yaml2obj] Remove --format option in favor of YAML tags
Summary:
Our YAML library's handling of tags isn't perfect, but it is good enough to get rid of the need for the --format argument to yaml2obj. This patch does exactly that.

Instead of requiring --format, it infers the format based on the tags found in the object file. The supported tags are:

!ELF
!COFF
!mach-o
!fat-mach-o

I have a corresponding patch that is quite large that fixes up all the in-tree test cases.

Reviewers: rafael, Bigcheese, compnerd, silvas

Subscribers: compnerd, llvm-commits

Differential Revision: http://reviews.llvm.org/D21711

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273915 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-27 19:53:53 +00:00
Saleem Abdulrasool 005f32a475 llvm-ar: add some tests for llvm-ar default selection
This adds some tests for the smarter llvm-ar selection mode as well as some
additional tests as per Rafael's post commit review comments.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273768 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-25 03:05:56 +00:00