bionic: linker: Need update the map->l_addr for execution.
Currently, linker doesn't update the map->l_addr for execution. Which could break the Unwind_Backtrace with PT_GNU_EH_FRAME enabled in new toolchain. Change-Id: Ifbd853134da64a962f7e4c4105e56a3f20def1b2 Author: Fengwei Yin <fengwei.yin@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-tracking-BZ: 57077
This commit is contained in:
parent
7593fa8eb7
commit
9c3449ecd9
@ -1916,6 +1916,12 @@ sanitize:
|
||||
soinfo_call_constructors(preloads[i]);
|
||||
}
|
||||
|
||||
/*After the link_image, the si->base is initialized.
|
||||
*For so lib, the map->l_addr will be updated in notify_gdb_of_load.
|
||||
*We need to update this value for so exe here. So Unwind_Backtrace
|
||||
*for some arch like x86 could work correctly within so exe.
|
||||
*/
|
||||
map->l_addr = si->base;
|
||||
soinfo_call_constructors(si);
|
||||
|
||||
#if ALLOW_SYMBOLS_FROM_MAIN
|
||||
|
Loading…
x
Reference in New Issue
Block a user