//@ compile-flags: -C relocation-model=pic -Z plt=no | |
#![crate_type = "lib"] | |
// We need a function which is normally called through the PLT. | |
extern "C" { | |
// CHECK: Function Attrs:{{.*}}nonlazybind | |
fn getenv(name: *const u8) -> *mut u8; | |
} | |
// Ensure the function gets referenced. | |
pub unsafe fn call_through_plt() -> *mut u8 { | |
getenv(b"\0".as_ptr()) | |
} | |
// Ensure intrinsics also skip the PLT | |
// CHECK: !"RtLibUseGOT" |