Re: pthreads debug with gdbserver

Vladimir Vorobyov
2004-11-20T17:13:29Z

> > As I said in my first message the breakpoint is hit exactly 3 times. I
found
> > that current_sos in solib-svr4.c can not find any libraries. It was
because
> > first_link_map_member returned NULL. After this I found that
> > SVR4_FETCH_LINK_MAP_OFFSETS did not return correct offsets (which are
correct
> > for me? ilp32?). I tried to follow those gdbach_data calls but it was
too
> > difficult. I just assigned svr4_ilp32_fetch_link_map_offsets to
> > SVR4_FETCH_LINK_MAP_OFFSETS (how to do it correctly?).
> > After this with every shlib breakpoint hit gdb loads appropriate shared
lib
> > BUT gdbserver reports "Target does not support breakpoints" 3 times for
each
> > library loaded. What does it mean ?
> > I still receive SIG32, info threads still shows only one thread. "info
shared"
> > shows all libraries that are loaded and td_ta_new() call now returns
> > successfully.
>
> Take a look at the source code to gdbserver. Andreas, now I remember
> why I enabled thread_db support on a per-target basis - there are other
> support routines that have to be written.

> Yes, I have noticed that, too. I'm currently trying to get it working for
> m68k (plus support for PTRACE_GETREGS).

What routines should I add?

Also I've added set_solib_svr4_fetch_link_map_offsets (gdbarch,
svr4_ilp32_fetch_link_map_offsets) to m68klinux-tdep.c.
It fixed the problem with bad link_map_offsets.

Regards,
Vladimir.