Bug 487212
Summary: | libthread_db does not work (error TD_TLSDEFER) | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jan Kratochvil <jan.kratochvil> | ||||
Component: | glibc | Assignee: | Jakub Jelinek <jakub> | ||||
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | rawhide | CC: | jakub, mcepl, mcepl, roland, tromey, zyta2002 | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2009-03-03 10:10:31 UTC | Type: | --- | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | |||||||
Bug Blocks: | 446452 | ||||||
Attachments: |
|
Description
Jan Kratochvil
2009-02-24 19:29:32 UTC
Created attachment 333164 [details]
objdump output of libpthread.a
Saw this too, the problem is that in glibc/nptl/init.c
there's a 'static boolean nptl_initial_report_events'
that's used by thread_db to detect if threads have
been started already.
This boolean is optimized away by gcc/ld
where gdb later actively tries to find it.
Solution: remove 'static' here.
Cheers,
Ronald.
Should be fixed in glibc-2.9.90-8.1, building now. (Fixes are upstream, Jakub's next rebase will pull them in more properly too.) But note that thread_db is really only needed nowadays for two things: user-visible thread IDs (pthread_t), and TLS. So I would hope that when thread_db fails, gdb can be robust enough to keep working happily and just not have pthread_t's to display (can display Linux TIDs instead) and can't do TLS variables. |