diff --git a/src/header/stdio/printf.rs b/src/header/stdio/printf.rs index f6f6f18341c2de333552a1bec87df67b456f0710..d06570fa86196e8fbc3ce6acdeee9f2e6eb16f33 100644 --- a/src/header/stdio/printf.rs +++ b/src/header/stdio/printf.rs @@ -690,7 +690,6 @@ unsafe fn inner_printf<W: Write>(w: W, format: *const c_char, mut ap: VaList) -> _ => None, }; - let index = arg.index.map(|i| i - 1).unwrap_or_else(|| { if fmtkind == FmtKind::Percent { 0 diff --git a/src/ld_so/callbacks.rs b/src/ld_so/callbacks.rs index 031ecb47ad9786e2ac9b1dba2e25747f39ee7a7f..d53f21561b0f52f43e579c2346d12d4931ae1c96 100644 --- a/src/ld_so/callbacks.rs +++ b/src/ld_so/callbacks.rs @@ -1,4 +1,4 @@ -use super::linker::{DSO, Linker, Symbol}; +use super::linker::{Linker, Symbol, DSO}; use alloc::boxed::Box; use goblin::error::Result; diff --git a/src/ld_so/library.rs b/src/ld_so/library.rs index 156234b9c46772ccab4ac99d9fd32b13705bdbb1..88958e01c8ffd7ab974fda218f1781848eb897d6 100644 --- a/src/ld_so/library.rs +++ b/src/ld_so/library.rs @@ -1,10 +1,10 @@ +use super::linker::Symbol; use alloc::{ boxed::Box, collections::{BTreeMap, BTreeSet}, string::String, vec::Vec, }; -use super::linker::Symbol; #[derive(Default, Debug)] pub struct DepTree { diff --git a/src/ld_so/linker.rs b/src/ld_so/linker.rs index 5f7644bd606810bc1faf981e976f923b93008eb0..e9cbc145ccd410c10b5ae5ba9313eb6d7e2ab62a 100644 --- a/src/ld_so/linker.rs +++ b/src/ld_so/linker.rs @@ -466,7 +466,9 @@ impl Linker { let mut start = addr; for (vaddr, vsize) in ranges.iter() { if start < addr + vaddr { - println!("mmap({:#x}, {})", start, addr + vaddr - start); + if self.verbose { + println!("mmap({:#x}, {})", start, addr + vaddr - start); + } let mut flags = sys_mman::MAP_ANONYMOUS | sys_mman::MAP_PRIVATE; if start != 0 { flags |= sys_mman::MAP_FIXED_NOREPLACE; @@ -510,7 +512,9 @@ impl Linker { } else { let (start, end) = bounds; let size = end - start; - println!("mmap({:#x}, {})", start, size); + if self.verbose { + println!("mmap({:#x}, {})", start, size); + } let mut flags = sys_mman::MAP_ANONYMOUS | sys_mman::MAP_PRIVATE; if start != 0 { flags |= sys_mman::MAP_FIXED_NOREPLACE; @@ -716,7 +720,6 @@ impl Linker { // reloc::r_to_str(rel.r_type, elf.header.e_machine), // rel // ); - let symbol = if rel.r_sym > 0 { let sym = elf.dynsyms.get(rel.r_sym).ok_or(Error::Malformed(format!( "missing symbol for relocation {:?}", @@ -760,7 +763,6 @@ impl Linker { } else { rel.r_offset as *mut u8 }; - let set_u64 = |value| { // println!(" set_u64 {:#x}", value); unsafe { diff --git a/src/ld_so/mod.rs b/src/ld_so/mod.rs index 1321c33c8934425a56729e306bd26fb2d6a32a94..19dfe05f521964d1cb6d4d229a976ee1ba698340 100644 --- a/src/ld_so/mod.rs +++ b/src/ld_so/mod.rs @@ -1,9 +1,8 @@ use core::{mem, ptr}; use goblin::elf::program_header::{self, program_header32, program_header64, ProgramHeader}; -use crate::header::sys_auxv::AT_NULL; -use crate::start::Stack; use self::tcb::{Master, Tcb}; +use crate::{header::sys_auxv::AT_NULL, start::Stack}; pub const PAGE_SIZE: usize = 4096; diff --git a/src/ld_so/start.rs b/src/ld_so/start.rs index b6eb7a3b156506b1414a5a63649827eb9af7ca95..c5261a286bd57b42829ed1c583bfff7f5c46f729 100644 --- a/src/ld_so/start.rs +++ b/src/ld_so/start.rs @@ -4,11 +4,11 @@ use alloc::{borrow::ToOwned, boxed::Box, collections::BTreeMap, string::String, use crate::{ c_str::CStr, - header::{unistd, sys_auxv::AT_NULL}, + header::{sys_auxv::AT_NULL, unistd}, platform::{new_mspace, types::c_char}, start::Stack, sync::mutex::Mutex, - ALLOCATOR + ALLOCATOR, }; use super::{