mirror of
https://github.com/rust-lang/rust
synced 2024-11-05 20:45:15 +00:00
37 lines
817 B
Rust
37 lines
817 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 = 0x12345678;
|
|
println!("{} {} {}", i_live_in_more_text(), magic, frobulator);
|
|
}
|
|
}
|