[sisyphus] C++ & gdb

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Сен 24 19:32:27 MSD 2002


On Tue, 24 Sep 2002 18:17:42 +0400
"Dmitry V. Levin" <ldv на altlinux.org> wrote:

> On Tue, Sep 24, 2002 at 06:00:41PM +0400, Sergey Vlasov wrote:
> > Я, кажется, понял, в чем дело. В gdb поддержка потоков теперь сделана
> > через libthread_db.so.1 (linuxthreads_db в glibc), а там в коде можно
> > обнаружить, например, следующее:
> > 
> >   /* Get the global event mask.  This is one of the variables which
> >      are new in the thread library to enable debugging.  If it is
> >      not available we cannot debug.  */
> >   if (ps_pglobal_lookup (ps, LIBPTHREAD_SO,
> > 			 "__pthread_threads_events", &addr) != PS_OK)
> >     return TD_NOLIBTHREAD;
> > 
> > Символ __pthread_threads_events встречается в libpthread.so.0 только в
> > отладочной информации - он не экспортируется (и правильно - программам,
> > кроме отладчика, нечего делать в этих внутренностях). Есть еще несколько
> > аналогичных символов. Поэтому после отрезания отладочной информации
> > libthread_db.so.1 просто не видит потоков.
> > 
> > В сборке glibc-2.2.5-alt12 (Master updates) /lib/libpthread.so.0
> > содержит отладочную информацию, поэтому там эта проблема не возникает
> > (если только не добавить к нему glibc-core-i686 из Сизифа - там
> > /lib/i686/libpthread.so.0 обрезанный).
> 
> Ok, будем документировать это как feature?
> Или следует что-то сделать с /lib/libpthread.so.0?

А что с ним можно сделать? Разве что не делать strip. Экспортировать так
просто не получится - pthread_keys вообще static, да и имя неподходящее,
корежить внутренности glibc лишний раз... бррр... Кстати, в glibc-2.3
все так же?

Но сделать что-то надо - иначе, например, нельзя будет отловить ошибки,
проявляющиеся только с /lib/i686/libpthread.so.0 (и там тоже надо
отключить strip).
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20020924/59fe27bb/attachment-0011.bin>


Подробная информация о списке рассылки Sisyphus