[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
llvm-svn: 353995
2019-02-14 07:39:41 +08:00
|
|
|
set(LLVM_LINK_COMPONENTS
|
|
|
|
BinaryFormat
|
|
|
|
Object
|
|
|
|
Option
|
|
|
|
Support
|
|
|
|
)
|
|
|
|
|
2015-06-10 05:50:22 +08:00
|
|
|
set(LLVM_TARGET_DEFINITIONS Options.td)
|
|
|
|
tablegen(LLVM Options.inc -gen-opt-parser-defs)
|
|
|
|
add_public_tablegen_target(LibOptionsTableGen)
|
|
|
|
|
|
|
|
add_llvm_library(LLVMLibDriver
|
|
|
|
LibDriver.cpp
|
|
|
|
)
|
|
|
|
add_dependencies(LLVMLibDriver LibOptionsTableGen)
|