mirror of
				https://github.com/rust-lang/rust.git
				synced 2025-11-04 06:56:14 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			18 lines
		
	
	
		
			427 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			427 B
		
	
	
	
		
			Rust
		
	
	
	
	
	
// 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"
 |