This website requires JavaScript.
Explore
Help
Register
Sign In
rust-lang
/
rust
Watch
1
Star
0
Fork
0
You've already forked rust
Code
Issues
Pull Requests
Actions
1
Packages
Projects
Releases
Wiki
Activity
Files
359bfa901b9d8eddbed7b88b6716dbb77b7bfb95
rust
/
tests
/
run-make
/
interdependent-c-libraries
/
main.rs
7 lines
68 B
Rust
Raw
Normal View
History
Unescape
Escape
rustc: Deterministically link upstream C libraries Previously, upstream C libraries were linked in a nondeterministic fashion because they were collected through iter_crate_data() which is a nodeterministic traversal of a hash map. When upstream rlibs had interdependencies among their native libraries (such as libfoo depending on libc), then the ordering would occasionally be wrong, causing linkage to fail. This uses the topologically sorted list of libraries to collect native libraries, so if a native library depends on libc it just needs to make sure that the rust crate depends on liblibc.
2014-04-11 12:20:33 -07:00
extern
crate
bar
;
Run rustfmt on `tests/run-make/`. With the exception of `tests/run-make/translation/test.rs`, which has a syntax error. The expected output in `rustdoc-error-lines/rmake.rs`'s required slight tweaking. The two `reproducible-build.rs` files need `// ignore-tidy-linelength` because rustfmt produces lines longer than 100 chars, which tidy doesn't like, yuk.
2024-05-29 15:01:33 +10:00
extern
crate
foo
;
rustc: Deterministically link upstream C libraries Previously, upstream C libraries were linked in a nondeterministic fashion because they were collected through iter_crate_data() which is a nodeterministic traversal of a hash map. When upstream rlibs had interdependencies among their native libraries (such as libfoo depending on libc), then the ordering would occasionally be wrong, causing linkage to fail. This uses the topologically sorted list of libraries to collect native libraries, so if a native library depends on libc it just needs to make sure that the rust crate depends on liblibc.
2014-04-11 12:20:33 -07:00
fn
main
(
)
{
bar
::
doit
(
)
;
}
Reference in New Issue
Copy Permalink