am ff7b46b8: Merge change I3c998761 into eclair
Merge commit 'ff7b46b87c4d85881d88c2105a94be6c6accb628' into eclair-mr2 * commit 'ff7b46b87c4d85881d88c2105a94be6c6accb628': Allow the dynamic linker to relocate references to thumb symbols in NDK libraries.
This commit is contained in:
commit
8213d5c3c0
@ -1240,9 +1240,13 @@ static int reloc_library(soinfo *si, Elf32_Rel *rel, unsigned count)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
if ((s->st_shndx == SHN_UNDEF) && (s->st_value != 0)) {
|
// st_shndx==SHN_UNDEF means an undefined symbol.
|
||||||
DL_ERR("%5d In '%s', shndx=%d && value=0x%08x. We do not "
|
// st_value should be 0 then, except that the low bit of st_value is
|
||||||
"handle this yet", pid, si->name, s->st_shndx,
|
// used to indicate whether the symbol points to an ARM or thumb function,
|
||||||
|
// and should be ignored in the following check.
|
||||||
|
if ((s->st_shndx == SHN_UNDEF) && ((s->st_value & ~1) != 0)) {
|
||||||
|
DL_ERR("%5d In '%s', symbol=%s shndx=%d && value=0x%08x. We do not "
|
||||||
|
"handle this yet", pid, si->name, sym_name, s->st_shndx,
|
||||||
s->st_value);
|
s->st_value);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user