From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12722 invoked by alias); 9 Sep 2013 18:32:23 -0000 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org Received: (qmail 12713 invoked by uid 89); 9 Sep 2013 18:32:23 -0000 Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 09 Sep 2013 18:32:23 +0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-5.1 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from int-mx11.intmail.prod.int.phx2.redhat.com (int-mx11.intmail.prod.int.phx2.redhat.com [10.5.11.24]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r89IWItL004061 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Mon, 9 Sep 2013 14:32:18 -0400 Received: from [10.3.113.144] (ovpn-113-144.phx2.redhat.com [10.3.113.144]) by int-mx11.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r89IWGg3023531; Mon, 9 Sep 2013 14:32:16 -0400 Message-ID: <522E1430.60809@redhat.com> Date: Mon, 09 Sep 2013 18:32:00 -0000 From: Josh Stone User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 MIME-Version: 1.0 To: Mark Wielaard CC: Martin Martin , "Frank Ch. Eigler" , "Yichun Zhang (agentzh)" , systemtap@sourceware.org Subject: Re: How do I trap the return of a function in a user space process? References: <20130909181333.GA10261@toonder.wildebeest.org> In-Reply-To: <20130909181333.GA10261@toonder.wildebeest.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2013-q3/txt/msg00283.txt.bz2 On 09/09/2013 11:13 AM, Mark Wielaard wrote: > The problem is that clang generates both the foo declaration TAG and > the actual foo subprogram TAG under the namespace and class_type TAG. FWIW, on my system (with clang-3.3-0.6.rc3.fc19.x86_64) I get the second subprogram within just the namespace, not the class. Don't know if yours is different, or maybe you just misread the indentation. It would be not quite so ugly if dwarf_getfuncs only had to descend into namespace DIEs. BTW, there is a similar problem with GCC nested functions, e.g. stap can't see the deepen() functions in stap's own loc2c.c. Iterating namespaces wouldn't help here, not even adding class/struct, as these DIEs are nested within other functions.