Re: multithreaded programs on arm-linux

Frank Meerkoetter
2005-11-03T16:28:25Z

Quoting Daniel Jacobowitz <drow@false.org>:

> On Thu, Nov 03, 2005 at 04:51:07PM +0100, Frank Meerkoetter wrote:
>> >You'll need to attach a debugger to gdb and look at thread_db_init.
>> >The first call will generally fail but a later one should succeed.
>>
>> frank@linux:~/gdb/gdb-6.3> global thread_db_init
>> gdb/gdbserver/thread-db.c
>> gdb/thread-db.c
>>
>> thread_db_init of the gdbserver could fail but not thread_db_init
>> of the gdb.
>
> Try thread_db_new_objfile.

thread_db_new_objfile() is called two times.
On the first run it prints the library name and
than branches on the falg using_thread_db
to the label quit.
There it returns without executing target_new_objfile_chain (objfile).

The second time the same path is followed but without branching into
the block protected by the flag dejavu.

In neither cases is this line executed:
/* Now attempt to open a connection to the thread library. */
err = td_ta_new_p (&proc_handle, &thread_agent);

Regards,
Frank