From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29269 invoked by alias); 19 Sep 2013 15:00:27 -0000 Mailing-List: contact glibc-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: glibc-bugs-owner@sourceware.org Received: (qmail 29226 invoked by uid 48); 19 Sep 2013 15:00:24 -0000 From: "gbenson at redhat dot com" To: glibc-bugs@sourceware.org Subject: [Bug dynamic-link/15971] New: No interface for debugger access to libraries loaded with dlmopen Date: Thu, 19 Sep 2013 15:00:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: glibc X-Bugzilla-Component: dynamic-link X-Bugzilla-Version: unspecified X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: gbenson at redhat dot com X-Bugzilla-Status: NEW X-Bugzilla-Priority: P2 X-Bugzilla-Assigned-To: unassigned at sourceware dot org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://sourceware.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2013-09/txt/msg00123.txt.bz2 https://sourceware.org/bugzilla/show_bug.cgi?id=15971 Bug ID: 15971 Summary: No interface for debugger access to libraries loaded with dlmopen Product: glibc Version: unspecified Status: NEW Severity: normal Priority: P2 Component: dynamic-link Assignee: unassigned at sourceware dot org Reporter: gbenson at redhat dot com glibc has no interface for debuggers to access libraries loaded using dlmopen (LM_ID_NEWLM). This issue was originally filed as GDB bug 11839. The current rtld-debugger interface is described in the file elf/rtld-debugger-interface.txt under the "Standard debugger interface" heading. This interface only provides access to the first link map (LM_ID_BASE). This interface is not obviously extendable for the reasons described here: http://gbenson.net/?p=407. The probes-based rtld-debugger interface allows debuggers to see libraries loaded using dlmopen as they appear. This is enough to debug applications started in the debugger, but not enough to attach to a running process or to debug using a core file. There was some discussion of this subject on the libc-alpha mailing list between November 2012 and January 2013. The archives are not easily navigable, but the various messages can be found here: https://sourceware.org/ml/libc-alpha/2012-11/subjects.html#00656 https://sourceware.org/ml/libc-alpha/2012-12/subjects.html#00078 https://sourceware.org/ml/libc-alpha/2013-01/subjects.html#00358 I don't know in detail what the interface should look like, but some points: 1) A Solaris-style librtld_db.so would be undesirable as it would suffer much the same issues as libthread_db.so. 2) The interface must be usable by gdbserver, so it must be fairly lightweight. An interface that required eg a Python interpreter would exclude users running gdbserver in constrained environments. 3) There are people using GDB to debug applications with 5,000 shared libraries and more, so performance is an issue. 4) The interface should work without debugging symbols to be useful for tools such as ABRT. -- You are receiving this mail because: You are on the CC list for the bug.