Crates.io | ld_preload |
lib.rs | ld_preload |
version | 0.1.2 |
source | src |
created_at | 2018-09-13 18:06:17.51053 |
updated_at | 2018-09-15 11:16:28.730341 |
description | Easily use LD_PRELOAD in your Rust libraries. |
homepage | |
repository | https://github.com/Proximyst/ld_preload |
max_upload_size | |
id | 84569 |
size | 40,981 |
ld_preload is a library meant for easily creating LD_PRELOAD constructors and destructors, like one would use __attribute__((constructor))
and __attribute((destructor))
for in CXX with GCC. This has only been tested to work with GNU/Linux.
In order to use the library, use the macros:
#[macro_use]
extern crate ld_preload;
ld_preload_init {
println!("Hello, Ferris!");
}
ld_preload_deinit {
println!("Goodbye, Ferris!");
}
Then you need to set lib.crate-type
to ["cdylib"]
to compile it.
To use it, you may do something along these lines: LD_PRELOAD=./target/release/libLIBNAME.so echo "I love Ferris!"
It may also be useful to set profile.dev.panic
and profile.release.panic
to "abort"
.