mirror of https://github.com/rust-lang/rust
38 lines
853 B
Rust
38 lines
853 B
Rust
//@ run-pass
|
|
|
|
#![allow(non_upper_case_globals)]
|
|
#[cfg(not(target_vendor = "apple"))]
|
|
#[link_section = ".moretext"]
|
|
fn i_live_in_more_text() -> &'static str {
|
|
"knock knock"
|
|
}
|
|
|
|
#[cfg(not(target_vendor = "apple"))]
|
|
#[link_section = ".imm"]
|
|
static magic: usize = 42;
|
|
|
|
#[cfg(not(target_vendor = "apple"))]
|
|
#[link_section = ".mut"]
|
|
static mut frobulator: usize = 0xdeadbeef;
|
|
|
|
#[cfg(target_vendor = "apple")]
|
|
#[link_section = "__TEXT,__moretext"]
|
|
fn i_live_in_more_text() -> &'static str {
|
|
"knock knock"
|
|
}
|
|
|
|
#[cfg(target_vendor = "apple")]
|
|
#[link_section = "__RODATA,__imm"]
|
|
static magic: usize = 42;
|
|
|
|
#[cfg(target_vendor = "apple")]
|
|
#[link_section = "__DATA,__mut"]
|
|
static mut frobulator: usize = 0xdeadbeef;
|
|
|
|
pub fn main() {
|
|
unsafe {
|
|
frobulator = 0x12345678;
|
|
println!("{} {} {}", i_live_in_more_text(), magic, frobulator);
|
|
}
|
|
}
|