[PATCH] D57842: [llvm-ar][libObject] Fix relative paths when nesting thin archives.

Jordan Rupprecht via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 6 13:11:19 PST 2019


rupprecht created this revision.
rupprecht added reviewers: mstorsjo, pcc, ruiu, davide, david2050.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.

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).


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D57842

Files:
  llvm/include/llvm/Object/ArchiveWriter.h
  llvm/lib/Object/ArchiveWriter.cpp
  llvm/test/tools/llvm-ar/flatten-thin-archive-directories.test
  llvm/tools/llvm-ar/llvm-ar.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D57842.185624.patch
Type: text/x-patch
Size: 5462 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190206/327a307e/attachment.bin>


More information about the llvm-commits mailing list