mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
088fd9a6ad
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
19 lines
669 B
Plaintext
19 lines
669 B
Plaintext
# This test creates a thin archive that contains a thin archive, a regular
|
|
# archive, and a file.
|
|
#
|
|
# The inner thin archive should be flattened, but the regular archive should
|
|
# not. The order of members in the archive should match the input order, with
|
|
# flattened members appearing together.
|
|
|
|
RUN: touch %t-a.txt %t-b.txt %t-c.txt %t-d.txt %t-e.txt
|
|
RUN: rm -f %t-a-plus-b.a %t-d-plus-e.a %t.a
|
|
RUN: llvm-ar rcsT %t-a-plus-b.a %t-a.txt %t-b.txt
|
|
RUN: llvm-ar rcs %t-d-plus-e.a %t-d.txt %t-e.txt
|
|
RUN: llvm-ar rcsT %t.a %t-a-plus-b.a %t-c.txt %t-d-plus-e.a
|
|
RUN: llvm-ar t %t.a | FileCheck %s
|
|
|
|
CHECK: a.txt
|
|
CHECK-NEXT: b.txt
|
|
CHECK-NEXT: c.txt
|
|
CHECK-NEXT: -d-plus-e.a
|