forked from M-Labs/nac3
libdyld: cleanup
This commit is contained in:
parent
064e114a0b
commit
1d000cc8ef
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -32,7 +32,7 @@ checksum = "036b035e9ebcd705affece16319223d19f229e2358be6e3b7b094e57193312e6"
|
||||
|
||||
[[package]]
|
||||
name = "dyld"
|
||||
version = "0.0.0"
|
||||
version = "0.1.0"
|
||||
|
||||
[[package]]
|
||||
name = "libasync"
|
||||
|
@ -1,7 +1,7 @@
|
||||
[package]
|
||||
authors = ["M-Labs"]
|
||||
name = "dyld"
|
||||
version = "0.0.0"
|
||||
version = "0.1.0"
|
||||
|
||||
[lib]
|
||||
name = "dyld"
|
||||
|
@ -151,7 +151,7 @@ impl<'a> Library<'a> {
|
||||
Ok(())
|
||||
}
|
||||
|
||||
fn resolve_rela(&self, rela: &Elf32_Rela, resolve: &Fn(&[u8]) -> Option<Elf32_Word>)
|
||||
fn resolve_rela(&self, rela: &Elf32_Rela, resolve: &dyn Fn(&[u8]) -> Option<Elf32_Word>)
|
||||
-> Result<(), Error<'a>> {
|
||||
let sym;
|
||||
if ELF32_R_SYM(rela.r_info) == 0 {
|
||||
@ -195,7 +195,7 @@ impl<'a> Library<'a> {
|
||||
self.update_rela(rela, value)
|
||||
}
|
||||
|
||||
pub fn load(data: &[u8], image: &'a mut [u8], resolve: &Fn(&[u8]) -> Option<Elf32_Word>)
|
||||
pub fn load(data: &[u8], image: &'a mut [u8], resolve: &dyn Fn(&[u8]) -> Option<Elf32_Word>)
|
||||
-> Result<Library<'a>, Error<'a>> {
|
||||
#![allow(unused_assignments)]
|
||||
|
||||
@ -208,13 +208,8 @@ impl<'a> Library<'a> {
|
||||
/* ABI version */ 0, /* padding */ 0, 0, 0, 0, 0, 0, 0
|
||||
];
|
||||
|
||||
#[cfg(target_arch = "or1k")]
|
||||
const ARCH: u16 = EM_OPENRISC;
|
||||
#[cfg(not(target_arch = "or1k"))]
|
||||
const ARCH: u16 = EM_NONE;
|
||||
|
||||
if ehdr.e_ident != IDENT || ehdr.e_type != ET_DYN || ehdr.e_machine != ARCH {
|
||||
return Err("not a shared library for current architecture")?
|
||||
if ehdr.e_ident != IDENT || ehdr.e_type != ET_DYN || ehdr.e_machine != EM_OPENRISC {
|
||||
return Err("not a shared library for a supported architecture")?
|
||||
}
|
||||
|
||||
let mut dyn_off = None;
|
||||
|
Loading…
Reference in New Issue
Block a user