use crate::common::{Lazy, Symbol}; use crate::error::Error; use crate::linker::Linker; mod object; mod output; mod segment; use elf_utilities::file::ELF64; pub use object::*; pub use output::*; impl Linker<'_> { // shortcut to avoid turbofish pub fn elf() -> Self { Self::new(Vec::new()) } } impl<'data> Lazy<&'data str, ELF64> for Symbol<'data> { fn value(&self, src: &ELF64) -> Result<&'data str, Error> { Err(Error::InvalidSectionData) // TODO } fn resolved(&self) -> bool { self.str_ref.is_some() } }