Android: (dlopen() returing dangling pointer)/(struct soinfo get changed) for 64 bit architucture

40 views
Skip to first unread message

Vinay Tomer

unread,
Mar 14, 2017, 10:35:48 AM3/14/17
to android-ndk
Hi,
I am trying to get handle(or load) of some system library like libjavacore.so using dlopen() function, and typecasting it return type into struct soinfo.
For 32 bit Arch it works fine.
soname_[libjavacore.so]
version_[2]
old_name_[libjavacore.so]
size[221184]
nbucket_[0]

Bu for 64 bit arch dlopen() is returning dangling pointer or struct soinfo is get changed.

  $5 = {
  old_name_ = "@P3\217\321\177\000\000\t", '\000' <repeats 16 times>, "P3\217\321\177\000\000\000p\006\000\000\000\000\000(g9\217\321\177\000\000\230\375&\225\321\177\000\000A\000\000@\000\000\000\000h\231\063\217\321\177\000\000\210R3\217\321\177", '\000' <repeats 34 times>, "`}4\217\321\177\000\000\215\002\000\000\000\000\000", 
  phdr = 0x7fd18f33f570, 
  phnum = 1450, 
  entry = 0, 
  base = 0, 
  size = 0, 
  unused1 = 0, 
  dynamic = 0x7fd18f396628, 
  unused2 = 1, 
  unused3 = 0, 
  next = 0x0, 
  flags_ = 0, 
  strtab_ = 0x3 <error: Cannot access memory at address 0x3>, 
  symtab_ = 0x7fd18f335000, 
  nbucket_ = 140538130281552, 
  nchain_ = 140538027796264, 
  bucket_ = 0x7fd19526fe70, 
  chain_ = 0x7fd19526fa90, 
 
Reply all
Reply to author
Forward
0 new messages