summary refs log tree commit diff
path: root/src/test/run-make/use-extern-for-plugins
AgeCommit message (Collapse)AuthorLines
2015-04-04fixing some tests and temporarily disabling others to get Bitrig build ↵Dave Huseby-2/+5
working 100%
2015-02-15Fix tests that fail on FreeBSDWill-2/+2
2015-02-08adapt run-make test suite for openbsdSébastien Marie-0/+5
- c-link-to-rust-staticlib: use EXTRACFLAGS defined by tools.mk for choose the good libraries to link to. - no-stack-check: disabled for openbsd (no segmented stacks here) - symbols-are-reasonable: use portable grep pattern - target-specs: use POSIX form for options when invoking grep - use-extern-for-plugins: disable as OpenBSD only support x86_64 for now
2015-02-06rustc: Don't fall back to -L if using --externAlex Crichton-0/+69
The compiler would previously fall back to using `-L` and normal lookup paths if a `--extern` path was specified but it did not match (wrong architecture, for example). This commit removes this behavior and forces the hand of the crate loader to *always* use the `--extern` path if specified, no matter whether it is correct or not. This fixes a bug today where the compiler's own libraries are favored in cross compilation by accident. For example when a crate using the crates.io version of `log` was cross compiled, Cargo would compile `log` for the target architecture. When loading the macros, however, the compiler currently favors using the *host* architecture (for plugins), and because the `--extern log=...` pointed at an rlib for the target architecture, that lookup failed. The crate loader then fell back on `-L` paths to find the compiler-used `log` crate (the wrong one!) and then a compile failure happened because the logging macros are slightly different.