diff --git a/src/test/run-pass/link-section.rs b/src/test/run-pass/link-section.rs new file mode 100644 index 000000000000..ff1e47403947 --- /dev/null +++ b/src/test/run-pass/link-section.rs @@ -0,0 +1,34 @@ +#[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: uint = 42; + +#[cfg(not(target_os = "macos"))] +#[link_section=".mut"] +static mut frobulator: uint = 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: uint = 42; + +#[cfg(target_os = "macos")] +#[link_section="__DATA,__mut"] +static mut frobulator: uint = 0xdeadbeef; + +fn main() { + unsafe { + frobulator = 0xcafebabe; + printfln!("%? %? %?", i_live_in_more_text(), magic, frobulator); + } +}