about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2014-03-19 08:47:59 -0700
committerAlex Crichton <alex@alexcrichton.com>2014-03-19 10:47:00 -0700
commit068740b3433099d148c8e2d4bcc9b25309f40701 (patch)
tree09c90170b7de67ea6838252bed62dca9761a59ce /src/rustllvm/ExecutionEngineWrapper.cpp
parentaf9368452d8578af219713b34f7e3be4bd085186 (diff)
downloadrust-068740b3433099d148c8e2d4bcc9b25309f40701.tar.gz
rust-068740b3433099d148c8e2d4bcc9b25309f40701.zip
rustc: Prevent false positives in crate loading
Previously, any library of the pattern `lib<name>-<hash>-<version>.so` was
>considered a candidate (rightly so) for loading a crate. Sets are generated for
each unique `<hash>`, and then from these sets a candidate is selected. If a set
contained more than one element, then it immediately generated an error saying
that multiple copies of the same dylib were found.

This is incorrect because each candidate needs to be validated to actually
contain a rust library (valid metadata). This commit alters the logic to filter
each set of candidates for a hash to only libraries which are actually rust
libraries. This means that if multiple false positives are found with the right
name pattern, they're all ignored.

Closes #13010
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions