rust/src/test/run-make
Alex Crichton 9ab0475d94 rustc: Handle duplicate names merging archives
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.
2015-04-21 11:08:19 -07:00
..
alloc-extern-crates
allow-non-lint-warnings-cmdline Fallout in tests 2015-04-01 11:22:39 -04:00
allow-warnings-cmdline-stability Require feature attributes, and add them where necessary 2015-03-23 14:40:26 -07:00
archive-duplicate-names rustc: Handle duplicate names merging archives 2015-04-21 11:08:19 -07:00
bare-outfile
c-dynamic-dylib
c-dynamic-rlib
c-link-to-rust-dylib
c-link-to-rust-staticlib fixing some tests and temporarily disabling others to get Bitrig build working 100% 2015-04-04 12:33:44 -07:00
c-static-dylib
c-static-rlib
cannot-read-embedded-idents Require feature attributes, and add them where necessary 2015-03-23 14:40:26 -07:00
codegen-options-parsing
compiler-lookup-paths Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
compiler-lookup-paths-2
crate-data-smoke
crate-name-priority Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
debug-assertions
dep-info
dep-info-spaces
duplicate-output-flavors
dylib-chain
error-found-staticlib-instead-crate
error-writing-dependencies
extern-diff-internal-name
extern-flag-disambiguates Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
extern-flag-fun Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
extern-fn-generic
extern-fn-mangle
extern-fn-reachable Test fixes and rebase conflicts, round 3 2015-03-27 16:09:54 -07:00
extern-fn-with-packed-struct Fallout in tests 2015-04-01 11:22:39 -04:00
extern-fn-with-union
extern-overrides-distribution Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
extra-filename-with-temp-outputs
graphviz-flowgraph Feature gate *all* slice patterns. #23121 2015-03-27 12:50:49 -07:00
include_bytes_deps Added a test for include_bytes! dep info 2015-04-15 10:40:04 -04:00
interdependent-c-libraries Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
intrinsic-unreachable Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
invalid-library
issue-7349 Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
issue-11908
issue-12446
issue-14500 fixing some tests and temporarily disabling others to get Bitrig build working 100% 2015-04-04 12:33:44 -07:00
issue-15460
issue-19371 Test fixes and rebase conflicts, round 2 2015-03-23 17:10:19 -07:00
issue-22131 Test fixes and review feedback 2015-04-10 00:58:10 -07:00
issue-24445 std: Fix thread_local! in non-PIE binaries 2015-04-15 09:14:48 -07:00
libs-and-bins Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
libs-through-symlinks
link-path-order std: Clean out #[deprecated] APIs 2015-03-31 15:49:57 -07:00
linkage-attr-on-static Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
ls-metadata
lto-readonly-lib
lto-smoke
lto-smoke-c fixing some tests and temporarily disabling others to get Bitrig build working 100% 2015-04-04 12:33:44 -07:00
lto-syntax-extension Require feature attributes, and add them where necessary 2015-03-23 14:40:26 -07:00
manual-crate-name
manual-link Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
many-crates-but-no-match Strip trailing whitespace 2015-03-15 11:25:43 -07:00
metadata-flag-frobs-symbols Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
mismatching-target-triples
missing-crate-dependency Strip trailing whitespace 2015-03-15 11:25:43 -07:00
mixing-deps Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
mixing-formats Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
mixing-libs
no-duplicate-libs Require feature attributes, and add them where necessary 2015-03-23 14:40:26 -07:00
no-intermediate-extras
no-stack-check fixing some tests and temporarily disabling others to get Bitrig build working 100% 2015-04-04 12:33:44 -07:00
obey-crate-type-flag Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
output-type-permutations
output-with-hyphens rustc: Remove support for hyphens in crate names 2015-03-27 10:19:59 -07:00
prefer-dylib
prefer-rlib
pretty-expanded Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
pretty-expanded-hygiene
pretty-print-path-suffix Fix some typos 2015-03-28 18:09:51 +03:00
pretty-print-to-file
prune-link-args
relocation-model
rlib-chain
rustdoc-json
save-analysis test: Fixup many library unit tests 2015-04-14 10:14:19 -07:00
sepcomp-cci-copies Rollup merge of #23803 - richo:unused-braces, r=Manishearth 2015-03-28 18:12:06 +05:30
sepcomp-inlining
sepcomp-separate Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
simd-ffi Fallout in tests 2015-04-02 13:24:46 -04:00
simple-dylib
simple-rlib
static-dylib-by-default
static-unwinding
staticlib-blank-lib
suspicious-library
symbols-are-reasonable Forbid is/us suffixes. Fixes #22496 2015-04-15 16:13:26 -07:00
symlinked-extern
symlinked-libraries
target-cpu-native
target-specs Fallout in tests 2015-04-02 13:24:46 -04:00
test-harness
trace-macros-flag Remove & from redirected output 2015-04-16 14:57:31 +02:00
unicode-input deprecate Unicode functions that will be moved to crates.io 2015-04-16 17:03:05 -04:00
use-extern-for-plugins fixing some tests and temporarily disabling others to get Bitrig build working 100% 2015-04-04 12:33:44 -07:00
version
volatile-intrinsics Mass rename uint/int to usize/isize 2015-03-26 12:10:22 -07:00
weird-output-filenames Fix fallout of removing quotes in crate names 2015-03-27 11:43:40 -07:00
tools.mk fixing some tests and temporarily disabling others to get Bitrig build working 100% 2015-04-04 12:33:44 -07:00