According to your debug message, libtest1.so requires "longjmp" symbol
for link itself. Error message about '(null)' must be replace with
"longjmp"
symbol name. In linker.c, sym_name variable is used to show symbol
name, but it is not assigned to valid value at this timing. The
following
initialization statement must be done before this error message.

    sym_name = (char *)(strtab + symtab[sym].st_name);

Iliyan, could you also fix this problem ?

I assume that you need implicit linking specification for libc -
because
"longjmp" is included in this library.

Regards,
nagamatu

On 3月18ζ—₯, 午後4:44, Girish <htgir...@gmail.com> wrote:
> Hi lliyan Malchev and nagamatu,
>
> Can the latest cupcake code will give a fix for my problem or yet to
> be fixed ? lliyan i sent the file to your e-mail id.
>
> lliyan hope this fix will come soon. or u can send me the fix will
> test and let you know the result
>
> For a quick look pasting log here
>
> [ android linker & debugger ]
> DEBUG:  2967 elfdata @ 0xbec82d80
>  2967 name libtest: allocated soinfo @ 0xb00158d8
> [  2967 linking libtest ]
> DEBUG:  2967 si->base = 0x00000000 si->flags = 0x00000004
> DEBUG:  2967 PT_LOAD (phdr = 0x00008094)
> DEBUG:          phdr->offset   = 0x00000000
> DEBUG:          phdr->p_vaddr  = 0x00008000
> DEBUG:          phdr->p_paddr  = 0x00008000
> DEBUG:          phdr->p_filesz = 0x0000cbb4
> DEBUG:          phdr->p_memsz  = 0x0000cbb4
> DEBUG:          phdr->p_flags  = 0x00000005
> DEBUG:          phdr->p_align  = 0x00001000
> DEBUG:  2967 PT_LOAD (phdr = 0x000080b4)
> DEBUG:          phdr->offset   = 0x0000d000
> DEBUG:          phdr->p_vaddr  = 0x00015000
> DEBUG:          phdr->p_paddr  = 0x00015000
> DEBUG:          phdr->p_filesz = 0x00016792
> DEBUG:          phdr->p_memsz  = 0x00016dc0
> DEBUG:          phdr->p_flags  = 0x00000006
> DEBUG:          phdr->p_align  = 0x00001000
> DEBUG:  2967 PT_DYNAMIC (phdr = 0x000080d4)
> DEBUG:          phdr->offset   = 0x00023650
> DEBUG:          phdr->p_vaddr  = 0x0002b650
> DEBUG:          phdr->p_paddr  = 0x0002b650
> DEBUG:          phdr->p_filesz = 0x000000f8
> DEBUG:          phdr->p_memsz  = 0x000000f8
> DEBUG:          phdr->p_flags  = 0x00000006
> DEBUG:          phdr->p_align  = 0x00000004
> DEBUG:  2967 dynamic = 0x2b650
> DEBUG:  2967 d = 0x2b650, d[0] = 0x00000001 d[1] = 0x00000001
> DEBUG:  2967 d = 0x2b658, d[0] = 0x00000001 d[1] = 0x00000010
> DEBUG:  2967 d = 0x2b660, d[0] = 0x00000001 d[1] = 0x0000001e
> DEBUG:  2967 d = 0x2b668, d[0] = 0x00000001 d[1] = 0x00000027
> DEBUG:  2967 d = 0x2b670, d[0] = 0x00000001 d[1] = 0x0000002f
> DEBUG:  2967 d = 0x2b678, d[0] = 0x00000001 d[1] = 0x0000003c
> DEBUG:  2967 d = 0x2b680, d[0] = 0x00000020 d[1] = 0x00015000
> DEBUG:  2967 libtest constructors (preinit_array) found at 0x15000
> DEBUG:  2967 d = 0x2b688, d[0] = 0x00000021 d[1] = 0x00000008
> DEBUG:  2967 d = 0x2b690, d[0] = 0x00000019 d[1] = 0x00015008
> DEBUG:  2967 libtest constructors (init_array) found at 0x15008
> DEBUG:  2967 d = 0x2b698, d[0] = 0x0000001b d[1] = 0x00000008
> DEBUG:  2967 d = 0x2b6a0, d[0] = 0x0000001a d[1] = 0x00015010
> DEBUG:  2967 libtest destructors (fini_array) found at 0x15010
> DEBUG:  2967 d = 0x2b6a8, d[0] = 0x0000001c d[1] = 0x00000008
> DEBUG:  2967 d = 0x2b6b0, d[0] = 0x00000004 d[1] = 0x00008108
> DEBUG:  2967 d = 0x2b6b8, d[0] = 0x00000005 d[1] = 0x00008384
> DEBUG:  2967 d = 0x2b6c0, d[0] = 0x00000006 d[1] = 0x000081c4
> DEBUG:  2967 d = 0x2b6c8, d[0] = 0x0000000a d[1] = 0x000001aa
> DEBUG:  2967 d = 0x2b6d0, d[0] = 0x0000000b d[1] = 0x00000010
> DEBUG:  2967 d = 0x2b6d8, d[0] = 0x00000015 d[1] = 0x00000000
> DEBUG:  2967 d = 0x2b6e0, d[0] = 0x00000003 d[1] = 0x0002b748
> DEBUG:  2967 d = 0x2b6e8, d[0] = 0x00000002 d[1] = 0x00000070
> DEBUG:  2967 d = 0x2b6f0, d[0] = 0x00000014 d[1] = 0x00000011
> DEBUG:  2967 d = 0x2b6f8, d[0] = 0x00000017 d[1] = 0x00008538
> DEBUG:  2967 d = 0x2b700, d[0] = 0x00000011 d[1] = 0x00008530
> DEBUG:  2967 d = 0x2b708, d[0] = 0x00000012 d[1] = 0x00000008
> DEBUG:  2967 d = 0x2b710, d[0] = 0x00000013 d[1] = 0x00000008
> DEBUG:  2967 si->base = 0x00000000, si->strtab = 0x8384, si->symtab =
> 0x81c4
> DEBUG:  2967 libtest needs libtest1.so
> [  2967 'libtest1.so' has not been loaded yet.  Locating...]
> [  2967 opening libtest1.so ]
> [  2967 Computing extents for 'libtest1.so'. ]
> bionic/linker/linker.c:484| WARNING: `libtest1.so` is not a prelinked
> library
> [  2967 - Non-prelinked library 'libtest1.so' found. ]
> [  2967 - 'libtest1.so' (not pre-linked) wants base=0x00000000
> sz=0x000b1000 ]
> [  2967 allocated memory for libtest1.so @ 0x80000000 (0x000b1000) ]
>  2967 name libtest1.so: allocated soinfo @ 0xb00159ec
> [  2967 - Begin loading segments for 'libtest1.so' @ 0x80000000 ]
> DEBUG:  2967 PT_ARM_EXIDX (phdr = 0xb0019e10)
> DEBUG:          phdr->offset   = 0x000aaa78
> DEBUG:          phdr->p_vaddr  = 0x000aaa78
> DEBUG:          phdr->p_paddr  = 0x000aaa78
> DEBUG:          phdr->p_filesz = 0x00002bf0
> DEBUG:          phdr->p_memsz  = 0x00002bf0
> DEBUG:          phdr->p_flags  = 0x00000004
> DEBUG:          phdr->p_align  = 0x00000004
> DEBUG:  2967 PT_LOAD (phdr = 0xb0019e30)
> DEBUG:          phdr->offset   = 0x00000000
> DEBUG:          phdr->p_vaddr  = 0x00000000
> DEBUG:          phdr->p_paddr  = 0x00000000
> DEBUG:          phdr->p_filesz = 0x000affe8
> DEBUG:          phdr->p_memsz  = 0x000b0328
> DEBUG:          phdr->p_flags  = 0x00000007
> DEBUG:          phdr->p_align  = 0x00001000
> [ 2967 - Trying to load segment from 'libtest1.so' @ 0x80000000
> (0x000affe8). p_vaddr=0x00000000 p_offset=0x00000000 ]
> [  2967 - Need to extend segment from 'libtest1.so' @ 0x800b0000
> (0x00000328) ]
> [  2967 - Segment from 'libtest1.so' extended @ 0x800b0000
> (0x00000328)
> [  2967 - Successfully loaded segment from 'libtest1.so' @ 0x80000000
> (0x000b1000). p_vaddr=0x00000000 p_offset=0x00000000
> DEBUG:  2967 PT_DYNAMIC (phdr = 0xb0019e50)
> DEBUG:          phdr->offset   = 0x000aedc4
> DEBUG:          phdr->p_vaddr  = 0x000aedc4
> DEBUG:          phdr->p_paddr  = 0x000aedc4
> DEBUG:          phdr->p_filesz = 0x00000090
> DEBUG:          phdr->p_memsz  = 0x00000090
> DEBUG:          phdr->p_flags  = 0x00000006
> DEBUG:          phdr->p_align  = 0x00000004
> [  2967 - Finish loading segments for 'libtest1.so' @ 0x80000000.
> Total memory footprint: 0x000b1000 bytes ]
> [  2967 init_library base=0x80000000 sz=0x000b1000
> name='libtest1.so') ]
> [  2967 linking libtest1.so ]
> DEBUG:  2967 si->base = 0x80000000 si->flags = 0x00000000
> DEBUG:  2967 dynamic = 0x800aedc4
> DEBUG:  2967 d = 0x800aedc4, d[0] = 0x00000004 d[1] = 0x000000b4
> DEBUG:  2967 d = 0x800aedcc, d[0] = 0x00000005 d[1] = 0x000066b4
> DEBUG:  2967 d = 0x800aedd4, d[0] = 0x00000006 d[1] = 0x00002204
> DEBUG:  2967 d = 0x800aeddc, d[0] = 0x0000000a d[1] = 0x00004f42
> DEBUG:  2967 d = 0x800aede4, d[0] = 0x0000000b d[1] = 0x00000010
> DEBUG:  2967 d = 0x800aedec, d[0] = 0x00000003 d[1] = 0x000aee54
> DEBUG:  2967 d = 0x800aedf4, d[0] = 0x00000002 d[1] = 0x000012f0
> DEBUG:  2967 d = 0x800aedfc, d[0] = 0x00000014 d[1] = 0x00000011
> DEBUG:  2967 d = 0x800aee04, d[0] = 0x00000017 d[1] = 0x0000cfc8
> DEBUG:  2967 d = 0x800aee0c, d[0] = 0x00000011 d[1] = 0x0000b5f8
> DEBUG:  2967 d = 0x800aee14, d[0] = 0x00000012 d[1] = 0x000019d0
> DEBUG:  2967 d = 0x800aee1c, d[0] = 0x00000013 d[1] = 0x00000008
> DEBUG:  2967 d = 0x800aee24, d[0] = 0x6ffffffa d[1] = 0x000002ca
> DEBUG:  2967 si->base = 0x80000000, si->strtab = 0x800066b4, si->symtab = 
> 0x80002204
>
> DEBUG: [  2967 relocating libtest1.so plt ]
> DEBUG:  2967 Processing 'libtest1.so' relocation at index 0
>  2967 SEARCH longjmp in libtest1...@0x80000000 0364e130 766
>  2967 SEARCH longjmp in libdl...@0x00000000 0364e130 0
>  2967 SEARCH longjmp in libt...@0x00000000 0364e130 2
> bionic/linker/linker.c:1078| ERROR:  2967 cannot locate '(null)'...
> bionic/linker/linker.c:1579| ERROR: failed to link libtest1.so
> bionic/linker/linker.c:1519| ERROR:  2967 could not load 'libtest1.so'
> bionic/linker/linker.c:1579| ERROR: failed to link libtest
> bionic/linker/linker.c:1677| ERROR: CANNOT LINK EXECUTABLE 'libtest'
>
> Girish
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"android-framework" group.
To post to this group, send email to android-framework@googlegroups.com
To unsubscribe from this group, send email to 
android-framework+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/android-framework?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to