Use dlfo_link_map->l_addr over dlfo_map_start
This commit is contained in:
parent
0ee29d0855
commit
e889fa7acf
@ -89,7 +89,7 @@ namespace detail {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
frame.object_address = addr
|
frame.object_address = addr
|
||||||
- reinterpret_cast<std::uintptr_t>(result.dlfo_map_start)
|
- reinterpret_cast<std::uintptr_t>(result.dlfo_link_map->l_addr)
|
||||||
+ get_module_image_base(frame.object_path);
|
+ get_module_image_base(frame.object_path);
|
||||||
}
|
}
|
||||||
frames.push_back(frame);
|
frames.push_back(frame);
|
||||||
|
|||||||
@ -25,7 +25,7 @@ namespace detail {
|
|||||||
out->raw_address = address;
|
out->raw_address = address;
|
||||||
dl_find_object result;
|
dl_find_object result;
|
||||||
if(_dl_find_object(reinterpret_cast<void*>(address), &result) == 0) {
|
if(_dl_find_object(reinterpret_cast<void*>(address), &result) == 0) {
|
||||||
out->address_relative_to_object_start = address - reinterpret_cast<frame_ptr>(result.dlfo_map_start);
|
out->address_relative_to_object_start = address - reinterpret_cast<frame_ptr>(result.dlfo_link_map->l_addr);
|
||||||
if(result.dlfo_link_map->l_name != nullptr && result.dlfo_link_map->l_name[0] != 0) {
|
if(result.dlfo_link_map->l_name != nullptr && result.dlfo_link_map->l_name[0] != 0) {
|
||||||
std::size_t path_length = std::strlen(result.dlfo_link_map->l_name);
|
std::size_t path_length = std::strlen(result.dlfo_link_map->l_name);
|
||||||
std::memcpy(
|
std::memcpy(
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user