summaryrefslogtreecommitdiffstats
path: root/vendor/object-0.26.2/examples/objectmap.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/object-0.26.2/examples/objectmap.rs')
-rw-r--r--vendor/object-0.26.2/examples/objectmap.rs67
1 files changed, 0 insertions, 67 deletions
diff --git a/vendor/object-0.26.2/examples/objectmap.rs b/vendor/object-0.26.2/examples/objectmap.rs
deleted file mode 100644
index de8d8a002..000000000
--- a/vendor/object-0.26.2/examples/objectmap.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-use object::Object;
-use std::{env, fs, process};
-
-fn main() {
- let mut args = env::args().skip(1);
- if args.len() == 0 {
- eprintln!(
- "Usage: {} <file> [address] ...",
- env::args().next().unwrap()
- );
- process::exit(1);
- }
-
- let file_path = args.next().unwrap();
- let file = match fs::File::open(&file_path) {
- Ok(file) => file,
- Err(err) => {
- println!("Failed to open file '{}': {}", file_path, err,);
- process::exit(1);
- }
- };
- let file = match unsafe { memmap2::Mmap::map(&file) } {
- Ok(mmap) => mmap,
- Err(err) => {
- println!("Failed to map file '{}': {}", file_path, err,);
- process::exit(1);
- }
- };
- let file = match object::File::parse(&*file) {
- Ok(file) => file,
- Err(err) => {
- println!("Failed to parse file '{}': {}", file_path, err);
- process::exit(1);
- }
- };
-
- let map = file.object_map();
-
- if args.len() == 0 {
- for symbol in map.symbols() {
- print_symbol(symbol, &map);
- }
- } else {
- for arg in args {
- let mut arg = &arg[..];
- if arg.starts_with("0x") {
- arg = &arg[2..];
- }
- let address = u64::from_str_radix(arg, 16).expect("Failed to parse address");
- if let Some(symbol) = map.get(address) {
- print_symbol(symbol, &map);
- } else {
- println!("{:} not found", address);
- }
- }
- }
-}
-
-fn print_symbol(symbol: &object::ObjectMapEntry<'_>, map: &object::ObjectMap<'_>) {
- println!(
- "{:x} {:x} {} {}",
- symbol.address(),
- symbol.size(),
- String::from_utf8_lossy(symbol.name()),
- String::from_utf8_lossy(symbol.object(map)),
- );
-}