You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
562 B
Rust
29 lines
562 B
Rust
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()
|
|
}
|
|
}
|