Commit Graph

11 Commits

Author SHA1 Message Date
Rui Ueyama c0189221f4 [llvm-lib] Detect duplicate input files
Differential Revision: https://reviews.llvm.org/D68320

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373426 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-02 06:41:52 +00:00
Rui Ueyama ce1e866ef3 [llvm-lib] Correctly handle .lib input files
If archive files are passed as input files, llvm-lib needs to append
the members of the input archive files to the output file. This patch
implements that behavior.

This patch splits an existing function into smaller functions.
Effectively, the new code is only `if (Magic == file_magic::archive)
{ ... }` part.

Fixes https://bugs.llvm.org/show_bug.cgi?id=32674

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373424 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-02 05:24:24 +00:00
Fangrui Song 1002960b9d [lit] Delete empty lines at the end of lit.local.cfg NFC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363538 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-17 09:51:07 +00:00
Nico Weber d9d0bb7e78 llvm-lib: Implement /machine: argument
And share some code with lld-link.

While here, also add a FIXME about PR42180 and merge r360150 to llvm-lib.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363016 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-11 01:13:41 +00:00
Nico Weber 2301ea6491 Make test not write to source directory
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362916 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-10 01:47:04 +00:00
Nico Weber d939c9d32a llvm-lib: Disallow mixing object files with different machine types
lib.exe doesn't allow creating .lib files with object files that have
differing machine types. Update llvm-lib to match.

The motivation is to make it possible to infer the machine type of a
.lib file in lld, so that it can warn when e.g. a 32-bit .lib file is
passed to a 64-bit link (PR38965).

Fixes PR38782.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362798 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 13:24:34 +00:00
Jordan Rupprecht 0978a16efb [llvm-ar][libObject] Fix relative paths when nesting thin archives.
Summary:
When adding one thin archive to another, we currently chop off the relative path to the flattened members. For instance, when adding `foo/child.a` (which contains `x.txt`) to `parent.a`, when flattening it we should add it as `foo/x.txt` (which exists) instead of `x.txt` (which does not exist).

As a note, this also undoes the `IsNew` parameter of handling relative paths in r288280. The unit test there still passes.

This was reported as part of testing the kernel build with llvm-ar: https://patchwork.kernel.org/patch/10767545/ (see the second point).

Reviewers: mstorsjo, pcc, ruiu, davide, david2050, inglorion

Reviewed By: ruiu

Subscribers: void, jdoerfert, tpimh, mgorny, hans, nickdesaulniers, hiraditya, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353995 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-13 23:39:41 +00:00
Nico Weber 6293d244b9 llvm-lib: Implement /list flag
Differential Revision: https://reviews.llvm.org/D57952


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@353620 91177308-0d34-0410-b5e6-96231b3b80d8
2019-02-09 17:33:04 +00:00
Nico Weber c52910957c Attempt to get test/tools/llvm-lib/help.test passing on sanitizer-x86_64-linux-fast
The bot has a /b directory, so /? matches against that and gets expanded to it.

(Thanks to Hans's r187366, which solved the same problem for clang-cl a while
ago and which saved me much head scratching.)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337092 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-14 11:33:33 +00:00
Nico Weber 981f0755e2 Give llvm-lib rudimentary help output.
https://reviews.llvm.org/D49318


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337084 91177308-0d34-0410-b5e6-96231b3b80d8
2018-07-14 02:29:44 +00:00
Martin Storsjo ce68f2c629 [test] Move llvm-lib tests into tools/llvm-lib. NFC.
Similarly to SVN r317189 for llvm-dlltool, these are probably
easier to find in a tools subdirectory with a name identical to
the tool, than in a toplevel directory with a different name.

This matches the move of LibDriver itself in SVN r302995.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317262 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-02 20:05:20 +00:00