34 lines
730 B
Rust
34 lines
730 B
Rust
|
use elf::relocation::{Rel, Rela};
|
||
|
|
||
|
use crate::{error::Error, object::ResolvedSymbol, state::State};
|
||
|
|
||
|
use super::{RelValue, RelaValue, Relocation};
|
||
|
|
||
|
impl Relocation for Rela {
|
||
|
type Value = RelaValue;
|
||
|
|
||
|
fn resolve(
|
||
|
&self,
|
||
|
_state: &State,
|
||
|
_name: &str,
|
||
|
_symbol: &ResolvedSymbol,
|
||
|
_load_base: usize,
|
||
|
) -> Result<Option<Self::Value>, Error> {
|
||
|
unimplemented!("rela-type relocations are not implemented for i686")
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl Relocation for Rel {
|
||
|
type Value = RelValue;
|
||
|
|
||
|
fn resolve(
|
||
|
&self,
|
||
|
state: &State,
|
||
|
name: &str,
|
||
|
symbol: &ResolvedSymbol,
|
||
|
load_base: usize,
|
||
|
) -> Result<Option<Self::Value>, Error> {
|
||
|
todo!()
|
||
|
}
|
||
|
}
|