It's the function that calls a shared-library or executable list of
constructor functions.

It is likely a constructor crashing. Unfortunately, the shared library's
mapping is not available to gdb until after the constructors have run
It's a know bug, you could try changing the lines in linker.c that read
like:

    call_constructors(si);
    notify_gdb_of_load(si);

and change them to:

    notify_gdb_of_load(si);
    call_constructors(si);

However, I don't guarantee that this will work. Let me know if this helps
though.

On Wed, Aug 24, 2011 at 3:00 PM, Yan Weichuan <[email protected]>wrote:

> I am working on Gingerbread 2.3.5 + Linux kernel 3.0, but I found all
> dynamic execute application will crash. And with the gdb, it show the
> application crash at call_arry function at linker.c. My ARM cpu is arm-
> v7a. Does anyone have some idea about this?
>
> (gdb) bt
> #0  0xafd14e44 in ?? ()
> #1  0xb0003820 in call_array (ctor=0xafd40004, count=<value optimized
> out>,
>    reverse=0) at bionic/linker/linker.c:1615
> #2  0xb000a2f4 in ?? () from /system/bin/linker
> #3  0xb000a2f4 in ?? () from /system/bin/linker
> Backtrace stopped: previous frame identical to this frame (corrupt
> stack?)
>
> --
> unsubscribe: [email protected]
> website: http://groups.google.com/group/android-porting
>

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to