* commit 'a1d3aa1f9579eaf579f579b43f836635fc9a5674': linker: Use load_bias to adjust search address in elf_addr_lookup
This commit is contained in:
commit
e4c93e8894
@ -798,7 +798,7 @@ static bool symbol_matches_soaddr(const ElfW(Sym)* sym, ElfW(Addr) soaddr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ElfW(Sym)* soinfo::gnu_addr_lookup(const void* addr) {
|
ElfW(Sym)* soinfo::gnu_addr_lookup(const void* addr) {
|
||||||
ElfW(Addr) soaddr = reinterpret_cast<ElfW(Addr)>(addr) - base;
|
ElfW(Addr) soaddr = reinterpret_cast<ElfW(Addr)>(addr) - load_bias;
|
||||||
|
|
||||||
for (size_t i = 0; i < nbucket_; ++i) {
|
for (size_t i = 0; i < nbucket_; ++i) {
|
||||||
uint32_t n = bucket_[i];
|
uint32_t n = bucket_[i];
|
||||||
@ -819,7 +819,7 @@ ElfW(Sym)* soinfo::gnu_addr_lookup(const void* addr) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ElfW(Sym)* soinfo::elf_addr_lookup(const void* addr) {
|
ElfW(Sym)* soinfo::elf_addr_lookup(const void* addr) {
|
||||||
ElfW(Addr) soaddr = reinterpret_cast<ElfW(Addr)>(addr) - base;
|
ElfW(Addr) soaddr = reinterpret_cast<ElfW(Addr)>(addr) - load_bias;
|
||||||
|
|
||||||
// Search the library's symbol table for any defined symbol which
|
// Search the library's symbol table for any defined symbol which
|
||||||
// contains this address.
|
// contains this address.
|
||||||
|
Loading…
Reference in New Issue
Block a user