[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