38 lines
816 B
Rust
38 lines
816 B
Rust
// run-pass
|
|
|
|
#![allow(non_upper_case_globals)]
|
|
#[cfg(not(target_os = "macos"))]
|
|
#[link_section=".moretext"]
|
|
fn i_live_in_more_text() -> &'static str {
|
|
"knock knock"
|
|
}
|
|
|
|
#[cfg(not(target_os = "macos"))]
|
|
#[link_section=".imm"]
|
|
static magic: usize = 42;
|
|
|
|
#[cfg(not(target_os = "macos"))]
|
|
#[link_section=".mut"]
|
|
static mut frobulator: usize = 0xdeadbeef;
|
|
|
|
#[cfg(target_os = "macos")]
|
|
#[link_section="__TEXT,__moretext"]
|
|
fn i_live_in_more_text() -> &'static str {
|
|
"knock knock"
|
|
}
|
|
|
|
#[cfg(target_os = "macos")]
|
|
#[link_section="__RODATA,__imm"]
|
|
static magic: usize = 42;
|
|
|
|
#[cfg(target_os = "macos")]
|
|
#[link_section="__DATA,__mut"]
|
|
static mut frobulator: usize = 0xdeadbeef;
|
|
|
|
pub fn main() {
|
|
unsafe {
|
|
frobulator = 0xcafebabe;
|
|
println!("{} {} {}", i_live_in_more_text(), magic, frobulator);
|
|
}
|
|
}
|