mirror of https://github.com/rust-lang/rust
26 lines
877 B
Rust
26 lines
877 B
Rust
// The unstable flag `-Z export-executable-symbols` exports symbols from executables, as if
|
|
// they were dynamic libraries. This test is a simple smoke test to check that this feature
|
|
// works by using it in compilation, then checking that the output binary contains the exported
|
|
// symbol.
|
|
// See https://github.com/rust-lang/rust/pull/85673
|
|
|
|
//@ only-unix
|
|
// Reason: the export-executable-symbols flag only works on Unix
|
|
// due to hardcoded platform-specific implementation
|
|
// (See #85673)
|
|
//@ ignore-wasm32
|
|
//@ ignore-wasm64
|
|
//@ ignore-none
|
|
// Reason: no-std is not supported
|
|
|
|
use run_make_support::{bin_name, llvm_readobj, rustc};
|
|
|
|
fn main() {
|
|
rustc().arg("-Zexport-executable-symbols").input("main.rs").crate_type("bin").run();
|
|
llvm_readobj()
|
|
.symbols()
|
|
.input(bin_name("main"))
|
|
.run()
|
|
.assert_stdout_contains("exported_symbol");
|
|
}
|