about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-04-21 15:23:06 -0700
committerAlex Crichton <alex@alexcrichton.com>2015-04-21 15:23:06 -0700
commit957cb422a98585568558ad88ec5a0841c43961ae (patch)
tree29b2e737d63c21a3c070a308ad5c0cee6fe274d0 /src/rustllvm/ExecutionEngineWrapper.cpp
parent2fc2e12687ba7e48aef1c1d8efc6588a90e24010 (diff)
parent9ab0475d940342a670ad323c151db565e6318e08 (diff)
downloadrust-957cb422a98585568558ad88ec5a0841c43961ae.tar.gz
rust-957cb422a98585568558ad88ec5a0841c43961ae.zip
rollup merge of #24439: alexcrichton/fix-archive-assembler
When linking an archive statically to an rlib, the compiler will extract all
contents of the archive and add them all to the rlib being generated. The
current method of extraction is to run `ar x`, dumping all files into a
temporary directory. Object archives, however, are allowed to have multiple
entries with the same file name, so there is no method for them to extract their
contents into a directory in a lossless fashion.

This commit adds iterator support to the `ArchiveRO` structure which hooks into
LLVM's support for reading object archives. This iterator is then used to
inspect each object in turn and extract it to a unique location for later
assembly.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions