Bug 4069

Summary: gdb requires _dl_debug_state symbol in /lib/ld-linux.so.2
Product: Sisyphus Reporter: Sergey Vlasov <vsu>
Component: glibc-coreAssignee: placeholder <placeholder>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: major    
Priority: P2 CC: glebfm, ldv, placeholder
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 3459    

Description Sergey Vlasov 2004-05-01 20:50:12 MSD
После обновления до glibc-2.3.3.200404240000-alt1 при попытке использования gdb
для отладки любой программы выдаётся следующее предупреждение:

warning: Unable to find dynamic linker breakpoint function.
GDB will be unable to debug shared library initializers
and track explicitly loaded dynamic code.

gdb ищет в /lib/ld-linux.so.2 символ _dl_debug_state, но в новой glibc он
перестал экспортироваться из ld-linux.so.2 и доступен только в таблице символов
для отладки; поскольку отладочная информация из /lib/ld-linux.so.2 убрана,
символ не обнаруживается.

Аналогичная ситуация уже была с /lib/libpthread.so.0; необходимо либо
восстановить экспорт, либо оставлять в /lib/ld-linux.so.2 отладочные символы
хотя бы в минимальном объёме.
Comment 1 Dmitry V. Levin 2004-05-03 00:24:36 MSD
Fixed in glibc-core-2.3.3.200404240000-alt4

$ readelf -s /lib/ld-2.2.6.so |fgrep _dl_debug_state
    35: 0000a090     5 FUNC    GLOBAL DEFAULT    9 _dl_debug_state@@GLIBC_2.0

$ readelf -s /lib/ld-2.3.3.so |fgrep _dl_debug_state
   245: 0000a5a0     5 FUNC    LOCAL  HIDDEN    9 _dl_debug_state